Deleted Added
full compact
1/* Definitions for PowerPC running FreeBSD using the ELF format
2 Copyright (C) 2001, 2003 Free Software Foundation, Inc.
3 Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
4
5 This file is part of GCC.
6
7 GCC is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published

--- 23 unchanged lines hidden (view full) ---

32
33/* On 64-bit systems, use the AIX ABI like Linux and NetBSD */
34
35#undef DEFAULT_ABI
36#define DEFAULT_ABI (TARGET_64BIT ? ABI_AIX : ABI_V4)
37#undef TARGET_AIX
38#define TARGET_AIX TARGET_64BIT
39
40#ifdef HAVE_LD_NO_DOT_SYMS
41/* New ABI uses a local sym for the function entry point. */
42extern int dot_symbols;
43#undef DOT_SYMBOLS
44#define DOT_SYMBOLS dot_symbols
45#endif
46
47#undef FBSD_TARGET_CPU_CPP_BUILTINS
48#define FBSD_TARGET_CPU_CPP_BUILTINS() \
49 do \
50 { \
51 builtin_define ("__PPC__"); \
52 builtin_define ("__ppc__"); \
53 builtin_define ("__PowerPC__"); \
54 builtin_define ("__powerpc__"); \

--- 143 unchanged lines hidden (view full) ---

198
199/* _init and _fini functions are built from bits spread across many
200 object files, each potentially with a different TOC pointer. For
201 that reason, place a nop after the call so that the linker can
202 restore the TOC pointer if a TOC adjusting call stub is needed. */
203#ifdef __powerpc64__
204#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \
205 asm (SECTION_OP "\n" \
199" bl ." #FUNC "\n" \
206" bl " #FUNC "\n" \
207" nop\n" \
208" .previous");
209#endif
210
211/* __throw will restore its own return address to be the same as the
212 return address of the function that the throw is being made to.
213 This is unfortunate, because we want to check the original
214 return address to see if we need to restore the TOC.

--- 41 unchanged lines hidden ---