Always compile the brand and ignore init ELF notes standalone.

Reviewed by:	kib
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D25374
This commit is contained in:
jhb 2020-06-24 17:54:24 +00:00
parent 226258f847
commit 8b713bf73c
8 changed files with 31 additions and 35 deletions

View File

@ -18,20 +18,21 @@ FILESDIR= ${LIBDIR}
.undef LIBRARIES_ONLY
CLEANFILES= ${OBJS} crt1_c.o crt1_s.o gcrt1_c.o Scrt1_c.o
CLEANFILES+= crtbrand.o ignore_init_note.o
gcrt1_c.o: crt1_c.c
${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
gcrt1.o: gcrt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o gcrt1.o -r crt1_s.o gcrt1_c.o
gcrt1.o: gcrt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
crt1.o: crt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o crt1.o -r crt1_s.o crt1_c.o
crt1.o: crt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
Scrt1_c.o: crt1_c.c
${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
Scrt1.o: Scrt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o Scrt1.o -r crt1_s.o Scrt1_c.o
Scrt1.o: Scrt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
.include <bsd.lib.mk>

View File

@ -32,9 +32,6 @@
#include <machine/asm.h>
__FBSDID("$FreeBSD$");
#include "crtbrand.S"
#include "ignore_init_note.S"
ENTRY(_start)
mov x3, x2 /* cleanup */
add x1, x0, #8 /* load argv */

View File

@ -18,23 +18,24 @@ FILESDIR= ${LIBDIR}
.undef LIBRARIES_ONLY
CLEANFILES= ${OBJS} crt1_c.o crt1_s.o gcrt1_c.o Scrt1_c.o
CLEANFILES+= crtbrand.o ignore_init_note.o
crt1_c.o: crt1_c.c
${CC} ${CFLAGS} ${STATIC_CFLAGS} -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
crt1.o: crt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o crt1.o -r crt1_s.o crt1_c.o
crt1.o: crt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
gcrt1_c.o: crt1_c.c
${CC} ${CFLAGS} ${STATIC_CFLAGS} -DGCRT -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
gcrt1.o: gcrt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o gcrt1.o -r crt1_s.o gcrt1_c.o
gcrt1.o: gcrt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
Scrt1_c.o: crt1_c.c
${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
Scrt1.o: Scrt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o Scrt1.o -r crt1_s.o Scrt1_c.o
Scrt1.o: Scrt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
.include <bsd.lib.mk>

View File

@ -44,8 +44,9 @@
#include <machine/asm.h>
__FBSDID("$FreeBSD$");
#include "crtbrand.S"
#include "ignore_init_note.S"
#include <sys/param.h>
#include <sys/elf_common.h>
#include "notes.h"
ENTRY(_start)
mov r5, r2 /* cleanup */

View File

@ -18,22 +18,23 @@ FILESDIR= ${LIBDIR}
.undef LIBRARIES_ONLY
CLEANFILES= ${OBJS} crt1_c.o crt1_s.o gcrt1_c.o Scrt1_c.o
CLEANFILES+= crtbrand.o ignore_init_note.o
gcrt1_c.o: crt1_c.c
${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
gcrt1.o: gcrt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o gcrt1.o -r crt1_s.o gcrt1_c.o
gcrt1.o: gcrt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
crt1.o: crt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o crt1.o -r crt1_s.o crt1_c.o
crt1.o: crt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
${OBJCOPY} --localize-symbol _start1 crt1.o
Scrt1_c.o: crt1_c.c
${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
Scrt1.o: Scrt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o Scrt1.o -r crt1_s.o Scrt1_c.o
Scrt1.o: Scrt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
${OBJCOPY} --localize-symbol _start1 Scrt1.o
.include <bsd.lib.mk>

View File

@ -25,9 +25,6 @@
#include <machine/asm.h>
__FBSDID("$FreeBSD$");
#include "crtbrand.S"
#include "ignore_init_note.S"
.text
.align 4
.globl _start

View File

@ -18,20 +18,21 @@ FILESDIR= ${LIBDIR}
.undef LIBRARIES_ONLY
CLEANFILES= ${OBJS} crt1_c.o crt1_s.o gcrt1_c.o Scrt1_c.o
CLEANFILES+= crtbrand.o ignore_init_note.o
gcrt1_c.o: crt1_c.c
${CC} ${CFLAGS} -DGCRT -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
gcrt1.o: gcrt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o gcrt1.o -r crt1_s.o gcrt1_c.o
gcrt1.o: gcrt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
crt1.o: crt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o crt1.o -r crt1_s.o crt1_c.o
crt1.o: crt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
Scrt1_c.o: crt1_c.c
${CC} ${CFLAGS} -fPIC -DPIC -c -o ${.TARGET} ${.CURDIR}/crt1_c.c
Scrt1.o: Scrt1_c.o crt1_s.o
${LD} ${_LDFLAGS} -o Scrt1.o -r crt1_s.o Scrt1_c.o
Scrt1.o: Scrt1_c.o crt1_s.o crtbrand.o ignore_init_note.o
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC}
.include <bsd.lib.mk>

View File

@ -36,9 +36,6 @@
#include <machine/asm.h>
__FBSDID("$FreeBSD$");
#include "crtbrand.S"
#include "ignore_init_note.S"
ENTRY(_start)
mv a3, a2 # cleanup
addi a1, a0, 8 # get argv