OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [config/] [arm/] [symbian.h] - Diff between revs 38 and 154

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 38 Rev 154
/* Configuration file for Symbian OS on ARM processors.
/* Configuration file for Symbian OS on ARM processors.
   Copyright (C) 2004, 2005, 2007
   Copyright (C) 2004, 2005, 2007
   Free Software Foundation, Inc.
   Free Software Foundation, Inc.
   Contributed by CodeSourcery, LLC
   Contributed by CodeSourcery, LLC
 
 
   This file is part of GCC.
   This file is part of GCC.
 
 
   GCC is free software; you can redistribute it and/or modify it
   GCC is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published
   under the terms of the GNU General Public License as published
   by the Free Software Foundation; either version 3, or (at your
   by the Free Software Foundation; either version 3, or (at your
   option) any later version.
   option) any later version.
 
 
   GCC is distributed in the hope that it will be useful, but WITHOUT
   GCC is distributed in the hope that it will be useful, but WITHOUT
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
   License for more details.
   License for more details.
 
 
   You should have received a copy of the GNU General Public License
   You should have received a copy of the GNU General Public License
   along with GCC; see the file COPYING3.  If not see
   along with GCC; see the file COPYING3.  If not see
   <http://www.gnu.org/licenses/>.  */
   <http://www.gnu.org/licenses/>.  */
 
 
/* Do not expand builtin functions (unless explicitly prefixed with
/* Do not expand builtin functions (unless explicitly prefixed with
   "__builtin").  Symbian OS code relies on properties of the standard
   "__builtin").  Symbian OS code relies on properties of the standard
   library that go beyond those guaranteed by the ANSI/ISO standard.
   library that go beyond those guaranteed by the ANSI/ISO standard.
   For example, "memcpy" works even with overlapping memory, like
   For example, "memcpy" works even with overlapping memory, like
   "memmove".  We cannot simply set flag_no_builtin in arm.c because
   "memmove".  We cannot simply set flag_no_builtin in arm.c because
   (a) flag_no_builtin is not declared in language-independent code,
   (a) flag_no_builtin is not declared in language-independent code,
   and (b) that would prevent users from explicitly overriding the
   and (b) that would prevent users from explicitly overriding the
   default with -fbuiltin, which may sometimes be useful.
   default with -fbuiltin, which may sometimes be useful.
 
 
   Make all symbols hidden by default.  Symbian OS expects that all
   Make all symbols hidden by default.  Symbian OS expects that all
   exported symbols will be explicitly marked with
   exported symbols will be explicitly marked with
   "__declspec(dllexport)".
   "__declspec(dllexport)".
 
 
   Enumeration types use 4 bytes, even if the enumerals are small,
   Enumeration types use 4 bytes, even if the enumerals are small,
   unless explicitly overridden.
   unless explicitly overridden.
 
 
   The wchar_t type is a 2-byte type, unless explicitly
   The wchar_t type is a 2-byte type, unless explicitly
   overridden.  */
   overridden.  */
#define CC1_SPEC                                                \
#define CC1_SPEC                                                \
  "%{!fbuiltin:%{!fno-builtin:-fno-builtin}} "                  \
  "%{!fbuiltin:%{!fno-builtin:-fno-builtin}} "                  \
  "%{!fvisibility=*:-fvisibility=hidden} "                      \
  "%{!fvisibility=*:-fvisibility=hidden} "                      \
  "%{!fshort-enums:%{!fno-short-enums:-fno-short-enums}} "      \
  "%{!fshort-enums:%{!fno-short-enums:-fno-short-enums}} "      \
  "%{!fshort-wchar:%{!fno-short-wchar:-fshort-wchar}} "
  "%{!fshort-wchar:%{!fno-short-wchar:-fshort-wchar}} "
#define CC1PLUS_SPEC CC1_SPEC
#define CC1PLUS_SPEC CC1_SPEC
 
 
/* Symbian OS does not use crt*.o, unlike the generic unknown-elf
/* Symbian OS does not use crt*.o, unlike the generic unknown-elf
   configuration.  */
   configuration.  */
