* [gentoo-embedded] [PATCH] uclibc-0.9.30 and broken gcc-3.4.6
@ 2008-11-13 12:05 Natanael Copa
0 siblings, 0 replies; only message in thread
From: Natanael Copa @ 2008-11-13 12:05 UTC (permalink / raw
To: gentoo-embedded
[-- Attachment #1: Type: text/plain, Size: 359 bytes --]
Hi,
After compiling uclibc with gcc-3.4.6 (current hardened compiler) any
program linked with -lpthread just segfaulted.
shows up that gcc first omits the framepointer then tries to access it.
To work around it, gcc-3.4.6 need to add -fno-omit-framepointer to
libpthreads.old/*
attatched patch will help you to build a working hardened uclibc-0.9.30.
-nc
[-- Attachment #2: pthreads-fno-omit-frame-pointer.patch --]
[-- Type: text/x-patch, Size: 773 bytes --]
--- uClibc-0.9.30.orig/libpthread/linuxthreads.old/Makefile.in Thu Nov 13 09:53:27 2008
+++ uClibc-0.9.30/libpthread/linuxthreads.old/Makefile.in Thu Nov 13 10:01:35 2008
@@ -59,6 +59,13 @@
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 += -fno-omit-frame-pointer -mpreferred-stack-boundary=4
+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))
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-11-13 12:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-13 12:05 [gentoo-embedded] [PATCH] uclibc-0.9.30 and broken gcc-3.4.6 Natanael Copa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox