This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: gas: wince DLL regression from 2.11.2 to 2.14
- From: Shaun Jackman <sjackman at pathwayconnect dot com>
- To: Nick Clifton <nickc at redhat dot com>
- Cc: binutils <binutils at sources dot redhat dot com>
- Date: 07 Jul 2003 13:34:20 -0600
- Subject: Re: gas: wince DLL regression from 2.11.2 to 2.14
- Organization: Pathway Connectivity
- References: <1057348486.3148.273.camel@bluesteel.pathway> <m3y8zaef14.fsf@redhat.com>
My knowledge of binutils is tenuous at best, so correct me if I'm wrong
here. I think ARM_COFF_BUGFIX affects ld and not gas (is this true?).
The problem I'm seeing is specifically with as. I have a binutils-2.14
tree except I replace as with one from binutils-2.11.2, keeping
everything else at 2.14. I have ARM_COFF_BUGFIX enabled in both trees
(although it's named VXWORKS in 2.11.2).
I think there is some other change between 2.11.2 and 2.14 that broke
WinCE DLLs. Any thoughts on where I might start looking (bfd, gas)? Or,
how I might track done the file in newlib that's causing the bug to show
up?
Thanks,
Shaun
> Have a look at the source file bfd/coff-arm.c and search for
> ARM_COFF_BUGFIX. Try enabling this definition and recompiling /
> reinstalling gas.
>
> It has been reported that this macro needs to be defined for
> arm-wince-pe builds, but I have also heard that defining it breaks
> some other targets (arm-epoc-pe ? arm-wince-pe with an old 2.0 WinCE
> ?)
>
> Cheers
> Nick
>
> I can build a tool-chain for arm-wince-pe with
> > binutils-2.14 gcc-3.3 newlib-1.11.0
> > that works fine. Except, I have to copy the gas binary from a build of
> > binutils-2.11.2, and use it to make newlib. Otherwise, the libc.a
> > produced cannot be used in a DLL. I'm not sure why this is (yet). If
> > anybody knows of something that might affect DLLs and changed between
> > these versions, I'd be interested in hearing it. I'm going to try to
> > find a small test case that generates the bug. Currently, my only test
> > case is newlib (rather quite large).