From: Guenter Roeck <linux@roeck-us.net>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
"Leonidas S. Barbosa" <leosilva@linux.vnet.ibm.com>,
Linux Crypto Mailing List <linux-crypto@vger.kernel.org>
Subject: Re: linux-next: Tree for Mar 11 (powerpc build failure due to vmx crypto code)
Date: Wed, 11 Mar 2015 20:51:32 -0700 [thread overview]
Message-ID: <55010D44.7030900@roeck-us.net> (raw)
In-Reply-To: <20150312032829.GA13737@gondor.apana.org.au>
On 03/11/2015 08:28 PM, Herbert Xu wrote:
> On Wed, Mar 11, 2015 at 07:43:22PM -0700, Guenter Roeck wrote:
>>
>> It looks like the perl scripts do run - I see the .S files, and I do see .o files created.
>> But I still get the error.
>>
>> Looking into the object files, I see
>>
>> $ nm vmx-crypto.o | grep aes_p8_cbc_encrypt
>> 0000000000000680 t .aes_p8_cbc_encrypt
>> U .aes_p8_cbc_encrypt
>> 00000000000000a8 D aes_p8_cbc_encrypt
>
> Ugh, does this patch help?
>
> Thanks,
>
> --8<--
> crypto: vmx - Fix assembler perl to use _GLOBAL
>
> Rather than doing things by hand for global symbols to deal with
> different calling conventions we already have a macro _GLOBAL in
> Linux to handle this.
>
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
>
Yes, this helps.
Feel free to add
Tested-by: Guenter Roeck <linux@roeck-us.net>
Thanks,
Guenter
> diff --git a/drivers/crypto/vmx/aesp8-ppc.pl b/drivers/crypto/vmx/aesp8-ppc.pl
> old mode 100755
> new mode 100644
> index 3ee8979..6c5c20c
> --- a/drivers/crypto/vmx/aesp8-ppc.pl
> +++ b/drivers/crypto/vmx/aesp8-ppc.pl
> @@ -85,8 +85,6 @@ Lconsts:
> .asciz "AES for PowerISA 2.07, CRYPTOGAMS by <appro\@openssl.org>"
>
> .globl .${prefix}_set_encrypt_key
> -.align 5
> -.${prefix}_set_encrypt_key:
> Lset_encrypt_key:
> mflr r11
> $PUSH r11,$LRSAVE($sp)
> @@ -348,8 +346,6 @@ Lenc_key_abort:
> .size .${prefix}_set_encrypt_key,.-.${prefix}_set_encrypt_key
>
> .globl .${prefix}_set_decrypt_key
> -.align 5
> -.${prefix}_set_decrypt_key:
> $STU $sp,-$FRAME($sp)
> mflr r10
> $PUSH r10,$FRAME+$LRSAVE($sp)
> @@ -405,8 +401,6 @@ my ($inp,$out,$key,$rounds,$idx)=map("r$_",(3..7));
>
> $code.=<<___;
> .globl .${prefix}_${dir}crypt
> -.align 5
> -.${prefix}_${dir}crypt:
> lwz $rounds,240($key)
> lis r0,0xfc00
> mfspr $vrsave,256
> @@ -484,8 +478,6 @@ my ($ivec,$inptail,$inpperm,$outhead,$outperm,$outmask,$keyperm)=
> map("v$_",(4..10));
> $code.=<<___;
> .globl .${prefix}_cbc_encrypt
> -.align 5
> -.${prefix}_cbc_encrypt:
> ${UCMP}i $len,16
> bltlr-
>
> @@ -1243,8 +1235,6 @@ my $dat=$tmp;
>
> $code.=<<___;
> .globl .${prefix}_ctr32_encrypt_blocks
> -.align 5
> -.${prefix}_ctr32_encrypt_blocks:
> ${UCMP}i $len,1
> bltlr-
>
> diff --git a/drivers/crypto/vmx/ghashp8-ppc.pl b/drivers/crypto/vmx/ghashp8-ppc.pl
> old mode 100755
> new mode 100644
> index e76a58c..0a6f899
> --- a/drivers/crypto/vmx/ghashp8-ppc.pl
> +++ b/drivers/crypto/vmx/ghashp8-ppc.pl
> @@ -54,8 +54,6 @@ $code=<<___;
> .text
>
> .globl .gcm_init_p8
> -.align 5
> -.gcm_init_p8:
> lis r0,0xfff0
> li r8,0x10
> mfspr $vrsave,256
> @@ -98,8 +96,6 @@ $code=<<___;
> .size .gcm_init_p8,.-.gcm_init_p8
>
> .globl .gcm_gmult_p8
> -.align 5
> -.gcm_gmult_p8:
> lis r0,0xfff8
> li r8,0x10
> mfspr $vrsave,256
> @@ -148,8 +144,6 @@ $code=<<___;
> .size .gcm_gmult_p8,.-.gcm_gmult_p8
>
> .globl .gcm_ghash_p8
> -.align 5
> -.gcm_ghash_p8:
> lis r0,0xfff8
> li r8,0x10
> mfspr $vrsave,256
> diff --git a/drivers/crypto/vmx/ppc-xlate.pl b/drivers/crypto/vmx/ppc-xlate.pl
> old mode 100755
> new mode 100644
> index f89e814..a591884
> --- a/drivers/crypto/vmx/ppc-xlate.pl
> +++ b/drivers/crypto/vmx/ppc-xlate.pl
> @@ -27,25 +27,13 @@ my $globl = sub {
> /osx/ && do { $name = "_$name";
> last;
> };
> - /linux.*(32|64le)/
> - && do { $ret .= ".globl $name\n";
> - $ret .= ".type $name,\@function";
> - last;
> - };
> - /linux.*64/ && do { $ret .= ".globl $name\n";
> - $ret .= ".type $name,\@function\n";
> - $ret .= ".section \".opd\",\"aw\"\n";
> - $ret .= ".align 3\n";
> - $ret .= "$name:\n";
> - $ret .= ".quad .$name,.TOC.\@tocbase,0\n";
> - $ret .= ".previous\n";
> -
> - $name = ".$name";
> + /linux/
> + && do { $ret = "_GLOBAL($name)";
> last;
> };
> }
>
> - $ret = ".globl $name" if (!$ret);
> + $ret = ".globl $name\nalign 5\n$name:" if (!$ret);
> $$global = $name;
> $ret;
> };
> @@ -187,6 +175,8 @@ my $mtsle = sub {
> " .long ".sprintf "0x%X",(31<<26)|($arg<<21)|(147*2);
> };
>
> +print "#include <asm/ppc_asm.h>\n" if $flavour =~ /linux/;
> +
> while($line=<>) {
>
> $line =~ s|[#!;].*$||; # get rid of asm-style comments...
> @@ -200,15 +190,6 @@ while($line=<>) {
> }
>
> {
> - $line =~ s|(^[\.\w]+)\:\s*||;
> - my $label = $1;
> - if ($label) {
> - printf "%s:",($GLOBALS{$label} or $label);
> - printf "\n.localentry\t$GLOBALS{$label},0" if ($GLOBALS{$label} && $flavour =~ /linux.*64le/);
> - }
> - }
> -
> - {
> $line =~ s|^\s*(\.?)(\w+)([\.\+\-]?)\s*||;
> my $c = $1; $c = "\t" if ($c eq "");
> my $mnemonic = $2;
>
next prev parent reply other threads:[~2015-03-12 3:51 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-11 5:35 linux-next: Tree for Mar 11 Stephen Rothwell
2015-03-11 15:47 ` linux-next: Tree for Mar 11 (powerpc build failure due to vmx crypto code) Guenter Roeck
2015-03-12 1:23 ` Herbert Xu
2015-03-12 2:43 ` Guenter Roeck
2015-03-12 3:28 ` Herbert Xu
2015-03-12 3:51 ` Guenter Roeck [this message]
2015-03-12 3:53 ` Herbert Xu
2015-03-12 15:27 ` Leonidas S. Barbosa
2015-03-11 15:51 ` linux-next: Tree for Mar 11 (arm build failure, ASoC) Guenter Roeck
2015-03-12 6:53 ` Peter Ujfalusi
2015-03-12 6:53 ` Peter Ujfalusi
2015-03-11 15:55 ` linux-next: Tree for Mar 11 (arm:multi_v5_defconfig build failure) Guenter Roeck
2015-03-11 16:21 ` Simon Guinot
2015-03-11 16:26 ` Gregory CLEMENT
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55010D44.7030900@roeck-us.net \
--to=linux@roeck-us.net \
--cc=herbert@gondor.apana.org.au \
--cc=leosilva@linux.vnet.ibm.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.