diff options
Diffstat (limited to 'core/uclibc')
-rw-r--r-- | core/uclibc/libpthreads-no-omit-framepointer.patch | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/core/uclibc/libpthreads-no-omit-framepointer.patch b/core/uclibc/libpthreads-no-omit-framepointer.patch new file mode 100644 index 00000000000..3fe258ca6aa --- /dev/null +++ b/core/uclibc/libpthreads-no-omit-framepointer.patch @@ -0,0 +1,22 @@ +--- uClibc-0.9.30/libpthread/linuxthreads.old/Makefile.in.orig Thu Nov 13 09:23:12 2008 ++++ uClibc-0.9.30/libpthread/linuxthreads.old/Makefile.in Thu Nov 13 09:25:02 2008 +@@ -59,6 +59,19 @@ + libc-static-y += $(libpthread_OUT)/libc_pthread_init.o + libc-shared-y += $(libpthread_libc_OBJ:.o=.oS) + ++ifeq ($(TARGET_ARCH),i386) ++# Most files must not be compiled without frame pointer since we need ++# the frame base address which is stored in %ebp unless the frame pointer ++# is optimized out. ++CFLAGS-cancel.c += -fno-omit-frame-pointer -mpreferred-stack-boundary=4 ++CFLAGS-condvar.c += -fno-omit-frame-pointer ++CFLAGS-join.c += -fno-omit-frame-pointer ++CFLAGS-manager.c += -fno-omit-frame-pointer -mpreferred-stack-boundary=4 ++CFLAGS-pthread.c += -fno-omit-frame-pointer -mpreferred-stack-boundary=4 ++CFLAGS-ptlongjmp.c += -fno-omit-frame-pointer ++CFLAGS-semaphore.c += -fno-omit-frame-pointer ++endif ++ + libpthread-static-y += $(patsubst $(libpthread_DIR)/%.c,$(libpthread_OUT)/%.o,$(libpthread_SPEC_SRC)) + libpthread-shared-y += $(patsubst $(libpthread_DIR)/%.c,$(libpthread_OUT)/%.oS,$(libpthread_SPEC_SRC)) + |