unit-at-a-time fixes
Andreas Jaeger
aj@suse.de
Sun Nov 30 19:43:00 GMT 2003
With GCC 3.4 and also the hammer-branch of GCC 3.3, unit-at-a-time
compilation is enabled and rearranges the output order of functions.
This is not desirable in some cases.
Here's the patch that we're currently using at SuSE. Ok to commit?
Andreas
2003-11-30 Andreas Jaeger <aj@suse.de>
* csu/Makefile (CFLAGS-initfini.s): Add -fno-unit-at-a-time.
* linuxthreads/sysdeps/unix/sysv/linux/x86_64/Makefile
(CFLAGS-pt-initfini.s): Likewise.
* locale/Makefile (CFLAGS-loadlocale.c): Likewise.
For linuxthreads:
* Makefile (CFLAGS-tst-cancel.c): Add -fno-unit-at-a-time.
(CFLAGS-pt-initfini.s): Likewise.
For nptl:
* Makefile (CFLAGS-pt-initfini.s): Add -fno-unit-at-a-time.
============================================================
Index: csu/Makefile
--- csu/Makefile 26 Jun 2003 07:27:39 -0000 1.70
+++ csu/Makefile 18 Jul 2003 05:27:14 -0000
@@ -104,7 +104,7 @@ omit-deps += $(crtstuff)
$(crtstuff:%=$(objpfx)%.o): %.o: %.S $(objpfx)defs.h
$(compile.S) -g0 $(ASFLAGS-.os) -o $@
-CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions
+CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions -fno-unit-at-a-time
vpath initfini.c $(full_config_sysdirs)
============================================================
Index: linuxthreads/sysdeps/unix/sysv/linux/x86_64/Makefile
--- linuxthreads/sysdeps/unix/sysv/linux/x86_64/Makefile 11 Apr 2003 23:34:02 -0000 1.5
+++ linuxthreads/sysdeps/unix/sysv/linux/x86_64/Makefile 18 Jul 2003 05:27:14 -0000
@@ -1,3 +1,3 @@
ifeq ($(subdir),linuxthreads)
-CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions -fno-asynchronous-unwind-tables
+CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions -fno-asynchronous-unwind-tables -fno-unit-at-a-time
endif
============================================================
Index: linuxthreads/Makefile
--- linuxthreads/Makefile 10 Jun 2003 02:19:43 -0000 1.77
+++ linuxthreads/Makefile 18 Jul 2003 05:27:14 -0000
@@ -66,7 +66,7 @@ LDFLAGS-pthread.so = $(nodelete-$(have-z
vpath %.c Examples
tst-cancel-ARGS = "$(objpfx)"
-CFLAGS-tst-cancel.c = -fno-inline -fno-inline-functions
+CFLAGS-tst-cancel.c = -fno-inline -fno-inline-functions -fno-unit-at-a-time
include ../Makeconfig
@@ -99,7 +99,7 @@ endif
extra-objs += $(crti-objs) $(crtn-objs)
omit-deps += crti crtn
-CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions
+CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions -fno-unit-at-a-time
endif
librt-tests = ex10 ex11
============================================================
Index: locale/Makefile
--- locale/Makefile 13 Jun 2003 20:42:48 -0000 1.71
+++ locale/Makefile 28 Jul 2003 10:45:07 -0000
@@ -100,6 +100,7 @@ locale-CPPFLAGS := -DLOCALE_PATH='$(loca
CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts
CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts
CFLAGS-charmap-dir.c = -Wno-write-strings
+CFLAGS-loadlocale.c = -fno-unit-at-a-time
# This makes sure -DNOT_IN_libc is passed for all these modules.
cpp-srcs-left := $(addsuffix .c,$(localedef-modules) $(localedef-aux) \
--- nptl/Makefile 6 Nov 2003 09:47:37 -0000 1.124
+++ nptl/Makefile 18 Nov 2003 20:30:23 -0000
@@ -312,7 +312,7 @@
extra-objs += $(crti-objs) $(crtn-objs)
omit-deps += crti crtn
-CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions
+CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions -fno-unit-at-a-time
endif
CFLAGS-flockfile.c = -D_IO_MTSAFE_IO
--- nptl/sysdeps/unix/sysv/linux/x86_64/Makefile 9 May 2003 07:29:09 -0000 1.3
+++ nptl/sysdeps/unix/sysv/linux/x86_64/Makefile 18 Nov 2003 20:30:23 -0000
@@ -1,3 +1,3 @@
ifeq ($(subdir),nptl)
-CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions -fno-asynchronous-unwind-tables
+CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions -fno-asynchronous-unwind-tables -fno-unit-at-a-time
endif
--
Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
SuSE Linux AG, Deutschherrnstr. 15-19, 90429 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-hacker/attachments/20031130/aa731912/attachment.sig>
More information about the Libc-hacker
mailing list