2014-04-16 16:20:10

by Jianyu Zhan

[permalink] [raw]
Subject: [PATCH] crypto: sha{256,512}_ssse3 - remove asmlinkage from static functions

Commit 128ea04a9885("lto: Make asmlinkage __visible") restricts
asmlinkage to externally_visible, this causes compilation warnings:

arch/x86/crypto/sha256_ssse3_glue.c:56:1:
warning: ‘externally_visible’ attribute have effect only on public objects [-Wattributes]

static asmlinkage void (*sha256_transform_asm)(const char *, u32 *, u64);
^

arch/x86/crypto/sha512_ssse3_glue.c:55:1:
warning: ‘externally_visible’ attribute have effect only on public objects [-Wattributes]
static asmlinkage void (*sha512_transform_asm)(const char *, u64 *,
^

Drop asmlinkage here to avoid such warnings.

Also see Commit 8783dd3a37a5853689e1("irqchip: Remove asmlinkage from static functions")

Signed-off-by: Jianyu Zhan <[email protected]>
---
arch/x86/crypto/sha256_ssse3_glue.c | 2 +-
arch/x86/crypto/sha512_ssse3_glue.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/crypto/sha256_ssse3_glue.c b/arch/x86/crypto/sha256_ssse3_glue.c
index f248546..be35c31 100644
--- a/arch/x86/crypto/sha256_ssse3_glue.c
+++ b/arch/x86/crypto/sha256_ssse3_glue.c
@@ -53,7 +53,7 @@ asmlinkage void sha256_transform_rorx(const char *data, u32 *digest,
u64 rounds);
#endif

-static asmlinkage void (*sha256_transform_asm)(const char *, u32 *, u64);
+static void (*sha256_transform_asm)(const char *, u32 *, u64);


static int sha256_ssse3_init(struct shash_desc *desc)
diff --git a/arch/x86/crypto/sha512_ssse3_glue.c b/arch/x86/crypto/sha512_ssse3_glue.c
index f30cd10..ddbc242 100644
--- a/arch/x86/crypto/sha512_ssse3_glue.c
+++ b/arch/x86/crypto/sha512_ssse3_glue.c
@@ -52,7 +52,7 @@ asmlinkage void sha512_transform_rorx(const char *data, u64 *digest,
u64 rounds);
#endif

-static asmlinkage void (*sha512_transform_asm)(const char *, u64 *, u64);
+static void (*sha512_transform_asm)(const char *, u64 *, u64);


static int sha512_ssse3_init(struct shash_desc *desc)
--
1.9.0.GIT


2014-04-17 15:45:38

by Marek Vasut

[permalink] [raw]
Subject: Re: [PATCH] crypto: sha{256,512}_ssse3 - remove asmlinkage from static functions

On Wednesday, April 16, 2014 at 06:19:50 PM, Jianyu Zhan wrote:
> Commit 128ea04a9885("lto: Make asmlinkage __visible") restricts
> asmlinkage to externally_visible, this causes compilation warnings:
>
> arch/x86/crypto/sha256_ssse3_glue.c:56:1:
> warning: ‘externally_visible’ attribute have effect only on public
> objects [-Wattributes]
>
> static asmlinkage void (*sha256_transform_asm)(const char *, u32 *,
> u64); ^
>
> arch/x86/crypto/sha512_ssse3_glue.c:55:1:
> warning: ‘externally_visible’ attribute have effect only on public
> objects [-Wattributes] static asmlinkage void
> (*sha512_transform_asm)(const char *, u64 *, ^
>
> Drop asmlinkage here to avoid such warnings.
>
> Also see Commit 8783dd3a37a5853689e1("irqchip: Remove asmlinkage from
> static functions")
>
> Signed-off-by: Jianyu Zhan <[email protected]>

Makes sense, please add my humble

Reviewed-by: Marek Vasut <[email protected]>

Best regards,
Marek Vasut

2014-04-18 04:50:40

by H. Peter Anvin

[permalink] [raw]
Subject: Re: [PATCH] crypto: sha{256,512}_ssse3 - remove asmlinkage from static functions

On 04/17/2014 08:28 AM, Marek Vasut wrote:
> On Wednesday, April 16, 2014 at 06:19:50 PM, Jianyu Zhan wrote:
>> Commit 128ea04a9885("lto: Make asmlinkage __visible") restricts
>> asmlinkage to externally_visible, this causes compilation warnings:
>>
>> arch/x86/crypto/sha256_ssse3_glue.c:56:1:
>> warning: ‘externally_visible’ attribute have effect only on public
>> objects [-Wattributes]
>>
>> static asmlinkage void (*sha256_transform_asm)(const char *, u32 *,
>> u64); ^
>>
>> arch/x86/crypto/sha512_ssse3_glue.c:55:1:
>> warning: ‘externally_visible’ attribute have effect only on public
>> objects [-Wattributes] static asmlinkage void
>> (*sha512_transform_asm)(const char *, u64 *, ^
>>
>> Drop asmlinkage here to avoid such warnings.
>>
>> Also see Commit 8783dd3a37a5853689e1("irqchip: Remove asmlinkage from
>> static functions")
>>
>> Signed-off-by: Jianyu Zhan <[email protected]>
>
> Makes sense, please add my humble
>
> Reviewed-by: Marek Vasut <[email protected]>
>

It doesn't make sense, sorry. The right thing to drop here is not
"asmlinkage", it is "static": this is an external declaration.

-hpa

2014-04-18 04:59:15

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH] crypto: sha{256,512}_ssse3 - remove asmlinkage from static functions

On Thu, Apr 17, 2014 at 09:49:56PM -0700, H. Peter Anvin wrote:
> On 04/17/2014 08:28 AM, Marek Vasut wrote:
> > On Wednesday, April 16, 2014 at 06:19:50 PM, Jianyu Zhan wrote:
> >> Commit 128ea04a9885("lto: Make asmlinkage __visible") restricts
> >> asmlinkage to externally_visible, this causes compilation warnings:
> >>
> >> arch/x86/crypto/sha256_ssse3_glue.c:56:1:
> >> warning: ‘externally_visible’ attribute have effect only on public
> >> objects [-Wattributes]
> >>
> >> static asmlinkage void (*sha256_transform_asm)(const char *, u32 *,
> >> u64); ^
> >>
> >> arch/x86/crypto/sha512_ssse3_glue.c:55:1:
> >> warning: ‘externally_visible’ attribute have effect only on public
> >> objects [-Wattributes] static asmlinkage void
> >> (*sha512_transform_asm)(const char *, u64 *, ^
> >>
> >> Drop asmlinkage here to avoid such warnings.
> >>
> >> Also see Commit 8783dd3a37a5853689e1("irqchip: Remove asmlinkage from
> >> static functions")
> >>
> >> Signed-off-by: Jianyu Zhan <[email protected]>
> >
> > Makes sense, please add my humble
> >
> > Reviewed-by: Marek Vasut <[email protected]>
> >
>
> It doesn't make sense, sorry. The right thing to drop here is not
> "asmlinkage", it is "static": this is an external declaration.

It's a function pointer that's static, not the function that
it's pointing to.

Cheers,
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2014-04-18 05:02:01

by H. Peter Anvin

[permalink] [raw]
Subject: Re: [PATCH] crypto: sha{256,512}_ssse3 - remove asmlinkage from static functions

On 04/17/2014 09:58 PM, Herbert Xu wrote:
>>
>> It doesn't make sense, sorry. The right thing to drop here is not
>> "asmlinkage", it is "static": this is an external declaration.
>
> It's a function pointer that's static, not the function that
> it's pointing to.
>

{facepalm} Right, function *pointer*.

Duh.

-hpa