public inbox for gentoo-embedded@lists.gentoo.org
 help / color / mirror / Atom feed
* [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