libstdc++: Add support for '?' in linker script globs
The scripts/make_exports.pl script used for darwin only replaces '*' wildcards in globs, it doesn't handle '?'. This means the recent changes to std::__timepunct exports broke darwin. Rather than use mangled names in the linker script, this adds support for '?' to the perl script. This also removes some unnecessary escaping of the replacement strings in s// substitutions. libstdc++-v3/ChangeLog: * scripts/make_exports.pl: Replace '?' with '.' when turning a glob into a regex.
This commit is contained in:
parent
494ebfa7c9
commit
7bf710b511
1 changed files with 4 additions and 2 deletions
|
@ -52,11 +52,13 @@ while (<F>) {
|
|||
next;
|
||||
}
|
||||
# Catch globs. Note that '{}' is not allowed in globs by this script,
|
||||
# so only '*' and '[]' are available.
|
||||
# so only '*' and '?' and '[]' are available.
|
||||
if (/^[ \t]*([^ \t;{}#]+);?[ \t]*$/) {
|
||||
my $ptn = $1;
|
||||
# Turn the glob into a regex by replacing '*' with '.*'.
|
||||
$ptn =~ s/\*/\.\*/g;
|
||||
$ptn =~ s/\*/.*/g;
|
||||
# And replacing '?' with '.'.
|
||||
$ptn =~ s/\?/./g;
|
||||
push @$glob,$ptn;
|
||||
next;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue