[aarch64-port-dev ] RFR: GensrcMisc.gmk linker issue on windows

Michal Vala mvala at redhat.com
Thu Mar 9 14:44:31 UTC 2017



On 03/09/2017 09:57 AM, Andrew Haley wrote:
> We shouldn't just change fron CC to LD and back without some kind of
> explanation.  Why did one work, and not another?

Build tries to link binary (obj) file to executable (exe).
When CC, it calls CL compiler, which results to total nonsense:

cl 
-out:/cygdrive/r/buildroot/jdk/btnative/genSocketOptionRegistry/genSocketOptionRegistry.exe 
/cygdrive/r/buildroot/jdk/btnative/genSocketOptionRegistry/genSocketOptionRegistry.obj 

cl : Command line warning D9035 : option 'o' has been deprecated and 
will be removed in a future release

it doesn't event know -out parameter and tries to go with -o and file 
"ut:..." so this is totally wrong. Also "genSocketOptionRegistry.obj" 
file is already binary.


When LD, then "link" is used and binary obj is correctly linked to 
executable:

link 
-out:/cygdrive/r/buildroot/jdk/btnative/genSocketOptionRegistry/genSocketOptionRegistry.exe 
/cygdrive/r/buildroot/jdk/btnative/genSocketOptionRegistry/genSocketOptionRegistry.obj

>
> Andrew.
>

However, as Alex pointed out[1], the patch breaks cross-compilation :/

-- 
-Michal

[1] - 
http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2017-March/004298.html


More information about the aarch64-port-dev mailing list