Index: src/ld/testsuite/ld-pe/aligncomm-1.c =================================================================== --- src.orig/ld/testsuite/ld-pe/aligncomm-1.c 2009-05-21 18:28:44.000000000 +0200 +++ src/ld/testsuite/ld-pe/aligncomm-1.c 2009-06-25 14:50:46.211656700 +0200 @@ -1,5 +1,6 @@ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); +typedef __SIZE_TYPE__ size_t; long s1 = 0; __m128 r; @@ -7,7 +8,7 @@ int main (int argc, const char **argv) { - return 15 & (int)raddr; + return 15 & (int)(size_t)raddr; } void __main (void) Index: src/ld/testsuite/ld-pe/aligncomm-2.c =================================================================== --- src.orig/ld/testsuite/ld-pe/aligncomm-2.c 2009-05-21 18:28:45.000000000 +0200 +++ src/ld/testsuite/ld-pe/aligncomm-2.c 2009-06-25 14:52:03.774653100 +0200 @@ -1,5 +1,6 @@ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); +typedef __SIZE_TYPE__ size_t; long s1 = 0; long s2 = 0; @@ -8,7 +9,7 @@ int main (int argc, const char **argv) { - return 15 & (int)raddr; + return 15 & (int)(size_t)raddr; } void __main (void) Index: src/ld/testsuite/ld-pe/aligncomm-3.c =================================================================== --- src.orig/ld/testsuite/ld-pe/aligncomm-3.c 2009-05-21 18:28:45.000000000 +0200 +++ src/ld/testsuite/ld-pe/aligncomm-3.c 2009-06-25 14:52:23.352903400 +0200 @@ -1,5 +1,6 @@ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); +typedef __SIZE_TYPE__ size_t; long s1 = 0; long s2 = 0; @@ -9,7 +10,7 @@ int main (int argc, const char **argv) { - return 15 & (int)raddr; + return 15 & (int)(size_t)raddr; } void __main (void) Index: src/ld/testsuite/ld-pe/aligncomm-4.c =================================================================== --- src.orig/ld/testsuite/ld-pe/aligncomm-4.c 2009-05-21 18:28:45.000000000 +0200 +++ src/ld/testsuite/ld-pe/aligncomm-4.c 2009-06-25 14:52:40.431137700 +0200 @@ -1,5 +1,6 @@ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); +typedef __SIZE_TYPE__ size_t; long s1 = 0; long s2 = 0; @@ -10,7 +11,7 @@ int main (int argc, const char **argv) { - return 15 & (int)raddr; + return 15 & (int)(size_t)raddr; } void __main (void) Index: src/ld/testsuite/ld-scripts/empty-address.exp =================================================================== --- src.orig/ld/testsuite/ld-scripts/empty-address.exp 2007-07-06 16:09:45.000000000 +0200 +++ src/ld/testsuite/ld-scripts/empty-address.exp 2009-06-25 15:04:19.852655500 +0200 @@ -20,6 +20,10 @@ # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, # MA 02110-1301, USA. +if [istarget "x86_64-*-mingw*"] then { + set LDFLAGS "$LDFLAGS --image-base 0" +} + run_dump_test empty-address-1 run_dump_test empty-address-2a run_dump_test empty-address-2b Index: src/ld/testsuite/ld-scripts/weak.exp =================================================================== --- src.orig/ld/testsuite/ld-scripts/weak.exp 2007-08-28 15:21:58.000000000 +0200 +++ src/ld/testsuite/ld-scripts/weak.exp 2009-06-25 15:02:35.408471500 +0200 @@ -32,7 +32,7 @@ # Weak symbols are broken for non-i386 PE targets. if {! [istarget i?86-*-*]} { setup_xfail *-*-pe* - setup_xfail x86_64-*-mingw* + setup_xfail x86_64-*-pe* } # hppa64 and or32 are incredibly broken