Unit-at-a-time breaks siglist/errlist compat symbols

Andreas Schwab schwab@suse.de
Mon Dec 29 13:32:00 GMT 2003


-funit-at-a-time reorders the assembler output of siglist.c/errlist.c,
so that the aliases are defined before the actual data.  This breaks
the compat symbols, because the assembler must defer resolving them
until it writes the output, and overwrites st_size when they are
finally resolved.

Andreas.

2003-12-29  Andreas Schwab  <schwab@suse.de>

	* stdio-common/Makefile (CFLAGS-errlist.c, CFLAGS-siglist.c): Add
	$(fno_unit_at_a_time) to avoid reordering assembler output.

--- stdio-common/Makefile.~1.87.~	2003-11-28 22:26:36.000000000 +0100
+++ stdio-common/Makefile	2003-12-29 14:19:51.667858840 +0100
@@ -87,6 +87,8 @@ CFLAGS-tempname.c = -fexceptions
 CFLAGS-psignal.c = -fexceptions
 CFLAGS-vprintf.c = -fexceptions
 CFLAGS-cuserid.c = -fexceptions
+CFLAGS-errlist.c = $(fno-unit-at-a-time)
+CFLAGS-siglist.c = $(fno-unit-at-a-time)
 
 tst-sscanf-ENV = LOCPATH=$(common-objpfx)localedata
 tst-swprintf-ENV = LOCPATH=$(common-objpfx)localedata

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



More information about the Libc-hacker mailing list