public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* elf_backend_hide_symbol
@ 2002-01-21  3:02 Alan Modra
  0 siblings, 0 replies; 4+ messages in thread
From: Alan Modra @ 2002-01-21  3:02 UTC (permalink / raw)
  To: binutils

This patch moves the _bfd_elf_strtab_delref call, and setting of
ELF_LINK_FORCED_LOCAL associated with most elf_backend_hide_symbol
calls into the backend routine.  mips and ia64 were missing
strtab_delref calls, which is incidentally fixed by this patch.
I've also changed a bfd_alloc call in elflink.h to bfd_malloc, as
bfd_release should be avoided where there is any chance that
intervening functions might want to bfd_alloc.

bfd/ChangeLog
	* elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
	boolean param.
	(_bfd_elf_link_hash_hide_symbol): Likewise.
	* elflink.h (elf_link_add_object_symbols): Adjust call to
	elf_backend_hide_symbol.
	(elf_fix_symbol_flags): Likewise.
	(elf_link_assign_sym_version): Likewise.  Use bfd_malloc rather
	than bfd_alloc.
	* elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
	Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
	* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
	(clobber_millicode_symbols): Adjust to suit new hide_symbol.
	* elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
	and adjust to suit.
	* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
	_bfd_elf_link_hash_hide_symbol rather than duplicating code.
	* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

Index: bfd/elf-bfd.h
===================================================================
RCS file: /cvs/src/src/bfd/elf-bfd.h,v
retrieving revision 1.65
diff -u -p -r1.65 elf-bfd.h
--- elf-bfd.h	2002/01/17 13:02:40	1.65
+++ elf-bfd.h	2002/01/21 06:14:58
@@ -1,6 +1,6 @@
 /* BFD back-end data structures for ELF files.
-   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-   Free Software Foundation, Inc.
+   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+   2002 Free Software Foundation, Inc.
    Written by Cygnus Support.
 
 This file is part of BFD, the Binary File Descriptor library.
@@ -693,7 +693,7 @@ struct elf_backend_data
   /* Modify any information related to dynamic linking such that the
      symbol is not exported.  */
   void (*elf_backend_hide_symbol)
-    PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
+    PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, boolean));
 
   /* Emit relocations.  Overrides default routine for emitting relocs,
      except during a relocatable link, or if all relocs are being emitted.  */
@@ -1197,7 +1197,7 @@ extern struct bfd_link_hash_table *_bfd_
 extern void _bfd_elf_link_hash_copy_indirect
   PARAMS ((struct elf_link_hash_entry *, struct elf_link_hash_entry *));
 extern void _bfd_elf_link_hash_hide_symbol
