public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] Cross compiling problem: relocation truncated to fit ...
@ 2000-07-28  8:06 Nuesser, Wilhelm
  2000-07-28 14:52 ` David Mosberger
  2000-07-28 20:44 ` Jim Wilson
  0 siblings, 2 replies; 3+ messages in thread
From: Nuesser, Wilhelm @ 2000-07-28  8:06 UTC (permalink / raw)
  To: linux-ia64

Hi,

when cross compiling ia64 exec´s on an ia32 the cross-ld states
	
/usr/cross/lib/gcc-lib/ia64-gnu-linux-gnu/2.9-ia64-000216-final/crtbegin.o(.
fini+0x2): relocation truncated to fit: PCREL21B fini
This is reproduceable. When making the same - admittedly quite huge - exec
on an ia64 natively the make works
fine.

Any ideas? Just a stupid setup problem?

Thanks in advance

Willi

------------------
Willi Nüßer
SAP LinuxLab
wilhelm.nuesser@sap.com



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Linux-ia64] Cross compiling problem: relocation truncated to fit ...
  2000-07-28  8:06 [Linux-ia64] Cross compiling problem: relocation truncated to fit Nuesser, Wilhelm
@ 2000-07-28 14:52 ` David Mosberger
  2000-07-28 20:44 ` Jim Wilson
  1 sibling, 0 replies; 3+ messages in thread
From: David Mosberger @ 2000-07-28 14:52 UTC (permalink / raw)
  To: linux-ia64

Did you try the -relax option?  If your linker still isn't able to
build a big binary with that option specified, you need a newer
linker.  I do have a prebuilt version for NUE, but it will use
different paths from your own cross environment.

	--david

>>>>> On Fri, 28 Jul 2000 10:06:06 +0200, "Nuesser, Wilhelm" <wilhelm.nuesser@sap.com> said:

  Willi> Hi, when cross compiling ia64 exec´s on an ia32 the cross-ld
  Willi> states
	
  Willi> /usr/cross/lib/gcc-lib/ia64-gnu-linux-gnu/2.9-ia64-000216-final/crtbegin.o(.
  Willi> fini+0x2): relocation truncated to fit: PCREL21B fini This is
  Willi> reproduceable. When making the same - admittedly quite huge -
  Willi> exec on an ia64 natively the make works fine.

  Willi> Any ideas? Just a stupid setup problem?

  Willi> Thanks in advance

  Willi> Willi

  Willi> ------------------ Willi Nüßer SAP LinuxLab
  Willi> wilhelm.nuesser@sap.com


  Willi> _______________________________________________ Linux-IA64
  Willi> mailing list Linux-IA64@linuxia64.org
  Willi> http://lists.linuxia64.org/lists/listinfo/linux-ia64



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Linux-ia64] Cross compiling problem: relocation truncated to fit ...
  2000-07-28  8:06 [Linux-ia64] Cross compiling problem: relocation truncated to fit Nuesser, Wilhelm
  2000-07-28 14:52 ` David Mosberger
@ 2000-07-28 20:44 ` Jim Wilson
  1 sibling, 0 replies; 3+ messages in thread
From: Jim Wilson @ 2000-07-28 20:44 UTC (permalink / raw)
  To: linux-ia64

You have an out-of-range branch.  Branches can only reach about 16MB directly,
after that they need linker help.

If you have a recent enough toolchain, then -Wl,-relax will make this work.
It should work automatically, but well, eventually it will.  The recent
TurboLinux distribution RPMS have the necessary patches.  I don't believe any
Red Hat distribution RPMS have it yet, but the next release will.

A 32-bit hosted cross compiler will generate worse code than a native compiler.
This is because it is harder to optimize 64-bit values on a 32-bit machine, so 
there are some cases where we just give up and don't perform the optimization
when on a 32-bit host.  Thus the cross compiled application will be bigger,
and more likely to have out-of-range branches.  Don't cross compile unless
you have to.

Jim



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2000-07-28 20:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-07-28  8:06 [Linux-ia64] Cross compiling problem: relocation truncated to fit Nuesser, Wilhelm
2000-07-28 14:52 ` David Mosberger
2000-07-28 20:44 ` Jim Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox