Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/libexec/ld.elf_so For earm, emit a MARCH note.



details:   https://anonhg.NetBSD.org/src/rev/0ca9d86210f7
branches:  trunk
changeset: 789843:0ca9d86210f7
user:      matt <matt%NetBSD.org@localhost>
date:      Tue Sep 10 16:35:10 2013 +0000

description:
For earm, emit a MARCH note.

diffstat:

 libexec/ld.elf_so/arch/arm/Makefile.inc |   4 +++-
 libexec/ld.elf_so/sysident.h            |  19 ++++++++++++++++++-
 2 files changed, 21 insertions(+), 2 deletions(-)

diffs (50 lines):

diff -r bfcd930e13ec -r 0ca9d86210f7 libexec/ld.elf_so/arch/arm/Makefile.inc
--- a/libexec/ld.elf_so/arch/arm/Makefile.inc   Tue Sep 10 16:24:02 2013 +0000
+++ b/libexec/ld.elf_so/arch/arm/Makefile.inc   Tue Sep 10 16:35:10 2013 +0000
@@ -1,6 +1,7 @@
-#      $NetBSD: Makefile.inc,v 1.19 2013/05/03 15:52:31 matt Exp $
+#      $NetBSD: Makefile.inc,v 1.20 2013/09/10 16:35:10 matt Exp $
 
 SRCS+=         rtld_start.S mdreloc.c
+#CPUFLAGS.rtld_start.S+=       -marm
 
 # XXX Should not be in CPPFLAGS!
 CPPFLAGS+=     -fpic
@@ -8,6 +9,7 @@
 CPPFLAGS+=     -DELFSIZE=32
 .if !empty(LDELFSO_MACHINE_ARCH:Mearm*)
 CPPFLAGS+=     -DHAVE_INITFINI_ARRAY
+CPPFLAGS+=     -DELF_NOTE_MARCH_DESC=\"${LDELFSO_MACHINE_ARCH}\"
 SRCS+=         find_exidx.c
 .endif
 
diff -r bfcd930e13ec -r 0ca9d86210f7 libexec/ld.elf_so/sysident.h
--- a/libexec/ld.elf_so/sysident.h      Tue Sep 10 16:24:02 2013 +0000
+++ b/libexec/ld.elf_so/sysident.h      Tue Sep 10 16:35:10 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sysident.h,v 1.15 2013/05/06 08:02:20 skrll Exp $ */
+/* $NetBSD: sysident.h,v 1.16 2013/09/10 16:35:10 matt Exp $ */
 
 /*
  * Copyright (c) 1997 Christopher G. Demetriou
@@ -89,3 +89,20 @@
        "\t.previous\n"
        "\t.p2align\t2\n"
 );
+
+#ifdef ELF_NOTE_MARCH_DESC
+__asm(
+       ".section\t\".note.netbsd.march\", \"a\"\n"
+       "\t.p2align\t2\n\n"
+
+       "\t.long\t" __S(ELF_NOTE_MARCH_NAMESZ) "\n"
+       "\t.long\t2f-1f\n"
+       "\t.long\t" __S(ELF_NOTE_TYPE_MARCH_TAG) "\n"
+       "\t.ascii\t" __S(ELF_NOTE_MARCH_NAME) "\n"
+       "1:\t.asciz\t" __S(ELF_NOTE_MARCH_DESC) "\n"
+       "2:\n"
+
+       "\t.previous\n"
+       "\t.p2align\t2\n"
+);
+#endif



Home | Main Index | Thread Index | Old Index