-  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
+  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, boolean));
 extern boolean _bfd_elf_link_hash_table_init
   PARAMS ((struct elf_link_hash_table *, bfd *,
 	   struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
Index: bfd/elflink.h
===================================================================
RCS file: /cvs/src/src/bfd/elflink.h,v
retrieving revision 1.140
diff -u -p -r1.140 elflink.h
--- elflink.h	2002/01/16 05:37:10	1.140
+++ elflink.h	2002/01/21 06:15:36
@@ -2056,10 +2056,7 @@ elf_link_add_object_symbols (abfd, info)
 	      {
 	      case STV_INTERNAL:
 	      case STV_HIDDEN:
-		h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
-		(*bed->elf_backend_hide_symbol) (info, h);
-		_bfd_elf_strtab_delref (hash_table->dynstr,
-					h->dynstr_index);
+		(*bed->elf_backend_hide_symbol) (info, h, true);
 		break;
 	      }
 
@@ -3873,16 +3870,13 @@ elf_fix_symbol_flags (h, eif)
       && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0)
     {
       struct elf_backend_data *bed;
+      boolean force_local;
 
       bed = get_elf_backend_data (elf_hash_table (eif->info)->dynobj);
-      if (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
-	  || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN)
-	{
-	  h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
-	  _bfd_elf_strtab_delref (elf_hash_table (eif->info)->dynstr,
-				  h->dynstr_index);
-	}
-      (*bed->elf_backend_hide_symbol) (eif->info, h);
+
+      force_local = (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
+		     || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN);
+      (*bed->elf_backend_hide_symbol) (eif->info, h, force_local);
     }
 
   /* If this is a weak defined symbol in a dynamic object, and we know
@@ -4233,7 +4227,7 @@ elf_link_assign_sym_version (h, data)
 	      struct bfd_elf_version_expr *d;
 
 	      len = p - h->root.root.string;
-	      alc = bfd_alloc (sinfo->output_bfd, (bfd_size_type) len);
+	      alc = bfd_malloc ((bfd_size_type) len);
 	      if (alc == NULL)
 	        return false;
 	      strncpy (alc, h->root.root.string, len - 1);
@@ -4264,10 +4258,7 @@ elf_link_assign_sym_version (h, data)
 			      && info->shared
 			      && ! info->export_dynamic)
 			    {
-			      h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
-			      (*bed->elf_backend_hide_symbol) (info, h);
-			      _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr,
-						      h->dynstr_index);
+			      (*bed->elf_backend_hide_symbol) (info, h, true);
 			    }
 
 			  break;
@@ -4275,7 +4266,7 @@ elf_link_assign_sym_version (h, data)
 		    }
 		}
 
-	      bfd_release (sinfo->output_bfd, alc);
+	      free (alc);
 	      break;
 	    }
 	}
@@ -4379,10 +4370,7 @@ elf_link_assign_sym_version (h, data)
 			  && info->shared
 			  && ! info->export_dynamic)
 			{
-			  h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
-			  (*bed->elf_backend_hide_symbol) (info, h);
-			  _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr,
-						  h->dynstr_index);
+			  (*bed->elf_backend_hide_symbol) (info, h, true);
 			}
 		      break;
 		    }
@@ -4400,10 +4388,7 @@ elf_link_assign_sym_version (h, data)
 	      && info->shared
 	      && ! info->export_dynamic)
 	    {
-	      h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
-	      (*bed->elf_backend_hide_symbol) (info, h);
-	      _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr,
-				      h->dynstr_index);
+	      (*bed->elf_backend_hide_symbol) (info, h, true);
 	    }
 	}
     }
Index: bfd/elf.c
===================================================================
RCS file: /cvs/src/src/bfd/elf.c,v
retrieving revision 1.123
diff -u -p -r1.123 elf.c
--- elf.c	2002/01/17 13:02:40	1.123
+++ elf.c	2002/01/21 06:15:08
@@ -1286,14 +1286,23 @@ _bfd_elf_link_hash_copy_indirect (dir, i
 }
 
 void
-_bfd_elf_link_hash_hide_symbol (info, h)
-     struct bfd_link_info *info ATTRIBUTE_UNUSED;
+_bfd_elf_link_hash_hide_symbol (info, h, force_local)
+     struct bfd_link_info *info;
      struct elf_link_hash_entry *h;
+     boolean force_local;
 {
-  h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
   h->plt.offset = (bfd_vma) -1;
-  if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
-    h->dynindx = -1;
+  h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
+  if (force_local)
+    {
+      h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
+      if (h->dynindx != -1)
+	{
+	  h->dynindx = -1;
+	  _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr,
+				  h->dynstr_index);
+	}
+    }
 }
 
 /* Initialize an ELF linker hash table.  */
Index: bfd/elf32-cris.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-cris.c,v
retrieving revision 1.22
diff -u -p -r1.22 elf32-cris.c
--- elf32-cris.c	2001/12/17 00:52:35	1.22
+++ elf32-cris.c	2002/01/21 06:15:10
@@ -1,5 +1,5 @@
 /* CRIS-specific support for 32-bit ELF.
-   Copyright 2000, 2001 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
    Contributed by Axis Communications AB.
    Written by Hans-Peter Nilsson, based on elf32-fr30.c
    PIC and shlib bits based primarily on elf32-m68k.c and elf32-i386.c.
@@ -90,7 +90,7 @@ static boolean elf_cris_finish_dynamic_s
 static boolean elf_cris_finish_dynamic_sections
   PARAMS ((bfd *, struct bfd_link_info *));
 static void elf_cris_hide_symbol
-  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
+  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, boolean));
 static enum elf_reloc_type_class elf_cris_reloc_type_class
   PARAMS ((const Elf_Internal_Rela *));
 
@@ -2028,13 +2028,14 @@ elf_cris_try_fold_plt_to_got (h, p)
    entry.  */
 
 static void
-elf_cris_hide_symbol (info, h)
+elf_cris_hide_symbol (info, h, force_local)
      struct bfd_link_info *info;
      struct elf_link_hash_entry *h;
+     boolean force_local;
 {
   elf_cris_adjust_gotplt_to_got ((struct elf_cris_link_hash_entry *) h, info);
 
-  _bfd_elf_link_hash_hide_symbol (info, h);
+  _bfd_elf_link_hash_hide_symbol (info, h, force_local);
 }
 
 /* Adjust a symbol defined by a dynamic object and referenced by a
Index: bfd/elf32-hppa.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-hppa.c,v
retrieving revision 1.68
diff -u -p -r1.68 elf32-hppa.c
--- elf32-hppa.c	2001/12/17 00:52:34	1.68
+++ elf32-hppa.c	2002/01/21 06:15:14
@@ -1,6 +1,6 @@
 /* BFD back-end for HP PA-RISC ELF files.
-   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2001
-   Free Software Foundation, Inc.
+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2001,
+   2002 Free Software Foundation, Inc.
 
    Original code by
 	Center for Software Science
@@ -335,7 +335,7 @@ static boolean elf32_hppa_gc_sweep_hook
 	   asection *, const Elf_Internal_Rela *));
 
 static void elf32_hppa_hide_symbol
-  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
+  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, boolean));
 
 static boolean elf32_hppa_adjust_dynamic_symbol
   PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
@@ -1786,12 +1786,22 @@ elf32_hppa_gc_sweep_hook (abfd, info, se
    plabels.  */
 
 static void
-elf32_hppa_hide_symbol (info, h)
-     struct bfd_link_info *info ATTRIBUTE_UNUSED;
+elf32_hppa_hide_symbol (info, h, force_local)
+     struct bfd_link_info *info;
      struct elf_link_hash_entry *h;
+     boolean force_local;
 {
-  if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
-    h->dynindx = -1;
+  if (force_local)
+    {
+      h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
+      if (h->dynindx != -1)
+	{
+	  h->dynindx = -1;
+	  _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr,
+				  h->dynstr_index);
+	}
+    }
+
   if (! ((struct elf32_hppa_link_hash_entry *) h)->plabel)
     {
       h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
@@ -2206,12 +2216,7 @@ clobber_millicode_symbols (h, info)
   if (h->type == STT_PARISC_MILLI
       && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
     {
-      struct elf32_hppa_link_hash_table *htab;
-
-      h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
-      elf32_hppa_hide_symbol (info, h);
-      htab = hppa_link_hash_table (info);
-      _bfd_elf_strtab_delref (htab->elf.dynstr, h->dynstr_index);
+      elf32_hppa_hide_symbol (info, h, true);
 
       /* ?!? We only want to remove these from the dynamic symbol table.
 	 Therefore we do not leave ELF_LINK_FORCED_LOCAL set.  */
Index: bfd/elf32-mips.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-mips.c,v
retrieving revision 1.138
diff -u -p -r1.138 elf32-mips.c
--- elf32-mips.c	2002/01/17 20:06:48	1.138
+++ elf32-mips.c	2002/01/21 06:15:23
@@ -211,7 +211,7 @@ static boolean mips_elf_stub_section_p
 static int sort_dynamic_relocs
   PARAMS ((const void *, const void *));
 static void _bfd_mips_elf_hide_symbol
-  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
+  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, boolean));
 static void _bfd_mips_elf_copy_indirect_symbol
   PARAMS ((struct elf_link_hash_entry *,
 	   struct elf_link_hash_entry *));
@@ -4503,9 +4503,10 @@ mips_elf_link_hash_newfunc (entry, table
 }
 
 static void
-_bfd_mips_elf_hide_symbol (info, entry)
+_bfd_mips_elf_hide_symbol (info, entry, force_local)
      struct bfd_link_info *info;
      struct elf_link_hash_entry *entry;
+     boolean force_local;
 {
   bfd *dynobj;
   asection *got;
@@ -4516,10 +4517,7 @@ _bfd_mips_elf_hide_symbol (info, entry)
   got = bfd_get_section_by_name (dynobj, ".got");
   g = (struct mips_got_info *) elf_section_data (got)->tdata;
 
-  h->root.elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
-  h->root.plt.offset = (bfd_vma) -1;
-  if ((h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
-    h->root.dynindx = -1;
+  _bfd_elf_link_hash_hide_symbol (info, &h->root, force_local);
 
   /* FIXME: Do we allocate too much GOT space here?  */
   g->local_gotno++;
Index: bfd/elfxx-ia64.c
===================================================================
RCS file: /cvs/src/src/bfd/elfxx-ia64.c,v
retrieving revision 1.41
diff -u -p -r1.41 elfxx-ia64.c
--- elfxx-ia64.c	2002/01/17 13:02:40	1.41
+++ elfxx-ia64.c	2002/01/21 06:15:40
@@ -1,5 +1,5 @@
 /* IA-64 support for 64-bit ELF
-   Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+   Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
 This file is part of BFD, the Binary File Descriptor library.
@@ -204,7 +204,7 @@ static struct bfd_hash_entry *elfNN_ia64
 static void elfNN_ia64_hash_copy_indirect
   PARAMS ((struct elf_link_hash_entry *, struct elf_link_hash_entry *));
 static void elfNN_ia64_hash_hide_symbol
-  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
+  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, boolean));
 static struct bfd_link_hash_table *elfNN_ia64_hash_table_create
   PARAMS ((bfd *abfd));
 static struct elfNN_ia64_local_hash_entry *elfNN_ia64_local_hash_lookup
@@ -1646,18 +1646,17 @@ elfNN_ia64_hash_copy_indirect (xdir, xin
 }
 
 static void
-elfNN_ia64_hash_hide_symbol (info, xh)
-     struct bfd_link_info *info ATTRIBUTE_UNUSED;
+elfNN_ia64_hash_hide_symbol (info, xh, force_local)
+     struct bfd_link_info *info;
      struct elf_link_hash_entry *xh;
+     boolean force_local;
 {
   struct elfNN_ia64_link_hash_entry *h;
   struct elfNN_ia64_dyn_sym_info *dyn_i;
 
   h = (struct elfNN_ia64_link_hash_entry *)xh;
 
-  h->root.elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
-  if ((h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
-    h->root.dynindx = -1;
+  _bfd_elf_link_hash_hide_symbol (info, &h->root, force_local);
 
   for (dyn_i = h->info; dyn_i; dyn_i = dyn_i->next)
     dyn_i->want_plt2 = 0;

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: elf_backend_hide_symbol
  2002-03-04 21:17 ` elf_backend_hide_symbol Alan Modra
@ 2002-03-04 21:24   ` Alan Modra
  0 siblings, 0 replies; 4+ messages in thread
From: Alan Modra @ 2002-03-04 21:24 UTC (permalink / raw)
  To: binutils

On Tue, Mar 05, 2002 at 03:47:42PM +1030, Alan Modra wrote:
> > 	* elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
> > 	to output forced local syms for non-shared link.
> > 	(elf_link_output_extsym): Tweak condition for calling backend
> > 	adjust_dynamic_symbol so that previous behaviour is kept.

This hack can go now too.

bfd/ChangeLog
	* elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
	symbols that have been forced local.

Index: bfd/elf32-hppa.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-hppa.c,v
retrieving revision 1.72
diff -u -p -r1.72 elf32-hppa.c
--- elf32-hppa.c	2002/02/19 12:40:24	1.72
+++ elf32-hppa.c	2002/03/05 05:22:52
@@ -2217,10 +2217,6 @@ clobber_millicode_symbols (h, info)
       && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
     {
       elf32_hppa_hide_symbol (info, h, true);
-
-      /* ?!? We only want to remove these from the dynamic symbol table.
-	 Therefore we do not leave ELF_LINK_FORCED_LOCAL set.  */
-      h->elf_link_hash_flags &= ~ELF_LINK_FORCED_LOCAL;
     }
   return true;
 }

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: elf_backend_hide_symbol
  2002-02-18 17:11 elf_backend_hide_symbol Alan Modra
@ 2002-03-04 21:17 ` Alan Modra
  2002-03-04 21:24   ` elf_backend_hide_symbol Alan Modra
  0 siblings, 1 reply; 4+ messages in thread
From: Alan Modra @ 2002-03-04 21:17 UTC (permalink / raw)
  To: binutils

On Tue, Feb 19, 2002 at 10:53:39AM +1030, Alan Modra wrote:
> 
> 	* elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
> 	to output forced local syms for non-shared link.
> 	(elf_link_output_extsym): Tweak condition for calling backend
> 	adjust_dynamic_symbol so that previous behaviour is kept.

I'm about to commit a minor variation of this to fix
http://sources.redhat.com/ml/bug-binutils/2002-q1/msg00211.html

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

^ permalink raw reply	[flat|nested] 4+ messages in thread

* elf_backend_hide_symbol
@ 2002-02-18 17:11 Alan Modra
  2002-03-04 21:17 ` elf_backend_hide_symbol Alan Modra
  0 siblings, 1 reply; 4+ messages in thread
From: Alan Modra @ 2002-02-18 17:11 UTC (permalink / raw)
  To: binutils

There's a minor problem with the way elf_backend_hide_symbol
interacts with elf_link_output_extsyms:  If linking an application
(as distinct from a shared library), any symbol forced local due
to symbol visibility will not appear in the output file as a local
symbol.  Instead, it disappears.

The obvious thing to do is hack things so that elf_link_output_extsyms
is called for these symbols.  However, that means the backend
adjust_dynamic_symbol routine will be called on a new set of symbols,
with possibly bad results.

	* elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
	to output forced local syms for non-shared link.
	(elf_link_output_extsym): Tweak condition for calling backend
	adjust_dynamic_symbol so that previous behaviour is kept.

Really, what I'd like to do is leave out the second hunk and fix any
breakage.  There are backends that could benefit from calling the
backend adjust_dynamic_symbol function on all dynamic syms, eg.
hppa-linux.

Comments?

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

Index: bfd/elflink.h
===================================================================
RCS file: /cvs/src/src/bfd/elflink.h,v
retrieving revision 1.141
diff -u -p -r1.141 elflink.h
--- elflink.h	2002/01/21 10:29:07	1.141
+++ elflink.h	2002/02/18 13:33:19
@@ -5304,7 +5304,7 @@ elf_bfd_final_link (abfd, info)
      can, we still need to deal with those global symbols that got
      converted to local in a version script.  */
 
-  if (info->shared)
+  if (1 || info->shared)
     {
       /* Output any global symbols that got converted to local in a
          version script.  We do this in a separate step since ELF
@@ -6033,6 +6033,8 @@ elf_link_output_extsym (h, data)
      symbol.  */
   if ((h->dynindx != -1
        || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
+      && (finfo->info->shared
+	  || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)
       && elf_hash_table (finfo->info)->dynamic_sections_created)
     {
       struct elf_backend_data *bed;

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-03-05  5:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-01-21  3:02 elf_backend_hide_symbol Alan Modra
2002-02-18 17:11 elf_backend_hide_symbol Alan Modra
2002-03-04 21:17 ` elf_backend_hide_symbol Alan Modra
2002-03-04 21:24   ` elf_backend_hide_symbol Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).