[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/19987] New: [Aarch64] gold segfaults when handling R_AARCH64_L
From: |
raj.khem at gmail dot com |
Subject: |
[Bug gold/19987] New: [Aarch64] gold segfaults when handling R_AARCH64_LD64_GOTPAGE_LO15 relocs |
Date: |
Sun, 24 Apr 2016 15:47:42 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=19987
Bug ID: 19987
Summary: [Aarch64] gold segfaults when handling
R_AARCH64_LD64_GOTPAGE_LO15 relocs
Product: binutils
Version: 2.27 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: gold
Assignee: ccoutant at gmail dot com
Reporter: raj.khem at gmail dot com
CC: ian at airs dot com
Target Milestone: ---
The test case here
https://uclibc.org/~kraj/gold-aarch64-crash.tar.xz
there is a small script called doit.sh which executes the link steps using both
BFD and gold linkers.
demonstrates the problem in gold, while it works ok with BFD linker. The issue
seems to be that when its trying to handle R_AARCH64_LD64_GOTPAGE_LO15, there
is no entry populsted for it in reloc entry table and hence it gets an assert
/home/kraj01/binutils-gdb/build/gold/ld-new: internal error in global, at
../../gold/aarch64.cc:6218
here is backtrace
#0 get_reloc_property (code=313, this=0xb49530) at
../../gold/aarch64-reloc-property.h:189
#1 global (gsym=0xb99fb0, r_type=313, rela=<synthetic pointer>,
output_section=0xb4cdb0, data_shndx=4, object=0xb84d00, target=0xb493b0,
layout=0x7fffffff7e50, symtab=0x7fffffff7bd0,
this=<synthetic pointer>) at ../../gold/aarch64.cc:6217
#2 scan_relocs<64, false, (anonymous namespace)::Target_aarch64<64, false>,
(anonymous namespace)::Target_aarch64<64, false>::Scan,
gold::Default_classify_reloc<4, 64, false> > (
plocal_syms=0x7ffff7ff1840 "", local_count=22,
needs_special_offset_handling=false, output_section=0xb4cdb0, reloc_count=23,
prelocs=0x7ffff7ff1c58 " ", data_shndx=4, object=0xb84d00,
target=0xb493b0, layout=0x7fffffff7e50, symtab=0x7fffffff7bd0) at
../../gold/target-reloc.h:110
#3 (anonymous namespace)::Target_aarch64<64, false>::scan_relocs
(this=0xb493b0, symtab=0x7fffffff7bd0, layout=0x7fffffff7e50, object=0xb84d00,
data_shndx=4, sh_type=<optimized out>,
prelocs=0x7ffff7ff1c40 "\f", reloc_count=23, output_section=0xb4cdb0,
needs_special_offset_handling=false, local_symbol_count=22,
plocal_symbols=0x7ffff7ff1840 "") at ../../gold/aarch64.cc:6692
#4 0x0000000000681ab7 in gold::Sized_relobj_file<64, false>::do_scan_relocs
(this=0xb84d00, symtab=0x7fffffff7bd0, layout=0x7fffffff7e50, rd=0xc2dd50) at
../../gold/reloc.cc:462
#5 0x0000000000680694 in scan_relocs (rd=<optimized out>, layout=<optimized
out>, symtab=<optimized out>, this=<optimized out>) at ../../gold/object.h:1156
#6 gold::Scan_relocs::run (this=0xc2e240) at ../../gold/reloc.cc:188
#7 0x00000000006c6f75 in gold::Workqueue::find_and_run_task
(address@hidden, address@hidden) at
../../gold/workqueue.cc:319
#8 0x00000000006c729a in gold::Workqueue::process
(address@hidden, address@hidden) at
../../gold/workqueue.cc:495
#9 0x0000000000406df6 in main (argc=38, argv=0x7fffffffe178) at
../../gold/main.cc:252
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug gold/19987] New: [Aarch64] gold segfaults when handling R_AARCH64_LD64_GOTPAGE_LO15 relocs,
raj.khem at gmail dot com <=