Author: jhb
Date: Thu Jul 16 21:58:43 2020
New Revision: 363263
URL: https://svnweb.freebsd.org/changeset/base/363263
Log:
Include ABI note tag in shared libraries.
Split the ELF feature note into a separate file that is linked into
*crt1.o the same as crtbrand.S was before. crtbrand.o is now linked
into crti.o on all platforms in addition to *crt1.o.
Reviewed by: kib
Sponsored by: DARPA
Differential Revision:https://reviews.freebsd.org/D25304
Added:
head/lib/csu/common/feature_note.S
- copied, changed from r363261, head/lib/csu/common/crtbrand.S
Modified:
head/lib/csu/Makefile.inc
head/lib/csu/common/crtbrand.S
Modified: head/lib/csu/Makefile.inc
==
--- head/lib/csu/Makefile.inc Thu Jul 16 21:30:46 2020(r363262)
+++ head/lib/csu/Makefile.inc Thu Jul 16 21:58:43 2020(r363263)
@@ -13,7 +13,7 @@ OBJS+=crtbegin.o crtbeginS.o crtbeginT.o
OBJS+= crtend.o crtendS.o
OBJS+= crti.o crtn.o
-CRT1OBJS+= crtbrand.o ignore_init_note.o
+CRT1OBJS+= crtbrand.o feature_note.o ignore_init_note.o
ACFLAGS+= -DLOCORE
@@ -33,6 +33,7 @@ FILESDIR= ${LIBDIR}
.undef LIBRARIES_ONLY
CLEANFILES+= ${OBJS} ${CRT1OBJS} crt1_c.o gcrt1_c.o Scrt1_c.o
+CLEANFILES+= crti_s.o
crt1.o:crt1_c.o ${CRT1OBJS}
${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o}
@@ -67,6 +68,12 @@ crtbegin.o crtend.o crtbeginT.o:
crtbeginS.o crtendS.o:
${CC} ${CFLAGS} -I${.CURDIR} ${CFLAGS_CRTS} -c -o ${.TARGET} \
${.ALLSRC:N*.h:[1]}
+
+crti_s.o: crti.S
+ ${CC} ${CFLAGS} ${ACFLAGS} -c ${.ALLSRC:M*.S} -o ${.TARGET}
+
+crti.o: crti_s.o crtbrand.o
+ ${LD} ${_LDFLAGS} -o ${.TARGET} -r ${.ALLSRC:M*.o}
.endif
Modified: head/lib/csu/common/crtbrand.S
==
--- head/lib/csu/common/crtbrand.S Thu Jul 16 21:30:46 2020
(r363262)
+++ head/lib/csu/common/crtbrand.S Thu Jul 16 21:58:43 2020
(r363263)
@@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$");
* for more information.
*/
- .section .note.tag,"a",%note
+ .section .note.tag,"aG",%note,.freebsd.noteG,comdat
.p2align2
.4byte 2f-1f
.4byte 4f-3f
@@ -46,14 +46,4 @@ __FBSDID("$FreeBSD$");
1: .asciz NOTE_FREEBSD_VENDOR
2: .p2align2
3: .4byte __FreeBSD_version
-4:
-
- .section .note.tag,"a",%note
- .p2align2
- .4byte 2f-1f
- .4byte 4f-3f
- .4byte NT_FREEBSD_FEATURE_CTL
-1: .asciz NOTE_FREEBSD_VENDOR
-2: .p2align2
-3: .4byte 0
4:
Copied and modified: head/lib/csu/common/feature_note.S (from r363261,
head/lib/csu/common/crtbrand.S)
==
--- head/lib/csu/common/crtbrand.S Thu Jul 16 20:44:04 2020
(r363261, copy source)
+++ head/lib/csu/common/feature_note.S Thu Jul 16 21:58:43 2020
(r363263)
@@ -28,25 +28,8 @@
#include
__FBSDID("$FreeBSD$");
-#include
#include
#include "notes.h"
-
-/*
- * Special ".note.tag" entry specifying the ABI version. See
- * http://www.netbsd.org/Documentation/kernel/elf-notes.html
- * for more information.
- */
-
- .section .note.tag,"a",%note
- .p2align2
- .4byte 2f-1f
- .4byte 4f-3f
- .4byte NT_FREEBSD_ABI_TAG
-1: .asciz NOTE_FREEBSD_VENDOR
-2: .p2align2
-3: .4byte __FreeBSD_version
-4:
.section .note.tag,"a",%note
.p2align2
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"