This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Fix visibility for MIPS (Re: 2 problems with ELF visibility)


On Thu, Apr 25, 2002 at 02:18:18PM +0930, Alan Modra wrote:
> On Wed, Apr 24, 2002 at 10:57:57AM -0700, H . J . Lu wrote:
> > On Wed, Apr 24, 2002 at 11:53:06PM +0930, Alan Modra wrote:
> > > On Mon, Apr 22, 2002 at 12:44:47PM -0700, H . J . Lu wrote:
> > > > I am enclosing a patch here. Any comments?
> > > > 
> > > > 	* elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
> > > > 	(mips_elf_link_hash_newfunc): Initialize forced_local to false.
> > > > 	(mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
> > > > 	to hide a global symbol.
> > > > 	(_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
> > > > 	forced_local to true. 
> > > 
> > > The idea seems reasonable, but why can't you use ELF_LINK_FORCED_LOCAL
> > > instead of using a new flag?
> > 
> > Here is a patch which does that.
> 
> I prefer your first patch.  We ought to avoid adding extra back end
> hooks where possible.  BTW, I wasn't trying to say that using a new
> flag was bad in itself, just that it seemed at first glance to be
> duplicating an existing flag.

Me too. That was my thought too.

> 
> IMHO, the real problem is that mips (and other backends) that allocate
> space for dynamic relocs and plt/got entries in check_relocs are
> fundamentally broken.  It's close to impossible to avoid wasting
> space, and hard to even get right when you have to handle symbol
> visibility;  You need hacks and call-backs to adjust decisions you
> made in check_relocs.  It's much easier to do correctly if you delay
> allocation until size_dynamic_sections, when symbols have stabilized.
> 

I know MIPS is a mess. I hope Thiemo will clean it up with his MIPS
work. I am willing to help out, at least test it :-)


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]