[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ld relocate symbols(in small common section) to a unaligned address.
From: |
zhigang gong |
Subject: |
Re: ld relocate symbols(in small common section) to a unaligned address.(on mips r3000 target) |
Date: |
Thu, 8 Sep 2005 12:36:27 +0800 |
sorry i forgot to attach the file. Now attach the tar ball.
On 9/8/05, zhigang gong <address@hidden> wrote:
> Hi Nick,
>
> Tanks for you reply so soonly. I had already download the
> latest snapshot(binutils-050907), and the problem has not resolve
> yet.I try to make the case smaller, but i failed. As when I make some
> modification ,the problem will not exist any more. I have to send you
> a little big test case(less than 1Mbytes tarball). Really appreciate
> for your kindly help.
>
> Here is the readme file of the test case tarball, which you will find
> in it also.
>
> LD version 2.16.1 or binutils-050907, configuration is
> ./configure --target=mipsel-elf
>
> Now invoke the make in the current directory. There will generat three
> files.
> symbol.list
> This file is the libextras.a's symbol list,and you
> can search "piofree_handle" in it.
> You will find the follow statements:
> 86: 00000004 28 OBJECT GLOBAL
> DEFAULT COM piofree_intr
> 87: 00000004 4 OBJECT GLOBAL
> DEFAULT COM piofree_handle
> 88: 00000000 0 NOTYPE GLOBAL
> DEFAULT UND cyg_interrupt_create
> It's clearly that the aligment of piofree_handle is 4
> bytes aligned.
>
> thread_gdb
> This file is the output elf image(excecuable).
>
>
> thread_gdb.map
> This file is the output elf image's map file, and you
> can search "piofree_handle" too.
> You will get the follow statements:
> .scommon 0x000000008090bc44
> 0x9 thread_gdb.o
> 0x000000008090bc44
> worker_cv
> 0x000000008090bc4c
> worker_state
> .scommon 0x000000008090bc4d
> 0xc extras.o
> 0x000000008090bc4d
> piofree_handle
> 0x000000008090bc51
> flag_int_reason
> *fill* 0x000000008090bc59
> 0x3 00
> Now you will find the problem is that the
> piofree_handle is misaligned.When excute the image in my
> platform, there will raise unaligned access exception.
>
> Best Regars,
> Zhigang.
>
> On 9/7/05, Nick Clifton <address@hidden> wrote:
> > Hi Zhigang,
> >
> > > /home/zhigang/0808/pattern_install/lib/extras.o
> > > 0x000000008090bc4d
> > > piofree_handle ------Please see here, the
> > > address is not correct aligned
> >
> > > .comm piofree_handle,4,4 (the alignment is right)
> >
> > This does indeed appear to be a bug in the linker. Are you able to
> > create a *small* test case which reproduces this problem ? With that we
> > could investigate it and try to fix it.
> >
> > Oh - one other thing you could try is to download the current binutils
> > sources from the mainline of the CVS repository and build a new linker.
> > Several rather subtle and nasty linker bugs have been fixed recently
> > and your problem might be one of those fixed bugs.
> >
> > Cheers
> > Nick
> >
> >
> >
>
ld_pattern.tar.bz2
Description: BZip2 compressed data