fix incorrect application of visibility to Scrt1.o
authorRich Felker <dalias@aerifal.cx>
Tue, 26 May 2015 06:31:04 +0000 (02:31 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 26 May 2015 06:31:04 +0000 (02:31 -0400)
commit de2b67f8d41e08caa56bf6540277f6561edb647f attempted to avoid
having vis.h affect crt files, but the Makefile variable used,
CRT_LIBS, refers to the final output copies in the lib directory, not
the copies in the crt build directory, and thus the -DCRT was not
applied.

while unlikely to be noticed, this regression probably broke
production of PIE executables whose main functions are not in the
executable but rather a shared library.

Makefile

index 6559295e3f3e6e88e46d59ac5dd836509060d701..b9668b430a47168d29c497b5ffe3ffdd938fdccf 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -104,7 +104,7 @@ NOSSP_SRCS = $(wildcard crt/*.c) \
        src/ldso/dlstart.c src/ldso/dynlink.c
 $(NOSSP_SRCS:%.c=%.o) $(NOSSP_SRCS:%.c=%.lo): CFLAGS += $(CFLAGS_NOSSP)
 
-$(CRT_LIBS): CFLAGS += -DCRT
+$(CRT_LIBS:lib/%=crt/%): CFLAGS += -DCRT
 
 # This incantation ensures that changes to any subarch asm files will
 # force the corresponding object file to be rebuilt, even if the implicit