Date: Mon, 20 May 2019 20:38:12 +0000 From: bugzilla-noreply@freebsd.org To: toolchain@FreeBSD.org Subject: [Bug 237068] /usr/local/bin/ld: BFD (GNU Binutils) 2.30 assertion fail elflink.c:2824 Message-ID: <bug-237068-29464-0WN4HpyLpD@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-237068-29464@https.bugs.freebsd.org/bugzilla/> References: <bug-237068-29464@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D237068 --- Comment #19 from Mark Millard <marklmi26-fbsd@yahoo.com> --- (In reply to Mark Millard from comment #16) The below is about alternate fixed_seed_override definitions/declarations in the small example (not llvm60) and the consequences, in particular not getting the BFD_ASSERTs. They are not proposed fixes: I'm just reporting what was important about the fixed_seed_override definition that I used in the small example. Instead: unsigned long fixed_seed_override=3D 0x0; or: extern unsigned long fixed_seed_override; so they instead do not contribute to .data . These change small_link_failure-1.0.so such that the BFD_ASSERT messages are not produced. The "0xdeadc0de" vs. other two end up as reported below. The file offset changes from as seen in (note the matching 0x10cc8 vs. the symbol tables for the 0xdeadc0de based example): . . . [19] .data PROGBITS 0000000000010ca8 00000ca8 0000000000000020 0000000000000000 WA 0 0 8 [20] .bss NOBITS 0000000000010cc8 00000cc8 0000000000000010 0000000000000000 WA 0 0 8 . . . Symbol table (.dynsym) contains 16 entries: Num: Value Size Type Bind Vis Ndx Name . . . 7: 0000000000010cc8 0 NOTYPE GLOBAL DEFAULT 20 __bss_start@@LLVM_6.0 (2) . . . Symbol table (.symtab) contains 52 entries: Num: Value Size Type Bind Vis Ndx Name . . . 43: 0000000000010cc8 0 NOTYPE GLOBAL DEFAULT 20 __bss_start . . . to as seen in (note the 0x10cc0 vs. 0x10cb9's in the symbol tables): . . . [19] .data PROGBITS 0000000000010ca8 00000ca8 0000000000000011 0000000000000000 WA 0 0 8 [20] .bss NOBITS 0000000000010cc0 00000cb9 0000000000000018 0000000000000000 WA 0 0 8 . . . Symbol table (.dynsym) contains 16 entries: Num: Value Size Type Bind Vis Ndx Name . . . 7: 0000000000010cb9 0 NOTYPE GLOBAL DEFAULT 20 __bss_start@@LLVM_6.0 (2) . . . Symbol table (.symtab) contains 52 entries: Num: Value Size Type Bind Vis Ndx Name . . . 43: 0000000000010cb9 0 NOTYPE GLOBAL DEFAULT 20 __bss_start . . . (Also note the odd .data size 0x11 compared to the earlier 0x20.) So the definition of fixed_seed_override with a non-zero value being involved is an important part of setting up the small example of rejecting __bss_start@@LLVM_6.0 use internally. (I had to discover this to make the small example C++ program.) --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-237068-29464-0WN4HpyLpD>