From 2bd171e0011e5577b841a53468b7467fc7f6eaae Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 22 Feb 2000 05:51:02 +0000 Subject: [PATCH] 2000-02-22 H.J. Lu * elflink.h (elf_bfd_final_link): Call output_extsym for global symbols converted to local symbols even when stripping all symbols. (elf_link_output_extsym): Process global symbols converted to local symbols even if they are being stripped. --- bfd/elflink.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bfd/elflink.h b/bfd/elflink.h index 54577a66b98..00037b38a98 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -1,5 +1,5 @@ /* ELF linker support. - Copyright 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -4393,7 +4393,7 @@ elf_bfd_final_link (abfd, info) /* That wrote out all the local symbols. Finish up the symbol table with the global symbols. */ - if (info->strip != strip_all && info->shared) + if (info->shared) { /* Output any global symbols that got converted to local in a version script. We do this in a separate step since ELF @@ -4928,8 +4928,10 @@ elf_link_output_extsym (h, data) strip = false; /* If we're stripping it, and it's not a dynamic symbol, there's - nothing else to do. */ - if (strip && h->dynindx == -1) + nothing else to do unless it is a forced local symbol. */ + if (strip + && h->dynindx == -1 + && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) return true; sym.st_value = 0; -- 2.30.2