summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Cosgrove <tom.cosgrove@arm.com>2023-08-03 19:43:17 +0100
committerTomas Mraz <tomas@openssl.org>2023-08-08 22:36:35 +0200
commit89661d41e44090ab244652418e449eb1ceec6128 (patch)
tree44f1a4e9dabc8dd2ee7328dbae68c54e043e1026
parent2d79662b5febe565d39861338a5d9067a2df641f (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-xcrypto/perlasm/arm-xlate.pl5
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);
}
}