aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2006-01-03 11:34:54 +0000
committerJoseph Myers <joseph@codesourcery.com>2006-01-03 11:34:54 +0000
commit3a9a2d47df7a98532ec637cd50b142df9e436d1a (patch)
tree15f37c4663998f7f7acf598458936e66c42a9e20
parent1a7d3798fffad53bc921450670768f2f49287882 (diff)
* gcc/config/arm/arm.h (ARM_FLAG_UCLIBC, TARGET_UCLIBC): New.
* gcc/config/arm/linux-elf.h (SUBTARGET_SWITCHES): Use ARM_FLAG_UCLIBC. (TARGET_C99_FUNCTIONS): Define in terms of TARGET_UCLIBC. * gcc/config/mips/mips.h (MASK_UCLIBC, TARGET_UCLIBC): New. * gcc/config/mips/linux.h (SUBTARGET_TARGET_SWITCHES): Use MASK_UCLIBC. (TARGET_C99_FUNCTIONS): Define in terms of TARGET_UCLIBC. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl-3_4_3-linux-branch@109278 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog.csl13
-rw-r--r--gcc/config/arm/arm.h4
-rw-r--r--gcc/config/arm/linux-elf.h5
-rw-r--r--gcc/config/mips/linux.h5
-rw-r--r--gcc/config/mips/mips.h3
5 files changed, 27 insertions, 3 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index 7a4a20616c2..1e6d3991c18 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,4 +1,15 @@
-2005-12-22 Joseph Myers <jsm@polyomino.org.uk>
+2006-01-02 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc/config/arm/arm.h (ARM_FLAG_UCLIBC, TARGET_UCLIBC): New.
+ * gcc/config/arm/linux-elf.h (SUBTARGET_SWITCHES): Use
+ ARM_FLAG_UCLIBC.
+ (TARGET_C99_FUNCTIONS): Define in terms of TARGET_UCLIBC.
+ * gcc/config/mips/mips.h (MASK_UCLIBC, TARGET_UCLIBC): New.
+ * gcc/config/mips/linux.h (SUBTARGET_TARGET_SWITCHES): Use
+ MASK_UCLIBC.
+ (TARGET_C99_FUNCTIONS): Define in terms of TARGET_UCLIBC.
+
+2005-12-22 Joseph Myers <joseph@codesourcery.com>
* gcc/config.gcc (powerpc-wrs-linux-gnu): Use rs6000/wrs-linux.h
* gcc/config/arm/t-wrs-linux (EXTRA_MULTILIB_PARTS): Add
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index eae40f14d92..e71e14c543f 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -262,6 +262,9 @@ extern GTY(()) rtx aof_pic_label;
/* Fix invalid Cirrus instruction combinations by inserting NOPs. */
#define CIRRUS_FIX_INVALID_INSNS (1 << 21)
+/* Use uClibc instead of glibc. */
+#define ARM_FLAG_UCLIBC (1 << 22)
+
#define TARGET_APCS_FRAME (target_flags & ARM_FLAG_APCS_FRAME)
#define TARGET_POKE_FUNCTION_NAME (target_flags & ARM_FLAG_POKE)
#define TARGET_FPE (target_flags & ARM_FLAG_FPE)
@@ -295,6 +298,7 @@ extern GTY(()) rtx aof_pic_label;
? (target_flags & THUMB_FLAG_LEAF_BACKTRACE) \
: (target_flags & THUMB_FLAG_BACKTRACE))
#define TARGET_CIRRUS_FIX_INVALID_INSNS (target_flags & CIRRUS_FIX_INVALID_INSNS)
+#define TARGET_UCLIBC (target_flags & ARM_FLAG_UCLIBC)
#define TARGET_LDRD (arm_arch5e && ARM_DOUBLEWORD_ALIGN)
#define TARGET_AAPCS_BASED \
(arm_abi != ARM_ABI_APCS && arm_abi != ARM_ABI_ATPCS)
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index b2dfbeaaf99..d76d48c7cc0 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -44,9 +44,12 @@
/* Add a -muclibc switch so that users can request uClibc instead of
GLIBC. */
#define SUBTARGET_SWITCHES \
- {"uclibc", 0, \
+ {"uclibc", ARM_FLAG_UCLIBC, \
N_("Use the uClibc C library instead of GLIBC") },
+#undef TARGET_C99_FUNCTIONS
+#define TARGET_C99_FUNCTIONS (!TARGET_UCLIBC)
+
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
{ "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
index ca14f9d9d48..f82a4206c84 100644
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -105,9 +105,12 @@ Boston, MA 02111-1307, USA. */
GLIBC. */
#undef SUBTARGET_TARGET_SWITCHES
#define SUBTARGET_TARGET_SWITCHES \
- {"uclibc", 0, \
+ {"uclibc", MASK_UCLIBC, \
N_("Use the uClibc C library instead of GLIBC") },
+#undef TARGET_C99_FUNCTIONS
+#define TARGET_C99_FUNCTIONS (!TARGET_UCLIBC)
+
/* From iris5.h */
/* -G is incompatible with -KPIC which is the default, so only allow objects
in the small data section if the user explicitly asks for it. */
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 1fb5ae176f0..bbf181e5a99 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -170,6 +170,7 @@ extern const struct mips_cpu_info *mips_tune_info;
0x00800000 /* Store uninitialized
consts in rodata */
#define MASK_FIX_SB1 0x01000000 /* Work around SB-1 errata. */
+#define MASK_UCLIBC 0x02000000 /* Use uClibc not glibc. */
/* Debug switches, not documented */
#define MASK_DEBUG 0 /* unused */
@@ -258,6 +259,8 @@ extern const struct mips_cpu_info *mips_tune_info;
#define TARGET_FIX_SB1 (target_flags & MASK_FIX_SB1)
+#define TARGET_UCLIBC (target_flags & MASK_UCLIBC)
+
/* True if we should use NewABI-style relocation operators for
symbolic addresses. This is never true for mips16 code,
which has its own conventions. */