]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Fix handling of the "0:" label in arm-xlate.pl
authorTom Cosgrove <tom.cosgrove@arm.com>
Thu, 3 Aug 2023 18:43:17 +0000 (19:43 +0100)
committerTomas Mraz <tomas@openssl.org>
Tue, 8 Aug 2023 20:35:53 +0000 (22:35 +0200)
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)

crypto/perlasm/arm-xlate.pl

index 4d1e8874140cd589080ca73b444bb5bdc8be6ba1..b9b56463b2a9c1e94987c81a79361fbbeee37a5e 100755 (executable)
@@ -170,9 +170,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);
        }
     }