Rework r234502 to include a modified CFLAGS along with ACFLAGS.
On most architectures crt objects are compiled in a multiple-step process so that sed can be run on the generated assembly. As the final step, the C compiler generates an object file from the modified assembly output. Currently this last step uses $CC with only $ACFLAGS. However, for other uses in the tree, $ACFLAGS is meant to include assembly-specific compiler flags that are in addition to $CFLAGS (see default .S.o rules bsd.suffixes.mk). In particular, external toolchains may require additional flags to select a non-default target which will be present in CFLAGS but not ACFLAGS. To support this while still mitigating the issue with CFLAGS described in r234502, include a modified CFLAGS that excludes "-g" when assembling the modified assembly files. Note that normally an assembler ($AS) is used to assemble .s flags to object files (see bsd.suffixes.mk). However, llvm-based toolchains do not currently have a stand-alone assembler. Reviewed by: imp Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D10085
This commit is contained in:
parent
2558567984
commit
5944f899a2
@ -27,20 +27,20 @@ crt1.s: crt1.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
crt1.o: crt1.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -28,20 +28,20 @@ crt1.s: crt1.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
crt1.o: crt1.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -28,20 +28,20 @@ crt1.s: crt1.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
crt1.o: crt1.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
|
||||
${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} crt1.s
|
||||
|
||||
gcrt1.s: crt1.c
|
||||
${CC} ${CFLAGS} ${STATIC_CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
gcrt1.o: gcrt1.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -27,7 +27,7 @@ gcrt1_c.s: crt1_c.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
gcrt1_c.o: gcrt1_c.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1_c.s
|
||||
${CC} ${CFLAGS:N-g} ${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
|
||||
@ -37,7 +37,7 @@ crt1_c.s: crt1_c.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
crt1_c.o: crt1_c.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} crt1_c.s
|
||||
${CC} ${CFLAGS:N-g} ${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
|
||||
@ -48,7 +48,7 @@ Scrt1_c.s: crt1_c.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
Scrt1_c.o: Scrt1_c.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1_c.s
|
||||
${CC} ${CFLAGS:N-g} ${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
|
||||
|
@ -27,20 +27,20 @@ crt1.s: crt1.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
crt1.o: crt1.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -27,20 +27,20 @@ crt1.s: crt1.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
crt1.o: crt1.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -28,20 +28,20 @@ crt1.s: crt1.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
crt1.o: crt1.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -27,20 +27,20 @@ crt1.s: crt1.c
|
||||
sed ${SED_FIX_NOTE} ${.TARGET}
|
||||
|
||||
crt1.o: crt1.s
|
||||
${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${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} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
Loading…
Reference in New Issue
Block a user