diff options
author | Tom Cosgrove <tom.cosgrove@arm.com> | 2023-08-03 19:43:17 +0100 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2023-08-08 22:36:35 +0200 |
commit | 89661d41e44090ab244652418e449eb1ceec6128 (patch) | |
tree | 44f1a4e9dabc8dd2ee7328dbae68c54e043e1026 | |
parent | 2d79662b5febe565d39861338a5d9067a2df641f (diff) |
Fix handling of the "0:" label in arm-xlate.pl
When $label == "0", $label is not truthy, so `if ($label)` thinks there isn't
a label. Correct this by looking at the result of the s/// command.
Verified that there are no changes in the .S files created during a normal
build, and that the "0:" labels appear in the translation given in the error
report (and they are the only difference in the before and after output).
Fixes #21647
Change-Id: I5f2440100c62360bf4bdb7c7ece8dddd32553c79
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21653)
(cherry picked from commit 9607f5ccf285ac9988a86f95c5ad9f92b556a843)
-rwxr-xr-x | crypto/perlasm/arm-xlate.pl | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/crypto/perlasm/arm-xlate.pl b/crypto/perlasm/arm-xlate.pl index a90885905c..57b75c4e5d 100755 --- a/crypto/perlasm/arm-xlate.pl +++ b/crypto/perlasm/arm-xlate.pl @@ -159,9 +159,8 @@ while(my $line=<>) { } { - $line =~ s|(^[\.\w]+)\:\s*||; - my $label = $1; - if ($label) { + if ($line =~ s|(^[\.\w]+)\:\s*||) { + my $label = $1; printf "%s:",($GLOBALS{$label} or $label); } } |