include/elf
[deliverable/binutils-gdb.git] / gas / config / obj-elf.c
index 4c68779c98f0b01759b7cf2821c81c6e8144d7dc..3d80eccd798edb1a2d778dca3d587c2d11899b56 100644 (file)
@@ -1664,6 +1664,20 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSED)
            }
        }
     }
+  else if (strcmp (typename, "gnu_indirect_function") == 0
+      || strcmp (typename, "10") == 0
+      || strcmp (typename, "STT_GNU_IFUNC") == 0)
+    {
+      const struct elf_backend_data *bed;
+
+      bed = get_elf_backend_data (stdoutput);
+      if (!(bed->elf_osabi == ELFOSABI_LINUX
+           /* GNU/Linux is still using the default value 0.  */
+           || bed->elf_osabi == ELFOSABI_NONE))
+       as_bad (_("symbol type \"%s\" is supported only by GNU targets"),
+               typename);
+      type = BSF_FUNCTION | BSF_GNU_INDIRECT_FUNCTION;
+    }
 #ifdef md_elf_symbol_type
   else if ((type = md_elf_symbol_type (typename, sym, elfsym)) != -1)
     ;
This page took 0.02359 seconds and 4 git commands to generate.