Subject: Re: Build failure
To: None <port-sparc64@netbsd.org>
From: Martin Husemann <martin@duskware.de>
List: port-sparc64
Date: 03/16/2007 09:18:22
On Fri, Mar 16, 2007 at 08:51:14AM +0100, Juergen Hannken-Illjes wrote:
> /src/lib/libc/compat/arch/sparc64/gen/compat_sigsetjmp.S:(.text+0x54): relocation truncated to fit: R_SPARC_GOT13 against symbol `longjmp' defined in .text section in libc_pic.a(compat_setjmp.so)
> /src/lib/libc/compat/arch/sparc64/gen/compat_sigsetjmp.S:(.text+0x58): relocation truncated to fit: R_SPARC_GOT13 against symbol `_longjmp' defined in .text section in libc_pic.a(_setjmp.so)
> collect2: ld returned 1 exit status

Could you objdump -d one of the affected objects?

The __sigsetjmp14 for example has:

	ldx    [%g1+_C_LABEL(__setjmp14)], %g1

Maybe the GOT has grown too big for _C_LABEL(__setjmp14) to fit into the
13 bit offset? Fix would be to do the full dance, like

	set	_C_LABEL(__setjmp14), %o2
	ldx	[%g1+%o2], %g1

and rearange the branch around it slightly.

Martin