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" \ |
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 --- |