diff options
Diffstat (limited to 'contrib/gcc/config/i386/linux.h')
-rw-r--r-- | contrib/gcc/config/i386/linux.h | 45 |
1 files changed, 15 insertions, 30 deletions
diff --git a/contrib/gcc/config/i386/linux.h b/contrib/gcc/config/i386/linux.h index 6b553cd..e7d19ec 100644 --- a/contrib/gcc/config/i386/linux.h +++ b/contrib/gcc/config/i386/linux.h @@ -4,34 +4,26 @@ Contributed by Eric Youngdale. Modified for stabs-in-ELF by H.J. Lu. -This file is part of GNU CC. +This file is part of GCC. -GNU CC is free software; you can redistribute it and/or modify +GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -GNU CC is distributed in the hope that it will be useful, +GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU CC; see the file COPYING. If not, write to +along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#define LINUX_DEFAULT_ELF - /* Output at beginning of assembler file. */ /* The .file command should always begin the output. */ -#undef ASM_FILE_START -#define ASM_FILE_START(FILE) \ - do { \ - output_file_directive (FILE, main_input_filename); \ - if (ix86_asm_dialect == ASM_INTEL) \ - fputs ("\t.intel_syntax\n", FILE); \ - } while (0) +#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true #define TARGET_VERSION fprintf (stderr, " (i386 Linux/ELF)"); @@ -40,6 +32,10 @@ Boston, MA 02111-1307, USA. */ #undef DEFAULT_PCC_STRUCT_RETURN #define DEFAULT_PCC_STRUCT_RETURN 1 +/* We arrange for the whole %gs segment to map the tls area. */ +#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT +#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS + #undef ASM_COMMENT_START #define ASM_COMMENT_START "#" @@ -51,7 +47,7 @@ Boston, MA 02111-1307, USA. */ To the best of my knowledge, no Linux libc has required the label argument to mcount. */ -#define NO_PROFILE_COUNTERS +#define NO_PROFILE_COUNTERS 1 #undef MCOUNT_NAME #define MCOUNT_NAME "mcount" @@ -77,11 +73,7 @@ Boston, MA 02111-1307, USA. */ #define TARGET_OS_CPP_BUILTINS() \ do \ { \ - builtin_define_std ("linux"); \ - builtin_define_std ("unix"); \ - builtin_define ("__ELF__"); \ - builtin_define ("__gnu_linux__"); \ - builtin_assert ("system=posix"); \ + LINUX_TARGET_OS_CPP_BUILTINS(); \ if (flag_pic) \ { \ builtin_define ("__PIC__"); \ @@ -118,15 +110,6 @@ Boston, MA 02111-1307, USA. */ #undef LINK_SPEC #ifdef USE_GNULIBC_1 -#ifndef LINUX_DEFAULT_ELF -#define LINK_SPEC "-m elf_i386 %{shared:-shared} \ - %{!shared: \ - %{!ibcs: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /lib/elf/ld-linux.so.1} \ - %{!rpath:-rpath /lib/elf/}} %{static:-static}}}" -#else #define LINK_SPEC "-m elf_i386 %{shared:-shared} \ %{!shared: \ %{!ibcs: \ @@ -134,7 +117,6 @@ Boston, MA 02111-1307, USA. */ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \ %{static:-static}}}" -#endif #else #define LINK_SPEC "-m elf_i386 %{shared:-shared} \ %{!shared: \ @@ -220,6 +202,9 @@ Boston, MA 02111-1307, USA. */ : "=d"(BASE)) #endif +#undef NEED_INDICATE_EXEC_STACK +#define NEED_INDICATE_EXEC_STACK 1 + /* Do code reading to identify a signal frame, and set the frame state data appropriately. See unwind-dw2.c for the structs. */ @@ -228,7 +213,7 @@ Boston, MA 02111-1307, USA. */ signal-turned-exceptions for them. There's also no configure-run for the target, so we can't check on (e.g.) HAVE_SYS_UCONTEXT_H. Using the target libc1 macro should be enough. */ -#ifndef USE_GNULIBC_1 +#if !(defined (USE_GNULIBC_1) || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 0)) #include <signal.h> #include <sys/ucontext.h> |