PERFORCE change 30908 for review
Juli Mallett
jmallett at FreeBSD.org
Fri May 9 22:00:17 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=30908
Change 30908 by jmallett at jmallett_dalek on 2003/05/09 21:59:58
Update to a newer, better configuration:
o) Trust elf64.h to give us better section stuff,
which makes optimisation work.
o) Turn off OBJECT_FORMAT_ COFF, "it confuses collect2"
other configs say.
o) Default to a GVALUE of 0 so we don't have problems
relocating bigger pieces of data relative to the gp.
o) Prefer DWARF2 (at least for now?) as that doesn't
ICE with -gdwarf-2, unlike old -g, so better to
default to it, though XXX: the elf64.h inclusion
may dtrt now, so removing this needs investigated,
but I am sick of 45-minute GCC builds.
o) Put the CPU target defaults in the right define,
and fill in MASK_GAS too.
Affected files ...
.. //depot/projects/mips/contrib/gcc/config/mips/freebsd.h#8 edit
Differences ...
==== //depot/projects/mips/contrib/gcc/config/mips/freebsd.h#8 (text+ko) ====
@@ -65,40 +65,13 @@
/* Define the target in terms of a bitmask (see mips.h for MASK_ defns). */
#undef TARGET_ENDIAN_DEFAULT
-#define TARGET_ENDIAN_DEFAULT (MASK_BIG_ENDIAN | MASK_LONG64 | MASK_64BIT)
+#define TARGET_ENDIAN_DEFAULT MASK_BIG_ENDIAN
-/* Define the strings to put out for each section in the object file. */
-#define SBSS_SECTION_ASM_OP "\t.section .sbss"
-#define TEXT_SECTION_ASM_OP "\t.text" /* instructions */
-#define DATA_SECTION_ASM_OP "\t.data" /* large data */
-#define SDATA_SECTION_ASM_OP "\t.sdata" /* small data */
-#define RDATA_SECTION_ASM_OP "\t.rdata" /* read-only data */
+#undef TARGET_CPU_DEFAULT
+#define TARGET_CPU_DEFAULT (MASK_LONG64 | MASK_64BIT | MASK_GAS)
-/* A list of other sections which the compiler might be "in" at any
- given time. */
-#undef EXTRA_SECTIONS
-#define EXTRA_SECTIONS in_sdata, in_sbss, in_rdata
-#undef READONLY_DATA_SECTION
-#define SMALL_DATA_SECTION sdata_section
-#define READONLY_DATA_SECTION const_section
-
-#undef EXTRA_SECTION_FUNCTIONS
-#define EXTRA_SECTION_FUNCTIONS \
- SECTION_FUNCTION_TEMPLATE(sdata_section, in_sdata, SDATA_SECTION_ASM_OP) \
- SECTION_FUNCTION_TEMPLATE(sbss_section, in_sbss, SBSS_SECTION_ASM_OP) \
- SECTION_FUNCTION_TEMPLATE(const_section, in_rdata, RDATA_SECTION_ASM_OP)
-
-#define SECTION_FUNCTION_TEMPLATE(FN, ENUM, OP) \
-void FN () \
-{ \
- if (in_section != ENUM) \
- { \
- fprintf (asm_out_file, "%s\n", OP); \
- in_section = ENUM; \
- } \
-}
-
+/* No mips-tfile. */
#undef ASM_FINAL_SPEC
/*
@@ -108,3 +81,22 @@
*/
#undef LOCAL_LABEL_PREFIX
#define LOCAL_LABEL_PREFIX "."
+
+/*
+ * Use Dwarf2 for FreeBSD/MIPS.
+ */
+#define DWARF2_DEBUGGING_INFO
+#define MIPS_DEBUGGING_INFO
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
+
+/*
+ * Be explicit about the object format we don't want.
+ */
+#undef OBJECT_FORMAT_COFF
+
+/* -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. */
+
+#undef MIPS_DEFAULT_GVALUE
+#define MIPS_DEFAULT_GVALUE 0
More information about the p4-projects
mailing list