Xref: news2.mv.net comp.os.msdos.djgpp:5333 From: Ewing Kung Newsgroups: comp.os.msdos.djgpp Subject: RE: compiler loader peculiarity Date: Mon, 24 Jun 1996 09:55:54 -0600 Organization: University of Alberta, Edmonton, Canada Lines: 30 Message-ID: <31CEBA8A.7D3C@eba.ca> NNTP-Posting-Host: kung.eba-eng.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit CC: kung AT eba DOT ca 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 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 explanation as to why this error is occuring. Thanks in advance Ewing reply to:kung AT eba DOT ca