OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [gas/] [config/] [obj-elf.c] - Diff between revs 16 and 160

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 16 Rev 160
Line 982... Line 982...
 
 
          beg = demand_copy_C_string (&dummy);
          beg = demand_copy_C_string (&dummy);
          if (beg == NULL)
          if (beg == NULL)
            {
            {
              ignore_rest_of_line ();
              ignore_rest_of_line ();
              xfree (name);
 
              return;
              return;
            }
            }
          attr |= obj_elf_parse_section_letters (beg, strlen (beg), &clone);
          attr |= obj_elf_parse_section_letters (beg, strlen (beg), &clone);
 
 
          SKIP_WHITESPACE ();
          SKIP_WHITESPACE ();
Line 1002... Line 1001...
                {
                {
                  beg = demand_copy_C_string (&dummy);
                  beg = demand_copy_C_string (&dummy);
                  if (beg == NULL)
                  if (beg == NULL)
                    {
                    {
                      ignore_rest_of_line ();
                      ignore_rest_of_line ();
                      xfree (name);
 
                      return;
                      return;
                    }
                    }
                  type = obj_elf_section_type (beg, strlen (beg), TRUE);
                  type = obj_elf_section_type (beg, strlen (beg), TRUE);
                }
                }
              else if (c == '@' || c == '%')
              else if (c == '@' || c == '%')
Line 1084... Line 1082...
              SKIP_WHITESPACE ();
              SKIP_WHITESPACE ();
              if (*input_line_pointer != '#')
              if (*input_line_pointer != '#')
                {
                {
                  as_bad (_("character following name is not '#'"));
                  as_bad (_("character following name is not '#'"));
                  ignore_rest_of_line ();
                  ignore_rest_of_line ();
                  xfree (name);
 
                  return;
                  return;
                }
                }
              beg = ++input_line_pointer;
              beg = ++input_line_pointer;
              c = get_symbol_end ();
              c = get_symbol_end ();
              *input_line_pointer = c;
              *input_line_pointer = c;
Line 1702... Line 1699...
           || strcmp (type_name, "STT_GNU_IFUNC") == 0)
           || strcmp (type_name, "STT_GNU_IFUNC") == 0)
    {
    {
      const struct elf_backend_data *bed;
      const struct elf_backend_data *bed;
 
 
      bed = get_elf_backend_data (stdoutput);
      bed = get_elf_backend_data (stdoutput);
      if (!(bed->elf_osabi == ELFOSABI_LINUX
      if (!(bed->elf_osabi == ELFOSABI_GNU
            /* GNU/Linux is still using the default value 0.  */
            /* GNU is still using the default value 0.  */
            || bed->elf_osabi == ELFOSABI_NONE))
            || bed->elf_osabi == ELFOSABI_NONE))
        as_bad (_("symbol type \"%s\" is supported only by GNU targets"),
        as_bad (_("symbol type \"%s\" is supported only by GNU targets"),
                type_name);
                type_name);
      type = BSF_FUNCTION | BSF_GNU_INDIRECT_FUNCTION;
      type = BSF_FUNCTION | BSF_GNU_INDIRECT_FUNCTION;
    }
    }
  else if (strcmp (type_name, "gnu_unique_object") == 0)
  else if (strcmp (type_name, "gnu_unique_object") == 0)
    {
    {
      struct elf_backend_data *bed;
      struct elf_backend_data *bed;
 
 
      bed = (struct elf_backend_data *) get_elf_backend_data (stdoutput);
      bed = (struct elf_backend_data *) get_elf_backend_data (stdoutput);
      if (!(bed->elf_osabi == ELFOSABI_LINUX
      if (!(bed->elf_osabi == ELFOSABI_GNU
            /* GNU/Linux is still using the default value 0.  */
            /* GNU is still using the default value 0.  */
            || bed->elf_osabi == ELFOSABI_NONE))
            || bed->elf_osabi == ELFOSABI_NONE))
        as_bad (_("symbol type \"%s\" is supported only by GNU targets"),
        as_bad (_("symbol type \"%s\" is supported only by GNU targets"),
                type_name);
                type_name);
      type = BSF_OBJECT | BSF_GNU_UNIQUE;
      type = BSF_OBJECT | BSF_GNU_UNIQUE;
      /* PR 10549: Always set OSABI field to LINUX for objects containing unique symbols.  */
      /* PR 10549: Always set OSABI field to GNU for objects containing unique symbols.  */
      bed->elf_osabi = ELFOSABI_LINUX;
      bed->elf_osabi = ELFOSABI_GNU;
    }
    }
#ifdef md_elf_symbol_type
#ifdef md_elf_symbol_type
  else if ((type = md_elf_symbol_type (type_name, sym, elfsym)) != -1)
  else if ((type = md_elf_symbol_type (type_name, sym, elfsym)) != -1)
    ;
    ;
#endif
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.