summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMark Harmstone <mark@harmstone.com>2022-04-07 14:47:17 +0100
committerNick Clifton <nickc@redhat.com>2022-04-07 14:47:17 +0100
commit145667f8d991932165a70d7c1551620be44e4b4f (patch)
tree1166831bf54cbafa71f078c8a567a4fd2b36ee21 /include
parent591cc9fbbfd6d51131c0f1d4a92e7893edcc7a28 (diff)
Add support for COFF secidx relocations
bfd * coff-i386.c (in_reloc_p): Add R_SECTION. (howto_table): Add R_SECTION. (coff_pe_i386_relocation_section): Add support for R_SECTION. (coff_i386_reloc_type_lookup): Add support for BFD_RELOC_16_SECCIDX. * coff-x86_64.c (in_reloc_p): Add R_SECTION. (howto_table): Add R_SECTION. (coff_pe_amd64_relocation_section): Add support for R_SECTION. (coff_amd64_reloc_type_lookup): Add support for BFD_RELOC_16_SECCIDX. * reloc.c: Add BFD_RELOC_16_SECIDX. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. gas * config/tc-i386.c (pe_directive_secidx): New function. (md_pseudo_table): Add support for secidx. (x86_cons_fix_new): Likewise. (tc_gen_reloc): Likewise. * expr.c (op_rank): Add O_secidx. * expr.h (operatorT): Likewise. * symbols.c (resolve_symbol_value): Add support for O_secidx. * testsuite/gas/i386/secidx.s: New test source file. * testsuite/gas/i386/secidx.d: New test driver file. * testsuite/gas/i386/i386.exp: Run new test. include * coff/i386.h: Define R_SECTION. * coff/x86_64.h: Likewise. ld * testsuite/ld-pe/secidx1.s: New test source file. * testsuite/ld-pe/secidx2.s: New test source file. * testsuite/ld-pe/secidx.d: New test driver file. * testsuite/ld-pe/secidx_64.d: New test driver file. * testsuite/ld-pe/pe.exp: Add new tests.
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog5
-rw-r--r--include/coff/i386.h1
-rw-r--r--include/coff/x86_64.h1
3 files changed, 7 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 502fc47c14..c40136eb52 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2022-04-07 Mark Harmstone <mark@harmstone.com>
+
+ * coff/i386.h: Define R_SECTION.
+ * coff/x86_64.h: Likewise.
+
2022-04-01 John Baldwin <jhb@FreeBSD.org>
* elf/common.h (NT_FREEBSD_X86_SEGBASES): Define.
diff --git a/include/coff/i386.h b/include/coff/i386.h
index ac6b15955f..d2f13286cd 100644
--- a/include/coff/i386.h
+++ b/include/coff/i386.h
@@ -95,6 +95,7 @@ struct external_reloc
#define R_DIR32 6
#define R_IMAGEBASE 7
+#define R_SECTION 10
#define R_SECREL32 11
#define R_RELBYTE 15
#define R_RELWORD 16
diff --git a/include/coff/x86_64.h b/include/coff/x86_64.h
index cddbda1b48..ef9f9bc5c6 100644
--- a/include/coff/x86_64.h
+++ b/include/coff/x86_64.h
@@ -97,6 +97,7 @@ struct external_reloc
#define R_DIR32 6
#define R_IMAGEBASE 7
+#define R_SECTION 10
#define R_SECREL32 11
#define R_RELBYTE 15
#define R_RELWORD 16