Author: dim
Date: Fri Apr 20 21:00:39 2012
New Revision: 234502
URL: http://svn.freebsd.org/changeset/base/234502

Log:
  After r217375, some startup objects under lib/csu are built in a special
  way: first they are compiled to assembly, then some sed'ing is done on
  the assembly, and lastly the assembly is compiled to an object file.
  
  This last step is done using ${CC}, and not ${AS}, because when the
  compiler is clang, it outputs directives that are too advanced for our
  old gas.  So we use clang's integrated assembler instead.  (When the
  compiler is gcc, it just calls gas, and nothing is different, except one
  extra fork.)
  
  However, in the .s to .o rules in lib/csu/$ARCH/Makefile, I still passed
  CFLAGS to the compiler, instead of ACFLAGS, which are specifically for
  compiling .s files.
  
  In case you are using '-g' for debug info anywhere in your CFLAGS, it
  causes the .s files to already contain debug information in the assembly
  itself.  In the next step, the .s files are also compiled using '-g',
  and if the compiler is clang, it complains: "error: input can't have
  .file dwarf directives when -g is used to generate dwarf debug info for
  assembly code".
  
  Fix this by using ${ACFLAGS} for compiling the .s files instead.
  
  Reported by:  jasone
  MFC after:    1 week

Modified:
  head/lib/csu/amd64/Makefile
  head/lib/csu/arm/Makefile
  head/lib/csu/i386-elf/Makefile
  head/lib/csu/ia64/Makefile
  head/lib/csu/mips/Makefile
  head/lib/csu/powerpc/Makefile
  head/lib/csu/powerpc64/Makefile

Modified: head/lib/csu/amd64/Makefile
==============================================================================
--- head/lib/csu/amd64/Makefile Fri Apr 20 20:27:31 2012        (r234501)
+++ head/lib/csu/amd64/Makefile Fri Apr 20 21:00:39 2012        (r234502)
@@ -22,21 +22,21 @@ crt1.s: crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 crt1.o: crt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} crt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
 
 gcrt1.s: crt1.c
        ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 gcrt1.o: gcrt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} gcrt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
 
 Scrt1.s: crt1.c
        ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 Scrt1.o: Scrt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} Scrt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
 
 realinstall:
        ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \

Modified: head/lib/csu/arm/Makefile
==============================================================================
--- head/lib/csu/arm/Makefile   Fri Apr 20 20:27:31 2012        (r234501)
+++ head/lib/csu/arm/Makefile   Fri Apr 20 21:00:39 2012        (r234502)
@@ -21,21 +21,21 @@ crt1.s: crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 crt1.o: crt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} crt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
 
 gcrt1.s: crt1.c
        ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 gcrt1.o: gcrt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} gcrt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
 
 Scrt1.s: crt1.c
        ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 Scrt1.o: Scrt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} Scrt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
 
 realinstall:
        ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \

Modified: head/lib/csu/i386-elf/Makefile
==============================================================================
--- head/lib/csu/i386-elf/Makefile      Fri Apr 20 20:27:31 2012        
(r234501)
+++ head/lib/csu/i386-elf/Makefile      Fri Apr 20 21:00:39 2012        
(r234502)
@@ -21,7 +21,7 @@ gcrt1_c.s: crt1_c.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 gcrt1_c.o: gcrt1_c.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} gcrt1_c.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1_c.s
 
 gcrt1.o: gcrt1_c.o crt1_s.o
        ${LD} ${LDFLAGS} -o gcrt1.o -r crt1_s.o gcrt1_c.o
@@ -31,7 +31,7 @@ crt1_c.s: crt1_c.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 crt1_c.o: crt1_c.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} crt1_c.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1_c.s
 
 crt1.o:        crt1_c.o crt1_s.o
        ${LD} ${LDFLAGS} -o crt1.o -r crt1_s.o crt1_c.o
