[patch binutils] Handle Win64 calling convention in ld-plugin tests
Alan Modra
amodra@gmail.com
Thu Aug 28 05:21:00 GMT 2014
On Sun, Aug 24, 2014 at 08:59:56AM -0700, Stephen Kitt wrote:
> Hi,
>
> Currently the ld-plugin tests expect to find ___main, which fails when
> targetting Win64. (The calling convention there specifies no additional
> underscores.) The following patch adjusts the defsym in ld-lib.exp for this
> case; this allows the testsuite to pass on x86_64-w64-mingw32.
>
> Regards,
>
> Stephen
>
>
> diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
> index e4084e1..4efec65 100644
> --- a/ld/testsuite/lib/ld-lib.exp
> +++ b/ld/testsuite/lib/ld-lib.exp
> @@ -410,10 +410,14 @@ proc ld_simple_link_defsyms {} {
> append flags " --defsym __gccmain=0"
> }
>
> - # Windows targets need __main, prefixed with underscore.
> - if {[istarget *-*-cygwin* ] || [istarget *-*-mingw*]} {
> + # Windows 32-bit targets need __main, prefixed with underscore.
> + if {[istarget *-*-cygwin* ] || [istarget i*86-*-mingw*]} {
> append flags " --defsym ___main=0"
> }
> + # Windows 64-bit targets need __main, not prefixed
> + if {[istarget x86_64-*-mingw*]} {
> + append flags " --defsym __main=0"
> + }
>
> # PowerPC EABI code calls __eabi.
> if {[istarget powerpc*-*-eabi*] || [istarget powerpc*-*-rtems*]} {
I see there is a configure option --enable-leading-mingw64-underscores,
so can you check that the following works?
diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
index e4084e1..292a873 100644
--- a/ld/testsuite/lib/ld-lib.exp
+++ b/ld/testsuite/lib/ld-lib.exp
@@ -410,9 +410,9 @@ proc ld_simple_link_defsyms {} {
append flags " --defsym __gccmain=0"
}
- # Windows targets need __main, prefixed with underscore.
+ # Windows targets need __main, some prefixed with underscore.
if {[istarget *-*-cygwin* ] || [istarget *-*-mingw*]} {
- append flags " --defsym ___main=0"
+ append flags " --defsym __main=0 --defsym ___main=0"
}
# PowerPC EABI code calls __eabi.
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list