Subject: Re: alpha (any 64 bit?) host and mips target
To: Simon Burge <simonb@wasabisystems.com>
From: Rafal Boni <rafal@mediaone.net>
List: tech-toolchain
Date: 11/13/2001 09:25:29
In message <20011112123615.F1D9D1E4BF@thoreau.thistledown.com.au>, you write: 

-> To build a working mipseb cross-compiler on an alpha host, I needed to
-> manually change the
-> 
-> 	#define BFD_ARCH_SIZE 64
-> 
-> from "64" to "32" in the generated bfd-in3.h and bfd.h files, otherwise
-> I got dozens of warnings similar to:
-> 
-> 	../bfd/.libs/libbfd.a(elf32-mips.o): In function `mips_elf_sym_is_globa
-> l':
-> 	elf32-mips.c(.text+0x3aac): undefined reference to `bfd_elf64_tradbigmi
-> ps_vec'
-> 	elf32-mips.c(.text+0x3ab8): undefined reference to `bfd_elf64_tradlittl
-> emips_vec'
[...]

-> Anyone here clueful enough to know why I need to do this and how to fix
-> it properly?

This is probably as much clue as you already have, but here goes anyway 8-)

I think the problem is that the elf code assumes `presence of BFD64' ==  
`support for elf64', and that the code that generates bfd.h uses the size
of the host platform for the BFD_ARCH_SIZE (on x86 host and natively, I
get 32 "naturally").

I haven't thought about how to fix it, though... (ENOCOFFEE 8-)

--rafal

----
Rafal Boni                                                  rafal@mediaone.net