]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 May 2002 23:15:15 +0000 (23:15 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 May 2002 23:15:15 +0000 (23:15 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53815 138bc75d-0d04-0410-961f-82ee72b054a4

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

index d3722739b69ec1e1eefd0d1e04b47128fb6d9cc1..a84cf0a9d1bc971c7588403d410e776da75f18c8 100644 (file)
@@ -1,3 +1,7 @@
+2002-05-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
+
 2002-05-23  Vladimir Makarov  <vmakarov@redhat.com>
 
        * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
index 12b27d4cf077148b8a011dcf0ea180d9b9861638..9b71ea0772dcc053d22b6fc89226bf1dbd7dd908 100644 (file)
@@ -10256,8 +10256,10 @@ output_toc (file, x, labelno, mode)
          if (TARGET_MINIMAL_TOC)
            fputs (DOUBLE_INT_ASM_OP, file);
          else
-           fprintf (file, "\t.tc FD_%lx_%lx[TC],", k[0], k[1]);
-         fprintf (file, "0x%lx%08lx\n", k[0], k[1]);
+           fprintf (file, "\t.tc FD_%lx_%lx[TC],",
+                    k[0] & 0xffffffff, k[1] & 0xffffffff);
+         fprintf (file, "0x%lx%08lx\n",
+                  k[0] & 0xffffffff, k[1] & 0xffffffff);
          return;
        }
       else
@@ -10265,8 +10267,10 @@ output_toc (file, x, labelno, mode)
          if (TARGET_MINIMAL_TOC)
            fputs ("\t.long ", file);
          else
-           fprintf (file, "\t.tc FD_%lx_%lx[TC],", k[0], k[1]);
-         fprintf (file, "0x%lx,0x%lx\n", k[0], k[1]);
+           fprintf (file, "\t.tc FD_%lx_%lx[TC],",
+                    k[0] & 0xffffffff, k[1] & 0xffffffff);
+         fprintf (file, "0x%lx,0x%lx\n",
+                  k[0] & 0xffffffff, k[1] & 0xffffffff);
          return;
        }
     }
@@ -10283,8 +10287,8 @@ output_toc (file, x, labelno, mode)
          if (TARGET_MINIMAL_TOC)
            fputs (DOUBLE_INT_ASM_OP, file);
          else
-           fprintf (file, "\t.tc FS_%lx[TC],", l);
-         fprintf (file, "0x%lx00000000\n", l);
+           fprintf (file, "\t.tc FS_%lx[TC],", l & 0xffffffff);
+         fprintf (file, "0x%lx00000000\n", l & 0xffffffff);
          return;
        }
       else
@@ -10292,8 +10296,8 @@ output_toc (file, x, labelno, mode)
          if (TARGET_MINIMAL_TOC)
            fputs ("\t.long ", file);
          else
-           fprintf (file, "\t.tc FS_%lx[TC],", l);
-         fprintf (file, "0x%lx\n", l);
+           fprintf (file, "\t.tc FS_%lx[TC],", l & 0xffffffff);
+         fprintf (file, "0x%lx\n", l & 0xffffffff);
          return;
        }
     }
@@ -10343,8 +10347,10 @@ output_toc (file, x, labelno, mode)
          if (TARGET_MINIMAL_TOC)
            fputs (DOUBLE_INT_ASM_OP, file);
          else
-           fprintf (file, "\t.tc ID_%lx_%lx[TC],", (long) high, (long) low);
-         fprintf (file, "0x%lx%08lx\n", (long) high, (long) low);
+           fprintf (file, "\t.tc ID_%lx_%lx[TC],",
+                    (long) high & 0xffffffff, (long) low & 0xffffffff);
+         fprintf (file, "0x%lx%08lx\n",
+                  (long) high & 0xffffffff, (long) low & 0xffffffff);
          return;
        }
       else
@@ -10355,16 +10361,17 @@ output_toc (file, x, labelno, mode)
                fputs ("\t.long ", file);
              else
                fprintf (file, "\t.tc ID_%lx_%lx[TC],",
-                        (long) high, (long) low);
-             fprintf (file, "0x%lx,0x%lx\n", (long) high, (long) low);
+                        (long) high & 0xffffffff, (long) low & 0xffffffff);
+             fprintf (file, "0x%lx,0x%lx\n",
+                      (long) high & 0xffffffff, (long) low & 0xffffffff);
            }
          else
            {
              if (TARGET_MINIMAL_TOC)
                fputs ("\t.long ", file);
              else
-               fprintf (file, "\t.tc IS_%lx[TC],", (long) low);
-             fprintf (file, "0x%lx\n", (long) low);
+               fprintf (file, "\t.tc IS_%lx[TC],", (long) low & 0xffffffff);
+             fprintf (file, "0x%lx\n", (long) low & 0xffffffff);
            }
          return;
        }