Ondrej Pokorny schrieb am Do., 6. Juni 2024, 11:56:
> On 06.06.2024 11:16, Sven Barth via fpc-pascal wrote:
>
> Ondrej Pokorny via fpc-pascal schrieb
> am Do., 6. Juni 2024, 09:30:
>
>> Hello,
>>
>> I am on Windows 64bit, but using the i386 compiler.
>>
>> I have to link a 3rd party OBJ file with {$L 'xyz.obj'}.
>>
>> With the internal linker I get these errors:
>> Error: COMDAT selection mode 0 not supported (section: "0")
>> Error: Failed reading coff file, invalid section index while
>> reading xyz.obj
>> Error: Associative COMDAT section for section ".rdata" not found
>>
>
> Can you provide a small example as a bug report that shows this behavior
> (preferably also with source for the object file) so that we can improve
> the internal linker?
>
>
>> So I tried to use the external linker with -Xe and I get these errors:
>> Linking myProgram.exe
>> ld: warning: directory not found for option '-L/usr/lib'
>> ld: warning: directory not found for option
>> '-F/System/Library/Frameworks/'
>> ld: warning: option -b is obsolete and being ignored
>> ld: file not found: pei-i386
>> Error: Error while linking
>>
>
> That reads like the compiler is picking up the wrong linker (a WSL one
> perhaps?). The ld.exe (probably with platform prefix) should already be
> located in the compiler's binary directory and PATH needs to point to that
> first.
>
> Thank you Sven for the help!
>
> I changed the PATH so that the FPC bin directory is the first entry and
> the output indeed changed: I get only "Error: Error while linking" output
> without additional information that I got before.
>
> You should probably look at the unfiltered output of the message window.
Furthermore, I see from the docs that the -XR isn't supported on Windows (
> https://www.freepascal.org/docs-html/user/userap1.html)
> -XR Prepend to all linker search paths (BeOS, Darwin, FreeBSD,
> Linux, Mac OS, Solaris)
>
> Maybe it would be good to support it on Windows as well to be able to
> explicitly tell which linker to use.
>
-XR does not do what you think it does. It only exists for specific cross
compiling issues on *nix platforms.
If you need to specify a path for the binutils you can use -FD.
Regards,
Sven
>
___
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal