Bug 38678

Summary: vinum fails to build due to @gprel relocation against dynamic symbol
Product: Base System Reporter: Marcel Moolenaar <marcel>
Component: ia64Assignee: freebsd-ia64 (Nobody) <ia64>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 1.0-RELEASE   
Hardware: Any   
OS: Any   

Description Marcel Moolenaar 2002-05-29 05:50:01 UTC
===> vinum
ld -Bshareable  -d -warn-common -o vinum.ko.debug vinum.kld
/usr/libexec/elf/ld: vinum.kld: @gprel relocation against dynamic symbol total_malloced
/usr/libexec/elf/ld: vinum.kld: @gprel relocation against dynamic symbol highwater
/usr/libexec/elf/ld: vinum.kld: @gprel relocation against dynamic symbol total_malloced
/usr/libexec/elf/ld: vinum.kld: @gprel relocation against dynamic symbol total_malloced
/usr/libexec/elf/ld: vinum.kld: @gprel relocation against dynamic symbol highwater
*** Error code 1

Current work-around: removed from build
Comment 1 Marcel Moolenaar freebsd_committer freebsd_triage 2002-05-29 05:51:58 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-ia64

Oops. Forgot to assign it to ia64 

Same applies to bktr.
Comment 2 Marcel Moolenaar freebsd_committer freebsd_triage 2002-10-24 04:58:12 UTC
State Changed
From-To: open->closed

The problem with the @gprel relocation was related to the fact 
that we compiled with short data and without -fpic. As a result, 
the compiler assumed it could create @gprel relocations to access 
data objects placed in the short data (.sdata or .sbss) sections. 
The fix is to disable short data for kernel builds (including 
modules).