From a3b9d369501884ed81bb84239df3727f47fb64e4 Mon Sep 17 00:00:00 2001 From: ghazi Date: Tue, 22 Nov 2005 03:09:59 +0000 Subject: [PATCH] * c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when flag_pic is set. * config/alpha/freebsd.h, config/alpha/linux.h, config/arm/linux-elf.h, config/bfin/bfin.h, config/cris/linux.h, config/darwin.h, config/freebsd-spec.h, config/i386/beos-elf.h, config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h, config/i386/nto.h, config/i386/sco5.h, config/m32r/m32r.h, config/m68k/linux.h, config/m68k/m68k.h, config/mips/linux.h, config/pa/pa-linux.h, config/rs6000/linux64.h, config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h, config/s390/tpf.h, config/sh/linux.h, config/sh/sh.h, config/sol2.h, config/sparc/linux.h, config/sparc/linux64.h, config/xtensa/xtensa.h: Don't define __pic__ or __PIC__. * doc/invoke.texi: Document that the macros __pic__ and __PIC__ are both defined when either flag -fpic or -fPIC are used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107347 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 21 +++++++++++++++++++++ gcc/c-cppbuiltin.c | 5 +++++ gcc/config/alpha/freebsd.h | 19 +++---------------- gcc/config/alpha/linux.h | 5 ----- gcc/config/arm/linux-elf.h | 5 ----- gcc/config/bfin/bfin.h | 5 ----- gcc/config/cris/linux.h | 5 ----- gcc/config/darwin.h | 8 -------- gcc/config/freebsd-spec.h | 1 - gcc/config/i386/beos-elf.h | 5 ----- gcc/config/i386/gnu.h | 5 ----- gcc/config/i386/linux.h | 5 ----- gcc/config/i386/linux64.h | 5 ----- gcc/config/i386/nto.h | 5 ----- gcc/config/i386/sco5.h | 5 ----- gcc/config/m32r/m32r.h | 5 ----- gcc/config/m68k/linux.h | 4 ++-- gcc/config/m68k/m68k.h | 6 ------ gcc/config/mips/linux.h | 5 ----- gcc/config/pa/pa-linux.h | 5 ----- gcc/config/rs6000/linux64.h | 1 - gcc/config/rs6000/sysv4.h | 10 ---------- gcc/config/rs6000/vxworks.h | 10 ---------- gcc/config/s390/linux.h | 5 ----- gcc/config/s390/tpf.h | 5 ----- gcc/config/sh/linux.h | 5 ----- gcc/config/sh/sh.h | 5 ----- gcc/config/sol2.h | 5 ----- gcc/config/sparc/linux.h | 5 ----- gcc/config/sparc/linux64.h | 5 ----- gcc/config/xtensa/xtensa.h | 5 ----- gcc/doc/invoke.texi | 6 ++++++ 32 files changed, 37 insertions(+), 159 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0fa5ae51e40..1261f4843b7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,24 @@ +2005-11-21 Kaveh R. Ghazi + + * c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when + flag_pic is set. + + * config/alpha/freebsd.h, config/alpha/linux.h, + config/arm/linux-elf.h, config/bfin/bfin.h, + config/cris/linux.h, config/darwin.h, config/freebsd-spec.h, + config/i386/beos-elf.h, config/i386/gnu.h, + config/i386/linux.h, config/i386/linux64.h, config/i386/nto.h, + config/i386/sco5.h, config/m32r/m32r.h, config/m68k/linux.h, + config/m68k/m68k.h, config/mips/linux.h, config/pa/pa-linux.h, + config/rs6000/linux64.h, config/rs6000/sysv4.h, + config/rs6000/vxworks.h, config/s390/linux.h, config/s390/tpf.h, + config/sh/linux.h, config/sh/sh.h, config/sol2.h, + config/sparc/linux.h, config/sparc/linux64.h, + config/xtensa/xtensa.h: Don't define __pic__ or __PIC__. + + * doc/invoke.texi: Document that the macros __pic__ and __PIC__ + are both defined when either flag -fpic or -fPIC are used. + 2005-11-22 Joseph S. Myers * config/fp-bit.c (clzusi): New function. diff --git a/gcc/c-cppbuiltin.c b/gcc/c-cppbuiltin.c index 9020e0b49f9..e0d61892009 100644 --- a/gcc/c-cppbuiltin.c +++ b/gcc/c-cppbuiltin.c @@ -419,6 +419,11 @@ c_cpp_builtins (cpp_reader *pfile) cpp_define (pfile, "__FINITE_MATH_ONLY__=1"); else cpp_define (pfile, "__FINITE_MATH_ONLY__=0"); + if (flag_pic) + { + builtin_define_with_int_value ("__pic__", flag_pic); + builtin_define_with_int_value ("__PIC__", flag_pic); + } if (flag_iso) cpp_define (pfile, "__STRICT_ANSI__"); diff --git a/gcc/config/alpha/freebsd.h b/gcc/config/alpha/freebsd.h index 5bf328eeaad..ca49a8bb0cd 100644 --- a/gcc/config/alpha/freebsd.h +++ b/gcc/config/alpha/freebsd.h @@ -24,22 +24,9 @@ Boston, MA 02110-1301, USA. */ #define SUBTARGET_EXTRA_SPECS \ { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER } -/* Provide a FBSD_TARGET_CPU_CPP_BUILTINS and CPP_SPEC appropriate for - FreeBSD/alpha. Besides the dealing with - the GCC option `-posix', and PIC issues as on all FreeBSD platforms, we must - deal with the Alpha's FP issues. */ - -#undef FBSD_TARGET_CPU_CPP_BUILTINS -#define FBSD_TARGET_CPU_CPP_BUILTINS() \ - do \ - { \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ - } \ - while (0) +/* Provide a CPP_SPEC appropriate for FreeBSD/alpha. Besides the + dealing with the GCC option `-posix', we must deal with the Alpha's + FP issues. */ #undef CPP_SPEC #define CPP_SPEC "%(cpp_subtarget) %{posix:-D_POSIX_SOURCE}" diff --git a/gcc/config/alpha/linux.h b/gcc/config/alpha/linux.h index 2768748a2d9..ffb581c4f53 100644 --- a/gcc/config/alpha/linux.h +++ b/gcc/config/alpha/linux.h @@ -36,11 +36,6 @@ Boston, MA 02110-1301, USA. */ /* The GNU C++ standard library requires this. */ \ if (c_dialect_cxx ()) \ builtin_define ("_GNU_SOURCE"); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } while (0) #undef LIB_SPEC diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h index 15354e5ba0d..c3ae2bed2e8 100644 --- a/gcc/config/arm/linux-elf.h +++ b/gcc/config/arm/linux-elf.h @@ -71,11 +71,6 @@ do \ { \ LINUX_TARGET_OS_CPP_BUILTINS(); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h index be4e565c37e..0e6da5c08a8 100644 --- a/gcc/config/bfin/bfin.h +++ b/gcc/config/bfin/bfin.h @@ -41,11 +41,6 @@ extern int target_flags; { \ builtin_define ("bfin"); \ builtin_define ("BFIN"); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) #endif diff --git a/gcc/config/cris/linux.h b/gcc/config/cris/linux.h index 57ae745d9d5..09968f42e26 100644 --- a/gcc/config/cris/linux.h +++ b/gcc/config/cris/linux.h @@ -96,11 +96,6 @@ Boston, MA 02110-1301, USA. */ do \ { \ LINUX_TARGET_OS_CPP_BUILTINS(); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ if (flag_leading_underscore <= 0) \ builtin_define ("__NO_UNDERSCORES__"); \ } \ diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 5b17c34859b..a78d1d33b07 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -140,14 +140,6 @@ Boston, MA 02110-1301, USA. */ { "-unexported_symbols_list", "-Zunexported_symbols_list" }, \ SUBTARGET_OPTION_TRANSLATE_TABLE -#define SUBTARGET_OS_CPP_BUILTINS() \ - do \ - { \ - if (flag_pic) \ - builtin_define ("__PIC__"); \ - } \ - while (0) - /* These compiler options take n arguments. */ #undef WORD_SWITCH_TAKES_ARG diff --git a/gcc/config/freebsd-spec.h b/gcc/config/freebsd-spec.h index f0e0bcd2e13..f60e94f3aed 100644 --- a/gcc/config/freebsd-spec.h +++ b/gcc/config/freebsd-spec.h @@ -85,7 +85,6 @@ Boston, MA 02110-1301, USA. */ #define FBSD_CPP_SPEC " \ %(cpp_cpu) \ %(cpp_arch) \ - %{fPIC|fpic|fPIE|fpie:-D__PIC__ -D__pic__} \ %{posix:-D_POSIX_SOURCE}" /* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add diff --git a/gcc/config/i386/beos-elf.h b/gcc/config/i386/beos-elf.h index 9f86eb7b6a5..f1e2cf8c6e1 100644 --- a/gcc/config/i386/beos-elf.h +++ b/gcc/config/i386/beos-elf.h @@ -67,11 +67,6 @@ Boston, MA 02110-1301, USA. */ builtin_define ("__stdcall=__attribute__((__stdcall__))"); \ builtin_define ("__cdecl=__attribute__((__cdecl__))"); \ builtin_assert ("system=beos"); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/i386/gnu.h b/gcc/config/i386/gnu.h index ce80c9821fd..d40ff7d664a 100644 --- a/gcc/config/i386/gnu.h +++ b/gcc/config/i386/gnu.h @@ -8,11 +8,6 @@ do \ { \ HURD_TARGET_OS_CPP_BUILTINS(); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h index f85a9ef6cbb..2d6fb680146 100644 --- a/gcc/config/i386/linux.h +++ b/gcc/config/i386/linux.h @@ -74,11 +74,6 @@ Boston, MA 02110-1301, USA. */ do \ { \ LINUX_TARGET_OS_CPP_BUILTINS(); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h index d3ab452db32..a3030945126 100644 --- a/gcc/config/i386/linux64.h +++ b/gcc/config/i386/linux64.h @@ -25,11 +25,6 @@ Boston, MA 02110-1301, USA. */ do \ { \ LINUX_TARGET_OS_CPP_BUILTINS(); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/i386/nto.h b/gcc/config/i386/nto.h index 92cf9f49df3..1095a631319 100644 --- a/gcc/config/i386/nto.h +++ b/gcc/config/i386/nto.h @@ -37,11 +37,6 @@ Boston, MA 02110-1301, USA. */ builtin_assert ("system=qnxnto"); \ builtin_assert ("system=nto"); \ builtin_assert ("system=unix"); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/i386/sco5.h b/gcc/config/i386/sco5.h index 15d74fab150..026ffd832fb 100644 --- a/gcc/config/i386/sco5.h +++ b/gcc/config/i386/sco5.h @@ -221,11 +221,6 @@ Boston, MA 02110-1301, USA. */ builtin_assert ("system=svr3"); \ if (flag_iso) \ cpp_define (pfile, "_STRICT_ANSI"); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h index 4b85a426406..7f82a1cd3bf 100644 --- a/gcc/config/m32r/m32r.h +++ b/gcc/config/m32r/m32r.h @@ -112,11 +112,6 @@ builtin_assert ("machine=m32r"); \ builtin_define (TARGET_BIG_ENDIAN \ ? "__BIG_ENDIAN__" : "__LITTLE_ENDIAN__"); \ - if (flag_pic) \ - { \ - builtin_define ("__pic__"); \ - builtin_define ("__PIC__"); \ - } \ } \ while (0) diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h index 5a693d05739..5036af9f24c 100644 --- a/gcc/config/m68k/linux.h +++ b/gcc/config/m68k/linux.h @@ -94,10 +94,10 @@ Boston, MA 02110-1301, USA. */ #undef CPP_SPEC #if TARGET_DEFAULT & MASK_68881 #define CPP_SPEC \ - "%{fPIC|fpic|fPIE|fpie:-D__PIC__ -D__pic__} %{!msoft-float:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" + "%{!msoft-float:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" #else #define CPP_SPEC \ - "%{fPIC|fpic|fPIE|fpie:-D__PIC__ -D__pic__} %{m68881:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" + "%{m68881:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" #endif /* We override the ASM_SPEC from svr4.h because we must pass -m68040 down diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 5320749b464..3f140d4d127 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -92,12 +92,6 @@ Boston, MA 02110-1301, USA. */ } \ if (TARGET_CF_HWDIV) \ builtin_define ("__mcfhwdiv__"); \ - if (flag_pic) \ - { \ - builtin_define ("__pic__"); \ - if (flag_pic > 1) \ - builtin_define ("__PIC__"); \ - } \ builtin_assert ("cpu=m68k"); \ builtin_assert ("machine=m68k"); \ } \ diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h index a314508e04c..a135bba75a8 100644 --- a/gcc/config/mips/linux.h +++ b/gcc/config/mips/linux.h @@ -56,11 +56,6 @@ Boston, MA 02110-1301, USA. */ #define TARGET_OS_CPP_BUILTINS() \ do { \ LINUX_TARGET_OS_CPP_BUILTINS(); \ - if (TARGET_ABICALLS) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ /* The GNU C++ standard library requires this. */ \ if (c_dialect_cxx ()) \ builtin_define ("_GNU_SOURCE"); \ diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h index fcbcebdb949..527977f15e2 100644 --- a/gcc/config/pa/pa-linux.h +++ b/gcc/config/pa/pa-linux.h @@ -25,11 +25,6 @@ Boston, MA 02110-1301, USA. */ { \ LINUX_TARGET_OS_CPP_BUILTINS(); \ builtin_assert ("machine=bigendian"); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 1c4dc1f312a..46ae2b9867d 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -289,7 +289,6 @@ extern int dot_symbols; builtin_define ("__PPC64__"); \ builtin_define ("__powerpc__"); \ builtin_define ("__powerpc64__"); \ - builtin_define ("__PIC__"); \ builtin_assert ("cpu=powerpc64"); \ builtin_assert ("machine=powerpc64"); \ } \ diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h index d5388320c7c..38d921a4692 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -685,16 +685,6 @@ extern int fixuplabelno; #define TARGET_OS_SYSV_CPP_BUILTINS() \ do \ { \ - if (flag_pic == 1) \ - { \ - builtin_define ("__pic__=1"); \ - builtin_define ("__PIC__=1"); \ - } \ - else if (flag_pic == 2) \ - { \ - builtin_define ("__pic__=2"); \ - builtin_define ("__PIC__=2"); \ - } \ if (target_flags_explicit \ & MASK_RELOCATABLE) \ builtin_define ("_RELOCATABLE"); \ diff --git a/gcc/config/rs6000/vxworks.h b/gcc/config/rs6000/vxworks.h index d389ace8d45..273a4357a28 100644 --- a/gcc/config/rs6000/vxworks.h +++ b/gcc/config/rs6000/vxworks.h @@ -41,16 +41,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA builtin_define ("__VXWORKS__"); \ if (!TARGET_SOFT_FLOAT) \ builtin_define ("__hardfp"); \ - if (flag_pic == 2) \ - { \ - builtin_define ("__PIC__=2"); \ - builtin_define ("__pic__=2"); \ - } \ - else if (flag_pic == 1) \ - { \ - builtin_define ("__PIC__=1"); \ - builtin_define ("__pic__=1"); \ - } \ \ /* C89 namespace violation! */ \ builtin_define ("CPU_FAMILY=PPC"); \ diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h index 4f58c734547..7fd5711a8a4 100644 --- a/gcc/config/s390/linux.h +++ b/gcc/config/s390/linux.h @@ -54,11 +54,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA do \ { \ LINUX_TARGET_OS_CPP_BUILTINS(); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/s390/tpf.h b/gcc/config/s390/tpf.h index 02fa8f2640e..f0a63f7d255 100644 --- a/gcc/config/s390/tpf.h +++ b/gcc/config/s390/tpf.h @@ -72,11 +72,6 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA builtin_define_std ("tpf"); \ builtin_assert ("system=tpf"); \ builtin_define ("__ELF__"); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h index c38055208c8..6956e4dfccd 100644 --- a/gcc/config/sh/linux.h +++ b/gcc/config/sh/linux.h @@ -38,11 +38,6 @@ Boston, MA 02110-1301, USA. */ do \ { \ LINUX_TARGET_OS_CPP_BUILTINS(); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 486cc97544d..7f541fbda8b 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -92,11 +92,6 @@ do { \ builtin_define ("__HITACHI__"); \ builtin_define (TARGET_LITTLE_ENDIAN \ ? "__LITTLE_ENDIAN__" : "__BIG_ENDIAN__"); \ - if (flag_pic) \ - { \ - builtin_define ("__pic__"); \ - builtin_define ("__PIC__"); \ - } \ } while (0) /* We can not debug without a frame pointer. */ diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h index 176d23b5ea1..51f9bd82e97 100644 --- a/gcc/config/sol2.h +++ b/gcc/config/sol2.h @@ -72,11 +72,6 @@ Boston, MA 02110-1301, USA. */ builtin_define ("_LARGEFILE64_SOURCE=1"); \ builtin_define ("__EXTENSIONS__"); \ } \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ TARGET_SUB_OS_CPP_BUILTINS(); \ } while (0) diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h index 813a18dc01a..10edd746f7f 100644 --- a/gcc/config/sparc/linux.h +++ b/gcc/config/sparc/linux.h @@ -29,11 +29,6 @@ Boston, MA 02110-1301, USA. */ builtin_assert ("system=linux"); \ builtin_assert ("system=unix"); \ builtin_assert ("system=posix"); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h index dc89408d526..e4fe918e6a4 100644 --- a/gcc/config/sparc/linux64.h +++ b/gcc/config/sparc/linux64.h @@ -30,11 +30,6 @@ Boston, MA 02110-1301, USA. */ builtin_assert ("system=linux"); \ builtin_assert ("system=unix"); \ builtin_assert ("system=posix"); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } \ while (0) diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h index 3fc8abdc3a4..8434d1983ef 100644 --- a/gcc/config/xtensa/xtensa.h +++ b/gcc/config/xtensa/xtensa.h @@ -90,11 +90,6 @@ extern unsigned xtensa_current_frame_size; builtin_define (TARGET_BIG_ENDIAN ? "__XTENSA_EB__" : "__XTENSA_EL__"); \ if (!TARGET_HARD_FLOAT) \ builtin_define ("__XTENSA_SOFT_FLOAT__"); \ - if (flag_pic) \ - { \ - builtin_define ("__PIC__"); \ - builtin_define ("__pic__"); \ - } \ } while (0) #define CPP_SPEC " %(subtarget_cpp_spec) " diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index c8a72c4b3dc..e84f7284931 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -12882,6 +12882,9 @@ only on certain machines. For the 386, GCC supports PIC for System V but not for the Sun 386i. Code generated for the IBM RS/6000 is always position-independent. +When this flag is set, the macros @code{__pic__} and @code{__PIC__} +are defined to 1. + @item -fPIC @opindex fPIC If supported for the target machine, emit position-independent code, @@ -12892,6 +12895,9 @@ PowerPC and SPARC@. Position-independent code requires special support, and therefore works only on certain machines. +When this flag is set, the macros @code{__pic__} and @code{__PIC__} +are defined to 2. + @item -fpie @itemx -fPIE @opindex fpie -- 2.11.4.GIT