OSDN Git Service

* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Oct 2005 01:57:45 +0000 (01:57 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Oct 2005 01:57:45 +0000 (01:57 +0000)
peculiarity of GOT/TOC section usage.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105836 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index f5ad534..54db2b2 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
+       peculiarity of GOT/TOC section usage.
+
 2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR objc/24435
index 4f8e489..3c33a81 100644 (file)
@@ -2978,6 +2978,11 @@ rs6000_legitimize_tls_address (rtx addr, enum tls_model model)
     {
       rtx r3, got, tga, tmp1, tmp2, eqv;
 
+      /* We currently use relocations like @got@tlsgd for tls, which
+        means the linker will handle allocation of tls entries, placing
+        them in the .got section.  So use a pointer to the .got section,
+        not one to secondary TOC sections used by 64-bit -mminimal-toc,
+        or to secondary GOT sections used by 32-bit -fPIC.  */
       if (TARGET_64BIT)
        got = gen_rtx_REG (Pmode, 2);
       else