This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

unit-at-a-time fixes


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

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]