diff options
author | Fangrui Song <maskray@google.com> | 2022-08-10 22:01:41 -0700 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2022-08-10 22:01:41 -0700 |
commit | 453595283c323e106a60b229999756b45ae6b2d8 (patch) | |
tree | 35f83b4727845c99d921c14c7a724340e63b31fe /bfd/elfxx-riscv.c | |
parent | 4d74aab7aa562fe79d4669cdad0c32610531cbc0 (diff) | |
download | gdb-453595283c323e106a60b229999756b45ae6b2d8.zip gdb-453595283c323e106a60b229999756b45ae6b2d8.tar.gz gdb-453595283c323e106a60b229999756b45ae6b2d8.tar.bz2 |
RISC-V: Remove R_RISCV_GNU_VTINHERIT/R_RISCV_GNU_VTENTRY
They were legacy relocation types copied from other ports. The related
-fvtable-gc was removed from GCC in 2003.
The associated assembler directives (.vtable_inherit and .vtable_entry)
have never been supported by the RISC-V port. Remove related ld code.
Link: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/323
Diffstat (limited to 'bfd/elfxx-riscv.c')
-rw-r--r-- | bfd/elfxx-riscv.c | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index 0b2021f..c9636bc 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -599,35 +599,9 @@ static reloc_howto_type howto_table[] = MINUS_ONE, /* dst_mask */ false), /* pcrel_offset */ - /* GNU extension to record C++ vtable hierarchy */ - HOWTO (R_RISCV_GNU_VTINHERIT, /* type */ - 0, /* rightshift */ - 8, /* size */ - 0, /* bitsize */ - false, /* pc_relative */ - 0, /* bitpos */ - complain_overflow_dont, /* complain_on_overflow */ - NULL, /* special_function */ - "R_RISCV_GNU_VTINHERIT", /* name */ - false, /* partial_inplace */ - 0, /* src_mask */ - 0, /* dst_mask */ - false), /* pcrel_offset */ - - /* GNU extension to record C++ vtable member usage */ - HOWTO (R_RISCV_GNU_VTENTRY, /* type */ - 0, /* rightshift */ - 8, /* size */ - 0, /* bitsize */ - false, /* pc_relative */ - 0, /* bitpos */ - complain_overflow_dont, /* complain_on_overflow */ - _bfd_elf_rel_vtable_reloc_fn, /* special_function */ - "R_RISCV_GNU_VTENTRY", /* name */ - false, /* partial_inplace */ - 0, /* src_mask */ - 0, /* dst_mask */ - false), /* pcrel_offset */ + /* 41 and 42 are reserved. */ + EMPTY_HOWTO (0), + EMPTY_HOWTO (0), /* Indicates an alignment statement. The addend field encodes how many bytes of NOPs follow the statement. The desired alignment is the |