summaryrefslogtreecommitdiff
path: root/gas/expr.c
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 /gas/expr.c
parent591cc9fbbfd6d51131c0f1d4a92e7893edcc7a28 (diff)
downloadbinutils-gdb-145667f8d991932165a70d7c1551620be44e4b4f.tar.gz
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.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gas/expr.c b/gas/expr.c
index 2341343bf00..6ad8bee2733 100644
--- a/gas/expr.c
+++ b/gas/expr.c
@@ -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 */