lto test fails with -fno-inline in CFLAGS
[binutils-gdb.git] / bfd / elf32-score7.c
index 50d607de15613f2381fddca67ee563df29bea95a..e936fd2ca6ce118dbdaa93f64ead0c3d54b219c7 100644 (file)
@@ -1,5 +1,5 @@
 /* 32-bit ELF support for S+core.
-   Copyright (C) 2009-2021 Free Software Foundation, Inc.
+   Copyright (C) 2009-2023 Free Software Foundation, Inc.
    Contributed by
    Brain.lin (brain.lin@sunplusct.com)
    Mei Ligang (ligang@sunnorth.com.cn)
@@ -340,23 +340,14 @@ score_elf_final_gp (bfd *output_bfd,
 
 static bfd_reloc_status_type
 score_elf_gprel15_with_gp (bfd *abfd,
-                          asymbol *symbol,
                           arelent *reloc_entry,
                           asection *input_section,
                           bool relocateable,
                           void * data,
                           bfd_vma gp ATTRIBUTE_UNUSED)
 {
-  bfd_vma relocation;
   unsigned long insn;
 
-  if (bfd_is_com_section (symbol->section))
-    relocation = 0;
-  else
-    relocation = symbol->value;
-
-  relocation += symbol->section->output_section->vma;
-  relocation += symbol->section->output_offset;
   if (reloc_entry->address > input_section->size)
     return bfd_reloc_outofrange;
 
@@ -449,7 +440,7 @@ score_elf_gprel15_reloc (bfd *abfd,
   if (ret != bfd_reloc_ok)
     return ret;
 
-  return score_elf_gprel15_with_gp (abfd, symbol, reloc_entry,
+  return score_elf_gprel15_with_gp (abfd, reloc_entry,
                                    input_section, relocateable, data, gp);
 }
 
@@ -551,7 +542,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* No relocation.  */
   HOWTO (R_SCORE_NONE,         /* type */
         0,                     /* rightshift */
-        3,                     /* size (0 = byte, 1 = short, 2 = long) */
+        0,                     /* size */
         0,                     /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -566,7 +557,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* R_SCORE_HI16 */
   HOWTO (R_SCORE_HI16,         /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         1,                     /* bitpos */
@@ -581,7 +572,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* R_SCORE_LO16 */
   HOWTO (R_SCORE_LO16,         /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         1,                     /* bitpos */
@@ -596,7 +587,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /*  R_SCORE_BCMP */
   HOWTO (R_SCORE_BCMP,         /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         1,                     /* bitpos */
@@ -610,7 +601,7 @@ static reloc_howto_type elf32_score_howto_table[] =
 
   HOWTO (R_SCORE_24,           /* type */
         1,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         24,                    /* bitsize */
         false,                 /* pc_relative */
         1,                     /* bitpos */
@@ -625,7 +616,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /*R_SCORE_PC19 */
   HOWTO (R_SCORE_PC19,         /* type */
         1,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         19,                    /* bitsize */
         true,                  /* pc_relative */
         1,                     /* bitpos */
@@ -640,7 +631,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /*R_SCORE16_11 */
   HOWTO (R_SCORE16_11,         /* type */
         1,                     /* rightshift */
-        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        2,                     /* size */
         11,                    /* bitsize */
         false,                 /* pc_relative */
         1,                     /* bitpos */
@@ -655,7 +646,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* R_SCORE16_PC8 */
   HOWTO (R_SCORE16_PC8,                /* type */
         1,                     /* rightshift */
-        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        2,                     /* size */
         8,                     /* bitsize */
         true,                  /* pc_relative */
         0,                     /* bitpos */
@@ -670,7 +661,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* 32 bit absolute */
   HOWTO (R_SCORE_ABS32,                /* type 8 */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -685,7 +676,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* 16 bit absolute */
   HOWTO (R_SCORE_ABS16,                /* type 11 */
         0,                     /* rightshift */
-        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        2,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -700,7 +691,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* R_SCORE_DUMMY2 */
   HOWTO (R_SCORE_DUMMY2,       /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -715,7 +706,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* R_SCORE_GP15 */
   HOWTO (R_SCORE_GP15,         /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -730,7 +721,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* GNU extension to record C++ vtable hierarchy.  */
   HOWTO (R_SCORE_GNU_VTINHERIT, /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         0,                     /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -745,7 +736,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* GNU extension to record C++ vtable member usage */
   HOWTO (R_SCORE_GNU_VTENTRY,  /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         0,                     /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -760,7 +751,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* Reference to global offset table.  */
   HOWTO (R_SCORE_GOT15,                /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -775,7 +766,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* Low 16 bits of displacement in global offset table.  */
   HOWTO (R_SCORE_GOT_LO16,     /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         1,                     /* bitpos */
@@ -790,7 +781,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* 15 bit call through global offset table.  */
   HOWTO (R_SCORE_CALL15,       /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -805,7 +796,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* 32 bit GP relative reference.  */
   HOWTO (R_SCORE_GPREL32,      /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -820,7 +811,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* 32 bit symbol relative relocation.  */
   HOWTO (R_SCORE_REL32,                /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -835,7 +826,7 @@ static reloc_howto_type elf32_score_howto_table[] =
   /* R_SCORE_DUMMY_HI16 */
   HOWTO (R_SCORE_DUMMY_HI16,   /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         1,                     /* bitpos */