This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: PATCH: Re: ld's --no-undefined-version and '*' in pattern
- From: "H. J. Lu" <hjl at lucon dot org>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Jan Beulich <JBeulich at novell dot com>, binutils at sources dot redhat dot com
- Date: Tue, 21 Oct 2003 16:45:00 -0700
- Subject: Re: PATCH: Re: ld's --no-undefined-version and '*' in pattern
- References: <sf8fb26d.052@emea1-mh.id2.novell.com> <20031017153211.GA27149@lucon.org> <20031017133600.GH12344@sunsite.ms.mff.cuni.cz>
On Fri, Oct 17, 2003 at 03:36:00PM +0200, Jakub Jelinek wrote:
> On Fri, Oct 17, 2003 at 08:32:11AM -0700, H. J. Lu wrote:
> > On Fri, Oct 17, 2003 at 10:13:59AM +0200, Jan Beulich wrote:
> > > Thank you, that was fast. An additional note, though: While in most
> > > cases (high-level languages) assuming * and certain other characters are
> > > invalid for symbol names, this assumption does not generally hold, which
> > > is why I'd recommend removing the other occasion of the check for that
> > > character, too: The Intel IA64 assembler, as an example, permits using
> > > any character in symbol names through their .alias directive. Again,
> > > thanks for the quick reaction, Jan
> > >
> >
> > I forgot about .alias :-). BTW, the GNU ia64 assembler should support
> > .alias now. Let me know if it is not working.
> >
> > I will check in this patch shortly.
> >
> >
> > H.J.
> > ----
> > 2003-10-17 H.J. Lu <hongjiu.lu@intel.com>
> >
> > * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't skip
> > symbols with '*'.
>
> This looks wrong.
> d->pattern is a glob pattern, not necessarily a symbol name.
> In glob patterns, * is special. If you want to export
> foo*bar symbol, you can write foo\*bar, foo[*]bar or something similar
> in pattern. But in that case the size_dynamic_sections code doesn't
> work properly anyway.
> See my patch from yesterday and comments about it.
>
I think we need something different from wildcardp, which can handle
"foo\*bar", for setting the new wildcard bit. We can modify it after
your patch is checked in.
H.J.