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


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

Re: ld -r Unsupported PEI arch pe-i386


Suhaib Siddiqi wrote:
> 
> Compiling Xfree86 4.0.1, I ran into some problems.
> 
> ld -r return errors
> 
> bash-2.04$ ld  -r mga_driver.o mga_hwcurs.o
> mga_dac3026.o mga_dacG.o        mg
> a_storm8.o mga_storm16.o mga_storm24.o mga_storm32.o
> mga_arc.o        mga_dga.o
>  mga_shadow.o  mga_video.o  -o mga_drv.o
> Unsupported PEI architecture: pe-i386
> 
> Any suggestions?  I am using Cygwin 1.1.2 and the
> binutils from the "latest"

I'm not sure about this, but I *think* there is no such thing as
"relocatable" code on windows/pei386 per se. All code is relocatable(*),
so the '-r' option is pointless.

(*) because the object files that go into dll's are built exactly the
same as the object files that go into static libs. But dll's get special
'fixup' code to do the "relocation" when the dll is loaded into memory.
This fixup code is added when you do 'ld -shared *.o -o foo.dll' to
create the dll (or dlltool, whatever...)

I think you ought to be able to get a working loadable module for XF86 4
by removing the '-r' altogether, right?

--Chuck

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


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