@@ -42,7 +42,7 @@ Scrt1_c.s: crt1_c.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 Scrt1_c.o: Scrt1_c.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} Scrt1_c.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1_c.s
 
 Scrt1.o: Scrt1_c.o crt1_s.o
        ${LD} ${LDFLAGS} -o Scrt1.o -r crt1_s.o Scrt1_c.o

Modified: head/lib/csu/ia64/Makefile
==============================================================================
--- head/lib/csu/ia64/Makefile  Fri Apr 20 20:27:31 2012        (r234501)
+++ head/lib/csu/ia64/Makefile  Fri Apr 20 21:00:39 2012        (r234502)
@@ -24,7 +24,7 @@ crtbrand.s: crtbrand.c
        sed -i "" -e '/\.note\.ABI-tag/s/progbits/note/' ${.TARGET}
 
 crtbrand.o: crtbrand.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} crtbrand.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} crtbrand.s
 
 crt1.o: crt1_.o crtbrand.o
        ${LD} ${LDFLAGS} -r -o ${.TARGET} crt1_.o crtbrand.o
@@ -37,7 +37,7 @@ gcrtbrand.s: crtbrand.c
        sed -i "" -e '/\.note\.ABI-tag/s/progbits/note/' ${.TARGET}
 
 gcrtbrand.o: gcrtbrand.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} gcrtbrand.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrtbrand.s
 
 gcrt1.o: gcrt1_.o gcrtbrand.o
        ${LD} ${LDFLAGS} -r -o ${.TARGET} ${.ALLSRC}
@@ -50,7 +50,7 @@ Scrtbrand.s: crtbrand.c
        sed -i "" -e '/\.note\.ABI-tag/s/progbits/note/' ${.TARGET}
 
 Scrtbrand.o: Scrtbrand.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} Scrtbrand.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrtbrand.s
 
 Scrt1.o: Scrt1_.o Scrtbrand.o
        ${LD} ${LDFLAGS} -r -o ${.TARGET} ${.ALLSRC}

Modified: head/lib/csu/mips/Makefile
==============================================================================
--- head/lib/csu/mips/Makefile  Fri Apr 20 20:27:31 2012        (r234501)
+++ head/lib/csu/mips/Makefile  Fri Apr 20 21:00:39 2012        (r234502)
@@ -21,21 +21,21 @@ crt1.s: crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 crt1.o: crt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} crt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
 
 gcrt1.s: crt1.c
        ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 gcrt1.o: gcrt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} gcrt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
 
 Scrt1.s: crt1.c
        ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 Scrt1.o: Scrt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} Scrt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
 
 realinstall:
        ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \

Modified: head/lib/csu/powerpc/Makefile
==============================================================================
--- head/lib/csu/powerpc/Makefile       Fri Apr 20 20:27:31 2012        
(r234501)
+++ head/lib/csu/powerpc/Makefile       Fri Apr 20 21:00:39 2012        
(r234502)
@@ -22,21 +22,21 @@ crt1.s: crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 crt1.o: crt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} crt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
 
 gcrt1.s: crt1.c
        ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 gcrt1.o: gcrt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} gcrt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
 
 Scrt1.s: crt1.c
        ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 Scrt1.o: Scrt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} Scrt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
 
 realinstall:
        ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \

Modified: head/lib/csu/powerpc64/Makefile
==============================================================================
--- head/lib/csu/powerpc64/Makefile     Fri Apr 20 20:27:31 2012        
(r234501)
+++ head/lib/csu/powerpc64/Makefile     Fri Apr 20 21:00:39 2012        
(r234502)
@@ -22,21 +22,21 @@ crt1.s: crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 crt1.o: crt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} crt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
 
 gcrt1.s: crt1.c
        ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 gcrt1.o: gcrt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} gcrt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
 
 Scrt1.s: crt1.c
        ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c
        sed ${SED_FIX_NOTE} ${.TARGET}
 
 Scrt1.o: Scrt1.s
-       ${CC} ${CFLAGS} -c -o ${.TARGET} Scrt1.s
+       ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
 
 realinstall:
        ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to