This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: Broken .hidden support in current binutils on ia32
- To: "Martin v. Loewis" <martin at loewis dot home dot cs dot tu-berlin dot de>
- Subject: Re: Broken .hidden support in current binutils on ia32
- From: "H . J . Lu" <hjl at lucon dot org>
- Date: Mon, 5 Jun 2000 15:11:11 -0700
- Cc: pthomas at suse dot de, gcc-bugs at gcc dot gnu dot org,binutils at sourceware dot cygnus dot com
- References: <20000605000324.A28963@Jeffreys.suse.de> <200006051652.SAA01593@loewis.home.cs.tu-berlin.de> <20000605233419.B25525@Jeffreys.suse.de> <200006052149.XAA03156@loewis.home.cs.tu-berlin.de>
On Mon, Jun 05, 2000 at 11:49:10PM +0200, Martin v. Loewis wrote:
> > At the moment, I'm talking about the 2.10 release candidate. But I'll check
> > the latest binutils release and see if it works.
>
> Oops, the release candidate. I believe the recent changes to the ELF
> visibility support have not been propagated to the release branch.
>
> Since the ELF visibility support in binutils 2.10 will be broken
> without these changes, and since GCC 3 will rely on a working support
> for .hidden (or none at all), I think it is really important that
> these patches get merged into the release branch.
>
> HJ, would you agree with this judgement? If so, (and if there is a
> chance to get this into 2.10.0), would you be able to identify the
> relevant patches? I could also try to do this - again, if there is a
> chance that this still gets into 2.10.
There are quite a few changes for the ELF visibility to work right. I
can try to create a patch for 2.10. But I am afraid I don't have the
time to make sure it work correctly for 2.10.
BTW, I am enclosing the ChangLog entries here.
H.J.
---
2000-06-05 H.J. Lu <hjl@gnu.org>
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag
an error when seeing an undefined symbol with hidden/internal
attribute. It is handled in *_relocate_section ().
2000-05-30 H.J. Lu <hjl@gnu.org>
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Clear the
visibility bits if the symbol is undefined. Correctly handle
weak undefined symbols with hidden and internal attributes.
* elflink.h (elf_link_add_object_symbols): Always turn the
symbol into local if it has the hidden or internal attribute.
2000-05-23 H.J. Lu <hjl@gnu.org>
* elf64-alpha.c (elf64_alpha_relocate_section): Check
h->root.other not h->other.
* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Fix a typo.
2000-05-23 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_relocate_section): Don't allow the
undefined symbol with the non-default visibility attributes.
* elf-hppa.h (elf_hppa_relocate_section): Likewise.
* elf32-arm.h (elf32_arm_relocate_section): Likewise.
* elf32-i370.c (i370_elf_relocate_section): Likewise.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
* elf64-ia64.c (elf64_ia64_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2000-05-22 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_output_extsym): Clear the visibility
field for symbols not defined locally.
2000-05-03 Martin v. Löwis <loewis@informatik.hu-berlin.de>
* elflink.h (elf_link_add_object_symbols): Reset dynindx for
hidden and internal symbols.
(elf_fix_symbol_flags): Clear NEEDS_PLT for symbols with
visibility.
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Do not
assign a PLT or GOT entry to symbols with hidden and
internal visibility.