#undef STARTFILE_SPEC
#undef STARTFILE_SPEC
#define STARTFILE_SPEC ""
#define STARTFILE_SPEC ""
 
 
#undef ENDFILE_SPEC
#undef ENDFILE_SPEC
#define ENDFILE_SPEC ""
#define ENDFILE_SPEC ""
 
 
/* Do not link with any libraries by default.  On Symbian OS, the user
/* Do not link with any libraries by default.  On Symbian OS, the user
   must supply all required libraries on the command line.  */
   must supply all required libraries on the command line.  */
#undef LIB_SPEC
#undef LIB_SPEC
#define LIB_SPEC ""
#define LIB_SPEC ""
 
 
/* Support the "dllimport" attribute.  */
/* Support the "dllimport" attribute.  */
#define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
#define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
 
 
/* Symbian OS assumes ARM V5 or above.  Since -march=armv5 is
/* Symbian OS assumes ARM V5 or above.  Since -march=armv5 is
   equivalent to making the ARM 10TDMI core the default, we can set
   equivalent to making the ARM 10TDMI core the default, we can set
   SUBTARGET_CPU_DEFAULT and get an equivalent effect.  */
   SUBTARGET_CPU_DEFAULT and get an equivalent effect.  */
#undef SUBTARGET_CPU_DEFAULT
#undef SUBTARGET_CPU_DEFAULT
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
 
 
/* The assembler should assume VFP FPU format, and armv5t.  */
/* The assembler should assume VFP FPU format, and armv5t.  */
#undef SUBTARGET_ASM_FLOAT_SPEC
#undef SUBTARGET_ASM_FLOAT_SPEC
#define SUBTARGET_ASM_FLOAT_SPEC \
#define SUBTARGET_ASM_FLOAT_SPEC \
  "%{!mfpu=*:-mfpu=vfp} %{!mcpu=*:%{!march=*:-march=armv5t}}"
  "%{!mfpu=*:-mfpu=vfp} %{!mcpu=*:%{!march=*:-march=armv5t}}"
 
 
/* SymbianOS provides the BPABI routines in a separate library.
/* SymbianOS provides the BPABI routines in a separate library.
   Therefore, we do not need to define any of them in libgcc.  */
   Therefore, we do not need to define any of them in libgcc.  */
#undef RENAME_LIBRARY
#undef RENAME_LIBRARY
#define RENAME_LIBRARY(GCC_NAME, AEABI_NAME) /* empty */
#define RENAME_LIBRARY(GCC_NAME, AEABI_NAME) /* empty */
 
 
/* Define the __symbian__ macro.  */
/* Define the __symbian__ macro.  */
#undef TARGET_OS_CPP_BUILTINS
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS()                \
#define TARGET_OS_CPP_BUILTINS()                \
  do                                            \
  do                                            \
    {                                           \
    {                                           \
      /* Include the default BPABI stuff.  */   \
      /* Include the default BPABI stuff.  */   \
      TARGET_BPABI_CPP_BUILTINS ();             \
      TARGET_BPABI_CPP_BUILTINS ();             \
      builtin_define ("__symbian__");           \
      builtin_define ("__symbian__");           \
    }                                           \
    }                                           \
  while (false)
  while (false)
 
 
/* On SymbianOS, these sections are not writable, so we use "a",
/* On SymbianOS, these sections are not writable, so we use "a",
   rather than "aw", for the section attributes.  */
   rather than "aw", for the section attributes.  */
#undef ARM_EABI_CTORS_SECTION_OP
#undef ARM_EABI_CTORS_SECTION_OP
#define ARM_EABI_CTORS_SECTION_OP \
#define ARM_EABI_CTORS_SECTION_OP \
  "\t.section\t.init_array,\"a\",%init_array"
  "\t.section\t.init_array,\"a\",%init_array"
#undef ARM_EABI_DTORS_SECTION_OP
#undef ARM_EABI_DTORS_SECTION_OP
#define ARM_EABI_DTORS_SECTION_OP \
#define ARM_EABI_DTORS_SECTION_OP \
  "\t.section\t.fini_array,\"a\",%fini_array"
  "\t.section\t.fini_array,\"a\",%fini_array"
 
 
/* SymbianOS cannot merge entities with vague linkage at runtime.  */
/* SymbianOS cannot merge entities with vague linkage at runtime.  */
#define TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P false
#define TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P false
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.