www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/06/20/21:27:26

Xref: news2.mv.net comp.os.msdos.djgpp:5224
From: Ewing Kung <kung AT eba DOT ca>
Newsgroups: comp.os.msdos.djgpp
Subject: RE: GCC loader peculiarity
Date: Thu, 20 Jun 1996 14:41:34 -0600
Organization: University of Alberta, Edmonton, Canada
Lines: 28
Message-ID: <31C9B77E.780E@eba.ca>
NNTP-Posting-Host: kung.eba-eng.com
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

I've got a driver routine written in assembly that I call with a c-program.  When I 
compile the program I get this error at the linking stage:

fake(.data+0x64): relocation truncated to fit: 16 .data
fake(.data+0x66): relocation truncated to fit: 16 .data
fake(.data+0x68): relocation truncated to fit: 16 .data
fake(.text+0xaeb): relocation truncated to fit: 16 params

I've tried recompiling my program with
 	gcc -fno-common as well as the -fshared-data option
without any success.
I've also recompiled the assembly routine with
	as -R option 
which reduces the errors down to just:

fake(.text+0xaeb): relocation truncated to fit: 16 params

I've also tried the link options -sort-common and -warn-common without success.  I've 
noticed that when the assembly program is compiled with a small c-routine, I encounter 
no problems.  The error occurs only when I attempt to compile with a large program.  I 
think the problem's got to do with the bigger text and data sections.  Can anyone help 
me with this.  Can you also give me the technical explanation as to why this error is 
occuring.

								Thanks in advance
								
								Ewing
								kung AT eba DOT ca

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019