This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Symbol versioning in C++ (two ld bugs)
- From: Ulrich Drepper <drepper at redhat dot com>
- To: Phil Edwards <phil at jaj dot com>
- Cc: binutils at sources dot redhat dot com, bkoz at redhat dot com, rth at redhat dot com
- Date: 11 Feb 2002 13:58:14 -0800
- Subject: Re: Symbol versioning in C++ (two ld bugs)
- References: <20020211164829.A3992@disaster.basement.lan>
- Reply-to: drepper at redhat dot com (Ulrich Drepper)
Phil Edwards <phil@jaj.com> writes:
> fnmatch() matches shell filename patterns, i.e., globbing, not regexps.
>
> Oops.
>
> So: which kind of patterns are supposed to be accepted?
globbing. regex is too slow and in other package, well glibc, we use
'*' as a pattern. This is also what Sun does.
> Bug #2
> ======
> The ldlex.l lexer only specifies
>
> [*?.$_a-zA-Z]([*?.$_a-zA-Z0-9]|::)*
>
> for a version symbol pattern (see V_IDENTIFIER). No brackets, no ranges,
> no braces -- that is, we can't even use the globbing patterns that fnmatch()
> would allow!
This is more or less encoding the current practice. No special reason
to have it like this except that there might be problems with the
grammar. Somebody will have to check it.
> For the record, std::* is not the only problem; there are other namespaces
> and other patterns which also need to be exposed (the __cxa_* stuff for
> example).
This already works. __cxa_* is a valid pattern.
--
---------------. ,-. 1325 Chesapeake Terrace
Ulrich Drepper \ ,-------------------' \ Sunnyvale, CA 94089 USA
Red Hat `--' drepper at redhat.com `------------------------