Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/gpl3/binutils/dist Create references as absolute po...
details: https://anonhg.NetBSD.org/src/rev/45f27fa7af77
branches: trunk
changeset: 355183:45f27fa7af77
user: joerg <joerg%NetBSD.org@localhost>
date: Mon Jul 17 19:50:23 2017 +0000
description:
Create references as absolute pointers internally for .cfi*.
Do not warn for anonymous relocations in read-only .eh_frame,
they will be turned into relative entries afterwards.
diffstat:
external/gpl3/binutils/dist/bfd/elfxx-mips.c | 10 ++++++++--
external/gpl3/binutils/dist/gas/config/tc-mips.h | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diffs (36 lines):
diff -r 208f36dfb293 -r 45f27fa7af77 external/gpl3/binutils/dist/bfd/elfxx-mips.c
--- a/external/gpl3/binutils/dist/bfd/elfxx-mips.c Mon Jul 17 18:43:45 2017 +0000
+++ b/external/gpl3/binutils/dist/bfd/elfxx-mips.c Mon Jul 17 19:50:23 2017 +0000
@@ -8596,12 +8596,18 @@
/* In the N32 and 64-bit ABIs there may be multiple
consecutive relocations for the same offset. If we have
a R_MIPS_GPREL32 followed by a R_MIPS_64 then that
- relocation is complete and needs no futher adjustment. */
+ relocation is complete and needs no futher adjustment.
+
+ Silently ignore absolute relocations in the .eh_frame
+ section, they will be dropped latter.
+ */
if ((rel == relocs
|| rel[-1].r_offset != rel->r_offset
|| r_type != R_MIPS_64
|| ELF_R_TYPE(abfd, rel[-1].r_info) != R_MIPS_GPREL32)
- && MIPS_ELF_READONLY_SECTION (sec))
+ && MIPS_ELF_READONLY_SECTION (sec)
+ && !((r_type == R_MIPS_32 || r_type == R_MIPS_64)
+ && strcmp(sec->name, ".eh_frame") == 0))
{
/* We tell the dynamic linker that there are
relocations against the text segment. */
diff -r 208f36dfb293 -r 45f27fa7af77 external/gpl3/binutils/dist/gas/config/tc-mips.h
--- a/external/gpl3/binutils/dist/gas/config/tc-mips.h Mon Jul 17 18:43:45 2017 +0000
+++ b/external/gpl3/binutils/dist/gas/config/tc-mips.h Mon Jul 17 19:50:23 2017 +0000
@@ -178,7 +178,7 @@
#define DWARF2_ADDR_SIZE(bfd) mips_dwarf2_addr_size ()
#define DWARF2_FDE_RELOC_SIZE (compact_eh ? 4 : mips_dwarf2_addr_size ())
#define DWARF2_FDE_RELOC_ENCODING(enc) \
- (enc | (compact_eh ? DW_EH_PE_pcrel : 0))
+ (compact_eh ? (enc)|DW_EH_PE_pcrel : DW_EH_PE_absptr)
#define TARGET_USE_CFIPOP 1
Home |
Main Index |
Thread Index |
Old Index