perlasm/x86_64-xlate.pl: refine symbol recognition in .xdata.
authorAndy Polyakov <appro@openssl.org>
Mon, 2 Jul 2018 11:12:49 +0000 (13:12 +0200)
committerAndy Polyakov <appro@openssl.org>
Tue, 3 Jul 2018 17:01:20 +0000 (19:01 +0200)
Hexadecimals were erroneously recognized as symbols in .xdata.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6626)

crypto/perlasm/x86_64-xlate.pl

index eac21c1..0bde5ee 100755 (executable)
@@ -877,7 +877,7 @@ my %globals;
                                                        $var=~s/^(0b[0-1]+)/oct($1)/eig;
                                                        $var=~s/^0x([0-9a-f]+)/0$1h/ig if ($masm);
                                                        if ($sz eq "D" && ($current_segment=~/.[px]data/ || $dir eq ".rva"))
-                                                       { $var=~s/([_a-z\$\@][_a-z0-9\$\@]*)/$nasm?"$1 wrt ..imagebase":"imagerel $1"/egi; }
+                                                       { $var=~s/^([_a-z\$\@][_a-z0-9\$\@]*)/$nasm?"$1 wrt ..imagebase":"imagerel $1"/egi; }
                                                        $var;
                                                    };