[uClibc] noexecstack marking of files

Peter S. Mazinger ps.m at gmx.net
Tue Jul 6 14:02:34 UTC 2004


Hello!

This patch adds the .note.GNU-stack section to all objects, that are 
coming from assembler code, so that each binary built against uclibc gets 
proper stack marking. Newer binutils/gcc support this, only the 
dynamic linker misses the support for it in uclibc. (This patch showed me, 
that the crt files are not used from ./lib, mentioned in an earlier mail.
(build uclibc and check readelf -e ldd | grep STACK, it is RWE, not RW. If 
then uclibc is built again, the marking will be RW.

Peter

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2

____________________________________________________________________
Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a FreeStarttol.
Probald ki most! http://www.freestart.hu
-------------- next part --------------
--- uClibc-0.9.26/ldso/ldso/Makefile.mps	Mon Jul  5 16:03:07 2004
+++ uClibc-0.9.26/ldso/ldso/Makefile	Mon Jul  5 17:45:53 2004
@@ -89,7 +89,7 @@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(AOBJS): %.o : %.S
-	$(CC) $(XXFLAGS) -I../libdl -c $< -o $@
+	$(CC) $(XXFLAGS) $(ASFLAGS) -I../libdl -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 ldso.o: $(CSRC)
--- uClibc-0.9.26/libc/string/arm/Makefile.mps	Mon Jul  5 16:59:30 2004
+++ uClibc-0.9.26/libc/string/arm/Makefile	Mon Jul  5 17:50:33 2004
@@ -18,6 +18,7 @@
 
 TOPDIR=../../../
 include $(TOPDIR)Rules.mak
+ASFLAGS+=$(CFLAGS)
 
 SSRC= _memcpy.S bcopy.S bzero.S memcmp.S memcpy.S memmove.S memset.S \
 	strcmp.S strlen.S strncmp.S
@@ -31,7 +32,7 @@
 	$(AR) $(ARFLAGS) $(LIBC) $(SOBJS)
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 clean:
--- uClibc-0.9.26/libc/string/sh64/Makefile.mps	Mon Jul  5 17:00:39 2004
+++ uClibc-0.9.26/libc/string/sh64/Makefile	Mon Jul  5 17:49:59 2004
@@ -18,6 +18,7 @@
 
 TOPDIR=../../../
 include $(TOPDIR)Rules.mak
+ASFLAGS+=$(CFLAGS)
 
 SSRC= memcpy.S memset.S strcpy.S strlen.S
 SOBJS=$(patsubst %.S,%.o, $(SSRC))
@@ -30,7 +31,7 @@
 	$(AR) $(ARFLAGS) $(LIBC) $(SOBJS)
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 clean:
--- uClibc-0.9.26/libc/string/frv/Makefile.mps	Mon Jul  5 17:01:19 2004
+++ uClibc-0.9.26/libc/string/frv/Makefile	Mon Jul  5 17:49:41 2004
@@ -18,6 +18,7 @@
 
 TOPDIR=../../../
 include $(TOPDIR)Rules.mak
+ASFLAGS+=$(CFLAGS)
 
 SSRC=memcpy.S memset.S
 SOBJS=$(patsubst %.S,%.o, $(SSRC))
@@ -31,7 +32,7 @@
 	$(AR) $(ARFLAGS) $(LIBC) $(OBJS)
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 clean:
--- uClibc-0.9.26/libc/sysdeps/linux/alpha/Makefile.mps	Mon Jul  5 17:07:38 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/alpha/Makefile	Mon Jul  5 17:40:06 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 CRT0_SRC = crt0.S
 CRT0_OBJ = crt0.o crt1.o
@@ -42,11 +42,11 @@
 	cp $(CRT0_OBJ) $(TOPDIR)lib/
 
 $(CRT0_OBJ): $(CRT0_SRC)
-	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+	$(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -55,14 +55,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/arm/Makefile.mps	Mon Jul  5 17:13:52 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/arm/Makefile	Mon Jul  5 17:43:31 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 CRT0_SRC = crt0.S
 CRT0_OBJ = crt0.o crt1.o gcrt1.o
@@ -43,11 +43,11 @@
 	cp $(CRT0_OBJ) $(TOPDIR)lib/
 
 $(CRT0_OBJ): $(CRT0_SRC)
-	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+	$(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -62,14 +62,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/cris/Makefile.mps	Mon Jul  5 17:15:14 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/cris/Makefile	Mon Jul  5 17:40:30 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 CRT0_SRC = crt0.c
 CRT0_OBJ = crt0.o crt1.o
@@ -48,7 +48,7 @@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -57,14 +57,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/e1/Makefile.mps	Mon Jul  5 17:21:30 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/e1/Makefile	Mon Jul  5 17:40:42 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 #FIXME -- this arch should include its own crti.S and crtn.S
 UCLIBC_CTOR_DTOR=n
@@ -47,11 +47,11 @@
 	cp $(CRT0_OBJ) $(TOPDIR)lib/$(CRT0_OBJ)
 
 $(CRT0_OBJ): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -60,14 +60,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/h8300/Makefile.mps	Mon Jul  5 17:27:53 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/h8300/Makefile	Mon Jul  5 17:41:17 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 #FIXME -- this arch should include its own crti.S and crtn.S
 UCLIBC_CTOR_DTOR=n
@@ -44,11 +44,11 @@
 	cp $(CRT0_OBJ) $(TOPDIR)lib/
 
 $(CRT0_OBJ): $(CRT0_SRC)
-	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+	$(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -57,14 +57,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/i386/Makefile.mps	Mon Jul  5 17:02:54 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/i386/Makefile	Mon Jul  5 17:41:33 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 CRT0_SRC = crt0.S
 CRT0_OBJ = crt0.o crt1.o gcrt1.o
@@ -56,11 +56,11 @@
 endif
 
 $(CRT0_OBJ): $(CRT0_SRC)
-	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+	$(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -75,14 +75,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/i960/Makefile.mps	Mon Jul  5 17:30:59 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/i960/Makefile	Mon Jul  5 17:41:45 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 #FIXME -- this arch should include its own crti.S and crtn.S
 UCLIBC_CTOR_DTOR=n
@@ -44,11 +44,11 @@
 	cp $(CRT0_OBJ) $(TOPDIR)lib/
 
 $(CRT0_OBJ): $(CRT0_SRC)
-	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+	$(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -57,14 +57,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/m68k/Makefile.mps	Mon Jul  5 17:32:15 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/m68k/Makefile	Mon Jul  5 17:42:03 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 # If you're looking for vfork(), it is defined in include/unistd.h
 
@@ -48,11 +48,15 @@
 	cp $(CRT0_OBJ) $(TOPDIR)lib/
 
 $(CRT0_OBJ): $(CRT0_SRC)
+ifeq ($(ARCH_HAS_MMU),y)
 	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+else
+	$(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
+endif
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -61,14 +65,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/mips/Makefile.mps	Mon Jul  5 17:35:31 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/mips/Makefile	Mon Jul  5 17:42:14 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 CRT0_SRC = crt0.S
 CRT0_OBJ = crt0.o crt1.o
@@ -42,11 +42,11 @@
 	cp $(CRT0_OBJ) $(TOPDIR)lib/
 
 $(CRT0_OBJ): $(CRT0_SRC)
-	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+	$(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -56,14 +56,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/powerpc/Makefile.mps	Mon Jul  5 17:36:24 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/powerpc/Makefile	Mon Jul  5 17:42:27 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 CRT0_SRC = crt0.S
 CRT0_OBJ = crt0.o crt1.o gcrt1.o
@@ -46,11 +46,11 @@
 	cp $(CRT0_OBJ) $(TOPDIR)lib/
 
 $(CRT0_OBJ): $(CRT0_SRC)
-	$(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+	$(CC) $(ASFLAGS) -DL_$* $< -c -o $*.o
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -66,14 +66,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/sparc/Makefile.mps	Mon Jul  5 17:37:28 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/sparc/Makefile	Mon Jul  5 17:42:42 2004
@@ -18,7 +18,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS+=$(CFLAGS)
 
 CRT0_SRC = crt0.c
 CRT0_OBJ = crt0.o crt1.o
@@ -46,7 +46,7 @@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
@@ -55,14 +55,14 @@
 
 ifeq ($(strip $(UCLIBC_CTOR_DTOR)),y)
 crti.o: crti.S
-	$(CC) $(CFLAGS) -c crti.S -o crti.o
+	$(CC) $(ASFLAGS) -c crti.S -o crti.o
 
 $(TOPDIR)lib/crti.o: crti.o
 	$(INSTALL) -d $(TOPDIR)lib/
 	cp crti.o $(TOPDIR)lib/
 
 crtn.o: crtn.S
-	$(CC) $(CFLAGS) -c crtn.S -o crtn.o
+	$(CC) $(ASFLAGS) -c crtn.S -o crtn.o
 
 $(TOPDIR)lib/crtn.o: crtn.o
 	$(INSTALL) -d $(TOPDIR)lib/
--- uClibc-0.9.26/libc/sysdeps/linux/frv/Makefile.mps	Mon Jul  5 17:23:45 2004
+++ uClibc-0.9.26/libc/sysdeps/linux/frv/Makefile	Mon Jul  5 17:40:57 2004
@@ -19,7 +19,7 @@
 
 TOPDIR=../../../../
 include $(TOPDIR)Rules.mak
-ASFLAGS=$(CFLAGS)
+ASFLAGS=+$(CFLAGS)
 
 CRT0_SRC = crt0.S
 CRT0_OBJ = crt0.o crt1.o # gcrt1.o
@@ -49,25 +49,25 @@
 	cp $(CRT0_OBJ) $(SCRT0_OBJ) $(CTOR_TARGETS) $(TOPDIR)lib/
 
 $(CRT0_OBJ): $(CRT0_SRC) crtreloc.o
-	$(CC) $(CFLAGS) -DL_$* -r -nostdlib $< crtreloc.o -o $*.o
+	$(CC) $(ASFLAGS) -DL_$* -r -nostdlib $< crtreloc.o -o $*.o
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 crtreloc.o: crtreloc.c
 	$(CC) $(CFLAGS) -c $< -o $@
 
 $(SCRT0_OBJ): $(CRT0_SRC) Scrtreloc.o
-	$(CC) $(CFLAGS) -fPIE -DL_$* -r -nostdlib $< Scrtreloc.o -o $*.o
+	$(CC) $(ASFLAGS) -fPIE -DL_$* -r -nostdlib $< Scrtreloc.o -o $*.o
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 Scrtreloc.o: crtreloc.c
 	$(CC) $(CFLAGS) -fPIE -c $< -o $@
 
 $(CTOR_TARGETS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(SOBJS): %.o : %.S
-	$(CC) $(CFLAGS) -c $< -o $@
+	$(CC) $(ASFLAGS) -c $< -o $@
 	$(STRIPTOOL) -x -R .note -R .comment $*.o
 
 $(COBJS): %.o : %.c
--- uClibc-0.9.26/Rules.mak.mps	Mon Jul  5 16:50:07 2004
+++ uClibc-0.9.26/Rules.mak	Mon Jul  5 17:39:43 2004
@@ -79,6 +79,9 @@
 check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \
 	then echo "$(1)"; else echo "$(2)"; fi)
 
+check_as_noexecstack=$(shell if $(LD) --help | grep -q "z noexecstack"; then echo "-Wa,--noexecstack"; fi)
+ASFLAGS=$(check_as_noexecstack)
+
 # Make certain these contain a final "/", but no "//"s.
 TARGET_ARCH:=$(strip $(subst ",, $(strip $(TARGET_ARCH))))
 RUNTIME_PREFIX:=$(strip $(subst //,/, $(subst ,/, $(subst ",, $(strip $(RUNTIME_PREFIX))))))


More information about the uClibc mailing list