[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