* elf_hppa_add_symbol_hook (elf_hppa_add_symbol_hook): Move to
[deliverable/binutils-gdb.git] / bfd / syms.c
index 9b4c6524497b1bf7bd5c75cfcc2f625dcc1a91fb..cdbf905f985f3d282f6998b11b79e3762a1368ec 100644 (file)
@@ -1,6 +1,6 @@
 /* Generic symbol-table support for the BFD library.
    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002, 2003, 2004, 2007, 2008
+   2000, 2001, 2002, 2003, 2004, 2007, 2008, 2009
    Free Software Foundation, Inc.
    Written by Cygnus Support.
 
@@ -231,13 +231,6 @@ CODE_FRAGMENT
 .     perhaps others someday.  *}
 .#define BSF_FUNCTION          (1 << 3)
 .
-.  {* The symbol is an indirect code object.  Unrelated to BSF_INDIRECT.
-.     Relocations against a symbol with this flag have to evaluated at
-.     run-time, where the function pointed to by this symbol is invoked
-.     in order to determine the value to be used in the relocation.
-.     BSF_FUNCTION must also be set for symbols with this flag.  *}
-.#define BSF_INDIRECT_FUNCTION (1 << 4)
-. 
 .  {* Used by the linker.  *}
 .#define BSF_KEEP              (1 << 5)
 .#define BSF_KEEP_G            (1 << 6)
@@ -490,7 +483,7 @@ bfd_print_symbol_vandf (bfd *abfd, void *arg, asymbol *symbol)
           (type & BSF_WEAK) ? 'w' : ' ',
           (type & BSF_CONSTRUCTOR) ? 'C' : ' ',
           (type & BSF_WARNING) ? 'W' : ' ',
-          (type & BSF_INDIRECT) ? 'I' : (type & BSF_INDIRECT_FUNCTION) ? 'i' : ' ',
+          (type & BSF_INDIRECT) ? 'I' : ' ',
           (type & BSF_DEBUGGING) ? 'd' : (type & BSF_DYNAMIC) ? 'D' : ' ',
           ((type & BSF_FUNCTION)
            ? 'F'
@@ -676,8 +669,6 @@ bfd_decode_symclass (asymbol *symbol)
     }
   if (bfd_is_ind_section (symbol->section))
     return 'I';
-  if (symbol->flags & BSF_INDIRECT_FUNCTION)
-    return 'i';
   if (symbol->flags & BSF_WEAK)
     {
       /* If weak, determine if it's specifically an object
@@ -1385,10 +1376,11 @@ _bfd_stab_section_find_nearest_line (bfd *abfd,
        {
          size_t len;
 
-         if (info->filename != NULL)
-           free (info->filename);
+         /* Don't free info->filename here.  objdump and other
+            apps keep a copy of a previously returned file name
+            pointer.  */
          len = strlen (file_name) + 1;
-         info->filename = bfd_malloc (dirlen + len);
+         info->filename = bfd_alloc (abfd, dirlen + len);
          if (info->filename == NULL)
            return FALSE;
          memcpy (info->filename, directory_name, dirlen);
This page took 0.0246 seconds and 4 git commands to generate.