This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: compatibility of (mips ELF) .o files between binutils versions?


On Mon, Jul 15, 2002 at 10:24:56AM -0700, cgd@broadcom.com wrote:
> [ replying to several e-mail msgs in one. ]
> 
> At 15 Jul 2002 14:41:03 +0100, Nick Clifton wrote:
> > > (I'm not really sure where to even begin debugging this...)
> > 
> > It appears to be a problem with the relocs.  What does 'objdump -r'
> > show for the 2.11.2 assembled binary vs the 2.12.1 assembled binary ?
> 
> mips-elf-objdump -xDr shows identical output for the two (using
> objdump from the 2.12.1 binutils.
> 
> 
> At Mon, 15 Jul 2002 07:28:44 -0700, H. J. Lu wrote:
> > As I recall, gas/mips 2.11.2 generates really bad files under certain
> > conditions. I agree ld shouldn't segfault. But I don't expect it will
> > generate correct results.
> 
> in this case, 2.10 and 2.11.2 generate the same .o file.
> 
> 
> At 15 Jul 2002 16:02:13 +0100, Nick Clifton wrote:
> > I guess that we need a test object file with which to investigate the
> > problem.
> 
> Several people asked for same.  8-)
> 
> 
> > Chris - can you generate a *small* binary and post it/point to it ?
> 
> I've included below a uuencoded tgz which contains the sample, in many
> forms.  8-)
> 
> 	run			a little script to run all of the cmds
> 				to gen the rest.
> 	run.log			output from said cmds.
> 	foo.s			input source
> 	foo-<version>.o		foo.s compiled w/ that version
> 				assembler.
> 	foo-<version1>.dump-<version2>
> 				foo-<version>.o dumped with
> 				mips-elf-objdump -xDr from version2 of
> 				binutils.
> 
> I've removed the 'core' and 'bad.o' files, to keep things small.
> 
> all of the tools used were built from fresh tarballs from
> ftp://ftp.gnu.org/pub/gnu/binutils/
> 

I got

/export/build/gnu/binutils-debug/build-mips-linux/ld/ld-new -r foo-2_11_2.o
/export/build/gnu/binutils-debug/build-mips-linux/ld/ld-new: a.out: relocation
size mismatch in foo-2_11_2.o section .data
/export/build/gnu/binutils-debug/build-mips-linux/ld/ld-new: final link failed:
Archive object file in wrong format

with

# /export/build/gnu/binutils-debug/build-mips-linux/ld/ld-new -V
GNU ld version 2.12.90.0.15 20020712
  Supported emulations:
   elf32ebmip

Personally, I believe binutils 2.12.1 is quite buggy on many platforms,
including mips.


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]