]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when flag_pic is set.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Tue, 22 Nov 2005 03:09:59 +0000 (03:09 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Tue, 22 Nov 2005 03:09:59 +0000 (03:09 +0000)
* 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.

From-SVN: r107347

32 files changed:
gcc/ChangeLog
gcc/c-cppbuiltin.c
gcc/config/alpha/freebsd.h
gcc/config/alpha/linux.h
gcc/config/arm/linux-elf.h
gcc/config/bfin/bfin.h
gcc/config/cris/linux.h
gcc/config/darwin.h
gcc/config/freebsd-spec.h
gcc/config/i386/beos-elf.h
gcc/config/i386/gnu.h
gcc/config/i386/linux.h
gcc/config/i386/linux64.h
gcc/config/i386/nto.h
gcc/config/i386/sco5.h
gcc/config/m32r/m32r.h
gcc/config/m68k/linux.h
gcc/config/m68k/m68k.h
gcc/config/mips/linux.h
gcc/config/pa/pa-linux.h
gcc/config/rs6000/linux64.h
gcc/config/rs6000/sysv4.h
gcc/config/rs6000/vxworks.h
gcc/config/s390/linux.h
gcc/config/s390/tpf.h
gcc/config/sh/linux.h
gcc/config/sh/sh.h
gcc/config/sol2.h
gcc/config/sparc/linux.h
gcc/config/sparc/linux64.h
gcc/config/xtensa/xtensa.h
gcc/doc/invoke.texi

index 0fa5ae51e4070db48bfe65e40cf7a25be8a687a3..1261f4843b774385125ea5216999ffc15771f4f4 100644 (file)
@@ -1,3 +1,24 @@
+2005-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * 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  <joseph@codesourcery.com>
 
        * config/fp-bit.c (clzusi): New function.
index 9020e0b49f9493c3e1a2bcdbd87fc73d352a1cf0..e0d6189200953c16e819ef3744d245c01e9ae19a 100644 (file)
@@ -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__");
index 5bf328eeaadf7bd087f02c7f26ea92e07f495447..ca49a8bb0cd0e761c9083ca07f2a1f019c92d925 100644 (file)
@@ -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}"
index 2768748a2d919d0c02041b0dac689e0495613713..ffb581c4f53e15ddff65a537a94f425895794c8f 100644 (file)
@@ -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
index 15354e5ba0d63bc9c018e2d329340209b9294e99..c3ae2bed2e85aeda4928f97efb60595ec0a801fe 100644 (file)
   do                                           \
     {                                          \
        LINUX_TARGET_OS_CPP_BUILTINS();         \
-       if (flag_pic)                           \
-         {                                     \
-               builtin_define ("__PIC__");     \
-               builtin_define ("__pic__");     \
-         }                                     \
     }                                          \
   while (0)
 
index be4e565c37eb0f63a325d620afa1e8319a56c320..0e6da5c08a887d7fe4ec60db0c3228cae4410f42 100644 (file)
@@ -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
index 57ae745d9d5113557ab78d6d0b0166b64a33a198..09968f42e2619e4db34d813b30ae7c7f6eb3bf06 100644 (file)
@@ -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__");  \
     }                                          \
index 5b17c34859b538acd52c75ec7953daf8ab73fee2..a78d1d33b075591ed92538f3fc598561753fa4be 100644 (file)
@@ -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
index f0e0bcd2e132ec9aa344200896c595332b7f42a3..f60e94f3aeddbe8a1ac7b97dfe454948a1fabc8e 100644 (file)
@@ -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
index 9f86eb7b6a50ac39eb49f5d79eda5e81edd30fcb..f1e2cf8c6e1945773b599eb9f5d33303075177aa 100644 (file)
@@ -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)
     
index ce80c9821fdc1ed4c5781ba78b3d4f126654d9b8..d40ff7d664a8d7d904d8605c255a8e945bf6537a 100644 (file)
@@ -8,11 +8,6 @@
   do                                           \
     {                                          \
        HURD_TARGET_OS_CPP_BUILTINS();          \
-       if (flag_pic)                           \
-         {                                     \
-           builtin_define ("__PIC__");         \
-           builtin_define ("__pic__");         \
-         }                                     \
     }                                          \
   while (0)
 
