summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authoraaronwl <aaronwl@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-06 04:28:10 +0000
committeraaronwl <aaronwl@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-06 04:28:10 +0000
commit570d41f9ac72730b119295309a176abd21ca128c (patch)
tree29332f29521468aae140cabe22dddc7a1eda7d9c /gcc
parentffac9d613410069c7640bd9bd092c95797df8d67 (diff)
downloadppe42-gcc-570d41f9ac72730b119295309a176abd21ca128c.tar.gz
ppe42-gcc-570d41f9ac72730b119295309a176abd21ca128c.zip
PR target/18106
* config/i386/cygming.h [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined. * lib/target-supports.exp (check_weak_available): Support Windows. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90164 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/cygming.h12
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/lib/target-supports.exp8
4 files changed, 31 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cb147285929..cb2ad19d1a5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ PR target/18106
+ * config/i386/cygming.h
+ [HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
+
2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
* config/sh/sh4a.md: Fix copyright.
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index be77abadc6c..3949f4c1444 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -396,6 +396,18 @@ extern int i386_pe_dllimport_name_p (const char *);
ASM_OUTPUT_DEF (STREAM, alias, IDENTIFIER_POINTER (TARGET)); \
} while (0)
+/* GNU as supports weak symbols on PECOFF. */
+#ifdef HAVE_GAS_WEAK
+#define ASM_WEAKEN_LABEL(FILE, NAME) \
+ do \
+ { \
+ fputs ("\t.weak\t", (FILE)); \
+ assemble_name ((FILE), (NAME)); \
+ fputc ('\n', (FILE)); \
+ } \
+ while (0)
+#endif /* HAVE_GAS_WEAK */
+
/* Decide whether it is safe to use a local alias for a virtual function
when constructing thunks. */
#undef TARGET_USE_LOCAL_THUNK_ALIAS_P
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 826c3c0bddd..66fb0993f60 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-06 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ PR target/18106
+ * lib/target-supports.exp (check_weak_available): Support
+ Windows.
+
2004-11-05 Danny Smith <dannysmith@users.sourceforge.net>
* gcc.dg/compat/struct-layout-1_generate.c (main): Generate a
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index b968de275a1..d04d7d353bc 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1999, 2001, 2003 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2001, 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -48,6 +48,12 @@ proc check_weak_available { } {
return 1
}
+ # Windows targets Cygwin and MingW32 support it
+
+ if { [regexp ".*mingw32|.*cygwin" $target_triplet] } {
+ return 1
+ }
+
# ELF and ECOFF support it. a.out does with gas/gld but may also with
# other linkers, so we should try it
OpenPOWER on IntegriCloud