aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@codesourcery.com>2004-11-18 01:07:18 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2004-11-18 01:07:18 +0000
commita8e68029244bf2bcafbb82c7419438d185dc4c5d (patch)
treef359cc24690133850cf3bf16ec1173672b262e12 /gcc/config/i386/i386.c
parente1990f69ebdc902f9a888b094f32b9a408790bcf (diff)
downloadgcc-a8e68029244bf2bcafbb82c7419438d185dc4c5d.zip
gcc-a8e68029244bf2bcafbb82c7419438d185dc4c5d.tar.gz
gcc-a8e68029244bf2bcafbb82c7419438d185dc4c5d.tar.bz2
configure.ac (i[34567]86-*-solaris2.1[0-9]*): Set need_64bit_hwint=yes.
libcpp: 2004-11-18 Daniel Jacobowitz <dan@codesourcery.com> Mark Mitchell <mark@codesourcery.com> * configure.ac (i[34567]86-*-solaris2.1[0-9]*): Set need_64bit_hwint=yes. * configure: Regenerate. gcc: 2004-11-18 Daniel Jacobowitz <dan@codesourcery.com> Mark Mitchell <mark@codesourcery.com> * config/i386/sol2-10.h, config/i386/t-sol2-10: New files. * config/i386/i386.c (i386_solaris_elf_named_section): New function. * config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10. * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle 64-bit. (ASM_QUAD): Don't undefine for biarch targets. * config/i386/t-sol2: Introduce multilib support. gcc/testsuite: 2004-11-18 Daniel Jacobowitz <dan@codesourcery.com> Mark Mitchell <mark@codesourcery.com> * testsuite/gcc.dg/pragma-init-fini-2.c: New test. Co-Authored-By: Mark Mitchell <mark@codesourcery.com> From-SVN: r90839
Diffstat (limited to 'gcc/config/i386/i386.c')
-rw-r--r--gcc/config/i386/i386.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 71c9d98..cb807b0 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -927,6 +927,7 @@ static bool ix86_pass_by_reference (CUMULATIVE_ARGS *, enum machine_mode,
#if defined (DO_GLOBAL_CTORS_BODY) && defined (HAS_INIT_SECTION)
static void ix86_svr3_asm_out_constructor (rtx, int);
#endif
+static void i386_solaris_elf_named_section (const char *, unsigned int, tree);
/* Register class used for passing given 64bit part of the argument.
These represent classes as documented by the PS ABI, with the exception
@@ -15270,4 +15271,24 @@ void ix86_emit_i387_log1p (rtx op0, rtx op1)
emit_label (label2);
}
+/* Solaris named-section hook. Parameters are as for
+ named_section_real. */
+
+static void
+i386_solaris_elf_named_section (const char *name, unsigned int flags,
+ tree decl)
+{
+ /* With Binutils 2.15, the "@unwind" marker must be specified on
+ every occurrence of the ".eh_frame" section, not just the first
+ one. */
+ if (TARGET_64BIT
+ && strcmp (name, ".eh_frame") == 0)
+ {
+ fprintf (asm_out_file, "\t.section\t%s,\"%s\",@unwind\n", name,
+ flags & SECTION_WRITE ? "aw" : "a");
+ return;
+ }
+ default_elf_asm_named_section (name, flags, decl);
+}
+
#include "gt-i386.h"