[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] linker problem with -r (relocateable)
On Fri, 2009-04-24 at 15:37 +0200, Vincent Rivière wrote:
> Hello, Alan.
>
> I'm away until next week and I don't have access to the tools.
> You experienced a crash, it may be related to standard binutils code or
> MiNT patch. In any case, it is a bug and must be fixed.
>
> I have never tested the -r option, it is well known that things not
> tested don't work :-(
>
> I think there may be a mess between file formats.
>
> > gcc -c main.c
>
> Good, main.o is an object file in format a.out-zero-big.
>
> > ld -r -o main2.o main.o
>
> I'm not sure what is main2.o... By defaut, ld produces files in
> a.out-mintprg format. So in that case, main2.o is probably a
> "relocatable" file (in an a.out point of view) in format a.out-mintprg.
> I never tested such a thing, I'm don't know if something correct is
> generated.
>
> Indeed, using the following command may do the right thing :
> ld -r -o main2.o main.o --oformat a.out-zero-big
With this. It works. And I get....
# file main2.o
main2.o: GLS_BINARY_MSB_FIRST
> > ld -o main3.o main2.o -> crash.
And so the above now works, but we shouldn't need to specify the
--oformat obviously.
> Here, there is no specific option, so the output file is a standard
> a.out-mintprg executable, it should not be named with ".o". Anyway, it
> is not a problem.
> But if main2.o is actually what I described above, I'm really not sure
> the linker is able to deal with it as input... Obviously, it is not the
> case, because of the crash...
>
> I will look at it when possible.
Thanks!
> > Now -r means generate relocateable code and I don't think we should be
> > allowing that with our a.out format ?
>
> You are probably right. The a.out-mintprg file format should be used
> only for final linker output, it is not intended to be treated as a
> linker input file.
Andreas mentioned it should essentially translate to "cp main.o main2.o"
> > Maybe just silently ignore the -r
> > option as quite a few tools use it.
>
> Where did you find usage of the -r option ?
> Is it a real world issue ?
> Or was it only a test for linker options ?
libtool uses it in it's testsuite.
Alan.