freebsd.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /* Definitions for PowerPC running FreeBSD using the ELF format
  2. Copyright (C) 2001-2015 Free Software Foundation, Inc.
  3. Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
  4. This file is part of GCC.
  5. GCC is free software; you can redistribute it and/or modify it
  6. under the terms of the GNU General Public License as published
  7. by the Free Software Foundation; either version 3, or (at your
  8. option) any later version.
  9. GCC is distributed in the hope that it will be useful, but WITHOUT
  10. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  11. or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  12. License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with GCC; see the file COPYING3. If not see
  15. <http://www.gnu.org/licenses/>. */
  16. /* Override the defaults, which exist to force the proper definition. */
  17. #undef CPP_OS_DEFAULT_SPEC
  18. #define CPP_OS_DEFAULT_SPEC "%(cpp_os_freebsd)"
  19. #undef STARTFILE_DEFAULT_SPEC
  20. #define STARTFILE_DEFAULT_SPEC "%(startfile_freebsd)"
  21. #undef ENDFILE_DEFAULT_SPEC
  22. #define ENDFILE_DEFAULT_SPEC "%(endfile_freebsd)"
  23. #undef LIB_DEFAULT_SPEC
  24. #define LIB_DEFAULT_SPEC "%(lib_freebsd)"
  25. #undef LINK_START_DEFAULT_SPEC
  26. #define LINK_START_DEFAULT_SPEC "%(link_start_freebsd)"
  27. #undef LINK_OS_DEFAULT_SPEC
  28. #define LINK_OS_DEFAULT_SPEC "%(link_os_freebsd)"
  29. /* XXX: This is wrong for many platforms in sysv4.h.
  30. We should work on getting that definition fixed. */
  31. #undef LINK_SHLIB_SPEC
  32. #define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}"
  33. /************************[ Target stuff ]***********************************/
  34. /* Define the actual types of some ANSI-mandated types.
  35. Needs to agree with <machine/ansi.h>. GCC defaults come from c-decl.c,
  36. c-common.c, and config/<arch>/<arch>.h. */
  37. #undef SIZE_TYPE
  38. #define SIZE_TYPE "unsigned int"
  39. /* rs6000.h gets this wrong for FreeBSD. We use the GCC defaults instead. */
  40. #undef WCHAR_TYPE
  41. #undef WCHAR_TYPE_SIZE
  42. #define WCHAR_TYPE_SIZE 32
  43. /* Override rs6000.h definition. */
  44. #undef ASM_APP_ON
  45. #define ASM_APP_ON "#APP\n"
  46. /* Override rs6000.h definition. */
  47. #undef ASM_APP_OFF
  48. #define ASM_APP_OFF "#NO_APP\n"
  49. /* We don't need to generate entries in .fixup, except when
  50. -mrelocatable or -mrelocatable-lib is given. */
  51. #undef RELOCATABLE_NEEDS_FIXUP
  52. #define RELOCATABLE_NEEDS_FIXUP \
  53. (rs6000_isa_flags & rs6000_isa_flags_explicit & OPTION_MASK_RELOCATABLE)
  54. /* Use standard DWARF numbering for DWARF debugging information. */
  55. #define RS6000_USE_DWARF_NUMBERING
  56. #define POWERPC_FREEBSD