NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: toolchain/48630: sun4v support causes sparc/sparc64 build failure on netbsd-5/i386 host
>>> matthew green <mrg%eterna.com.au@localhost> wrote
> it requires both a 32bit-host *and* building 32 bit sparc64 kernels.
> eg, build.sh -m sparc kernel=GENERIC_SUN4U on an i386. with that
> i get the same problem:
>
> /usr/src/sys/arch/sparc64/sparc64/locore.s: Assembler messages:
> /usr/src/sys/arch/sparc64/sparc64/locore.s:5958: Error: bignum invalid
>
> 5958 sethi %hh(A_SUN4V_TLB_TSB_LOCK), %g5
>
> i agree with martin earlier in the thread -- binutils problem.
After tracing the binutils source around gas from the error
message, it was found that 32-bit toolchains on 32-bit host cannot
handle 64-bit integer by default configuration (see bfd/bfd-in.h
and integer_constant() in gas/expr.c).
It requires to specify --enable-64-bit-bfd to bfd/configure or add
a hint as below to enable 64-bit integer handling.
So I would like to apply this patch, comment?
-- Takeshi Nakayama
Index: bfd/config.bfd
===================================================================
RCS file: /cvsroot/src/external/gpl3/binutils/dist/bfd/config.bfd,v
retrieving revision 1.10
diff -u -d -r1.10 config.bfd
--- bfd/config.bfd 24 Dec 2013 15:06:39 -0000 1.10
+++ bfd/config.bfd 8 Mar 2014 13:41:20 -0000
@@ -1460,6 +1460,7 @@
sparc-*-netbsdelf*)
targ_defvec=bfd_elf32_sparc_vec
targ_selvecs="sparcnetbsd_vec sunos_big_vec"
+ want64=true
;;
sparc-*-netbsd*)
targ_defvec=sparcnetbsd_vec
Home |
Main Index |
Thread Index |
Old Index