index f85a9ef6cbb1d6e30c324150034073f73921beb8..2d6fb680146376ae3b1e1434745c96ba9479f90d 100644 (file)
@@ -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)
 
index d3ab452db324bae2efe858cb89eac84dd6d9cc99..a3030945126fad71994f58755c637048bfc7d262 100644 (file)
@@ -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)
 
index 92cf9f49df320b1894dd4faca45de01dbe92dcf3..1095a6313198802a47ad11da9b7106e1a7a15b22 100644 (file)
@@ -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)
 
index 15d74fab15056b2415c6338694c4b5a5aa179487..026ffd832fb517270a4b56f5537f4d9108f1ff55 100644 (file)
@@ -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)
 
index 4b85a4264063820bd5ef31b8a425037627713918..7f82a1cd3bf76a917ef6f8292d4e16681fce17d4 100644 (file)
       builtin_assert ("machine=m32r");         \
       builtin_define (TARGET_BIG_ENDIAN                \
                       ? "__BIG_ENDIAN__" : "__LITTLE_ENDIAN__"); \
-      if (flag_pic)                            \
-        {                                      \
-          builtin_define ("__pic__");          \
-          builtin_define ("__PIC__");          \
-        }                                      \
     }                                          \
   while (0)
 
index 5a693d05739d596c23f1fc12188fa762293804e0..5036af9f24c4749142fd09454973ba25509286d5 100644 (file)
@@ -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
index 5320749b464839b77f7ad3b9381c79585ec65ee2..3f140d4d127c51908067ee17bdc11ac2eac22d6a 100644 (file)
@@ -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");         \
     }                                          \
index a314508e04cc3770fac6a1265faba4149e5daa52..a135bba75a8a22ed6b5bd0407795f823acf89ceb 100644 (file)
@@ -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");                          \
index fcbcebdb949f5aad461fcce0052a9b5e75a26bba..527977f15e269fd75b1fa6634cda35ff833ed76a 100644 (file)
@@ -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)
 
index 1c4dc1f312abbc0cf316d62606e808f70c347655..46ae2b9867dc97a46d18ef936f0ee4aa1455ad84 100644 (file)
@@ -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");         \
        }                                               \
index d5388320c7c31943d591d411b7aa730c750c6b5c..38d921a4692d4e7ebce645b3cd07d8f6239567fa 100644 (file)
@@ -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");        \
index d389ace8d456ac1bbb48be33ffcef211db831329..273a4357a28693a897e3a4ab696fc1bf1238d9cf 100644 (file)
@@ -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");       \
index 4f58c734547e87689c7fb3bb3967a92a3030a767..7fd5711a8a412e9ef21953bbc99d016a9642f0fd 100644 (file)
@@ -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)
 
index 02fa8f2640ebb0bdfb01dd2887ebff749ca94cce..f0a63f7d255f03b801dfb915f705c2fbac3f8958 100644 (file)
@@ -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)
 
index c38055208c80f142927f8ec1ade5a59d212fe770..6956e4dfccd6236f1a1867ebb2315f5c59596726 100644 (file)
@@ -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)
 
index 486cc97544d7c85e1e9b3b13809b3d96f6e4e235..7f541fbda8bfc611dcc9208158be7c8344989f96 100644 (file)
@@ -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.  */
index 176d23b5ea1fa5d86a395e7a0c9a5ceb8b486590..51f9bd82e977e9974f981e1fade9ced7c0a85cf0 100644 (file)
@@ -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)
 
index 813a18dc01acd123998ab42adbc5ca62806ec68e..10edd746f7f965b9533faf85006558e8a3362ec5 100644 (file)
@@ -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)
 
index dc89408d5268222c5623841027f963c4b5da5f8d..e4fe918e6a42d5df11fa8f446a5e5dd0e0321158 100644 (file)
@@ -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)
 
index 3fc8abdc3a403aae3b417630a01b0cff8fadcb61..8434d1983efec3a5c0bb2e7f754cb80f57ed6089 100644 (file)
@@ -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) "
index c8a72c4b3dcd20de4f4a48dd53ff24cf72bc680d..e84f72849317c06b405eec6608eb349f74837dc7 100644 (file)
@@ -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