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