diff options
author | Mark Harmstone <mark@harmstone.com> | 2022-04-07 14:47:17 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2022-04-07 14:47:17 +0100 |
commit | 145667f8d991932165a70d7c1551620be44e4b4f (patch) | |
tree | 1166831bf54cbafa71f078c8a567a4fd2b36ee21 /gas/expr.c | |
parent | 591cc9fbbfd6d51131c0f1d4a92e7893edcc7a28 (diff) | |
download | binutils-145667f8d991932165a70d7c1551620be44e4b4f.zip binutils-145667f8d991932165a70d7c1551620be44e4b4f.tar.gz binutils-145667f8d991932165a70d7c1551620be44e4b4f.tar.bz2 |
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 'gas/expr.c')
-rw-r--r-- | gas/expr.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -1522,6 +1522,7 @@ static operator_rankT op_rank[O_max] = { 0, /* O_constant */ 0, /* O_symbol */ 0, /* O_symbol_rva */ + 0, /* O_secidx */ 0, /* O_register */ 0, /* O_big */ 9, /* O_uminus */ |