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



The following reply was made to PR toolchain/48630; it has been noted by GNATS.

From: Takeshi Nakayama <tn%catvmics.ne.jp@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: toolchain-manager%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
 netbsd-bugs%netbsd.org@localhost, jdbaker%mylinuxisp.com@localhost
Subject: Re: toolchain/48630: sun4v support causes sparc/sparc64 build
 failure on netbsd-5/i386 host
Date: Sat, 08 Mar 2014 23:02:42 +0900 (JST)

 >>> 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