svn commit: r363263 - in head/lib/csu: . common
John Baldwin
jhb at FreeBSD.org
Thu Jul 16 21:58:44 UTC 2020
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
.p2align 2
.4byte 2f-1f
.4byte 4f-3f
@@ -46,14 +46,4 @@ __FBSDID("$FreeBSD$");
1: .asciz NOTE_FREEBSD_VENDOR
2: .p2align 2
3: .4byte __FreeBSD_version
-4:
-
- .section .note.tag,"a",%note
- .p2align 2
- .4byte 2f-1f
- .4byte 4f-3f
- .4byte NT_FREEBSD_FEATURE_CTL
-1: .asciz NOTE_FREEBSD_VENDOR
-2: .p2align 2
-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 <machine/asm.h>
__FBSDID("$FreeBSD$");
-#include <sys/param.h>
#include <sys/elf_common.h>
#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
- .p2align 2
- .4byte 2f-1f
- .4byte 4f-3f
- .4byte NT_FREEBSD_ABI_TAG
-1: .asciz NOTE_FREEBSD_VENDOR
-2: .p2align 2
-3: .4byte __FreeBSD_version
-4:
.section .note.tag,"a",%note
.p2align 2
More information about the svn-src-all
mailing list