Bug 65799

Summary: ld does not support chk instructions with targets that are farther than 16MB
Product: [Retired] Red Hat Linux Reporter: Satish Guggilla <satish.guggilla>
Component: binutilsAssignee: Jakub Jelinek <jakub>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: high    
Version: 7.1Keywords: FutureFeature
Target Milestone: ---   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-03-10 15:48:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Test case to reproduce the problem none

Description Satish Guggilla 2002-05-31 19:45:13 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

Description of problem:
GNU ld does not support chk instructions with targets that are farther than 
16MB. This happens even when the chk instruction and
the chk instruction's target branch are in different sections.

The linker should generate branch islands for chk instructions similar to the 
way it does for branches and calls whose targets are far off.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1) mkdir temp_dir
2) cd temp_dir
3) gunzip testcase.tar.gz
4) sh t.sh

Actual Results:  The linker generates the following error messages:

main.o: In function `dgefa':
main.o(.text+0x0): relocation truncated to fit: PCREL21M CHKSERROR
main.o: In function `main':
main.o(.text+0x40): relocation truncated to fit: PCREL21M CHKSERROR

ld version used was

GNU ld version 2.10.91 (with BFD 2.10.91.0.2)
  Supported emulations:
   elf64_ia64




Expected Results:  The file a.out should have been created without any error 
messages

Additional info:

Comment 1 Satish Guggilla 2002-05-31 19:49:20 UTC
Created attachment 59144 [details]
Test case to reproduce the problem

Comment 2 Jeff Law 2003-03-10 15:48:40 UTC
This was fixed in the binutils development sources a few months ago
(early September 2002).