2021-05-19 19:25:17

by zhaoxiao

[permalink] [raw]
Subject: [PATCH] arch/mips/boot/compressed/string.c: Fix build warnings

Fixes the following W=1 kernel build warning(s):
arch/mips/boot/compressed/string.c:11:7: warning: no previous prototype for 'memcpy' [-Wmissing-prototypes]
void *memcpy(void *dest, const void *src, size_t n)
^~~~~~
arch/mips/boot/compressed/string.c:22:7: warning: no previous prototype for 'memset' [-Wmissing-prototypes]
void *memset(void *s, int c, size_t n)
^~~~~~
arch/mips/boot/compressed/string.c:32:15: warning: no previous prototype for 'memmove' [-Wmissing-prototypes]
void * __weak memmove(void *dest, const void *src, size_t n)
^~~~~~~

Signed-off-by: zhaoxiao <[email protected]>
---
arch/mips/boot/compressed/string.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/mips/boot/compressed/string.c b/arch/mips/boot/compressed/string.c
index 0b593b709228..d28996509f91 100644
--- a/arch/mips/boot/compressed/string.c
+++ b/arch/mips/boot/compressed/string.c
@@ -8,7 +8,7 @@
#include <linux/compiler_attributes.h>
#include <linux/types.h>

-void *memcpy(void *dest, const void *src, size_t n)
+static void *memcpy(void *dest, const void *src, size_t n)
{
int i;
const char *s = src;
@@ -19,7 +19,7 @@ void *memcpy(void *dest, const void *src, size_t n)
return dest;
}

-void *memset(void *s, int c, size_t n)
+static void *memset(void *s, int c, size_t n)
{
int i;
char *ss = s;
@@ -29,7 +29,7 @@ void *memset(void *s, int c, size_t n)
return s;
}

-void * __weak memmove(void *dest, const void *src, size_t n)
+static void * __weak memmove(void *dest, const void *src, size_t n)
{
unsigned int i;
const char *s = src;
--
2.20.1





2021-05-19 20:05:28

by Paul Cercueil

[permalink] [raw]
Subject: Re: [PATCH] arch/mips/boot/compressed/string.c: Fix build warnings

Hi,

Le mer., mai 19 2021 at 22:00:07 +0800, Jiaxun Yang
<[email protected]> a écrit :
>
>
> 在 2021/5/19 16:44, zhaoxiao 写道:
>> Fixes the following W=1 kernel build warning(s):
>> arch/mips/boot/compressed/string.c:11:7: warning: no previous
>> prototype for 'memcpy' [-Wmissing-prototypes]
>> void *memcpy(void *dest, const void *src, size_t n)
>> ^~~~~~
>> arch/mips/boot/compressed/string.c:22:7: warning: no previous
>> prototype for 'memset' [-Wmissing-prototypes]
>> void *memset(void *s, int c, size_t n)
>> ^~~~~~
>> arch/mips/boot/compressed/string.c:32:15: warning: no previous
>> prototype for 'memmove' [-Wmissing-prototypes]
>> void * __weak memmove(void *dest, const void *src, size_t n)
> Hi Xiao,
>
> Are you sure you know what you're doing?
>
> They're supposed to be called by external reference in vmlinuz.
> Marking them static makes no sense.

I was wondering that too.

I suppose including <asm/string.h> should be enough to fix the warnings.

Cheers,
-Paul

>> ^~~~~~~
>>
>> Signed-off-by: zhaoxiao <[email protected]>
>> ---
>> arch/mips/boot/compressed/string.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/mips/boot/compressed/string.c
>> b/arch/mips/boot/compressed/string.c
>> index 0b593b709228..d28996509f91 100644
>> --- a/arch/mips/boot/compressed/string.c
>> +++ b/arch/mips/boot/compressed/string.c
>> @@ -8,7 +8,7 @@
>> #include <linux/compiler_attributes.h>
>> #include <linux/types.h>
>> -void *memcpy(void *dest, const void *src, size_t n)
>> +static void *memcpy(void *dest, const void *src, size_t n)
>> {
>> int i;
>> const char *s = src;
>> @@ -19,7 +19,7 @@ void *memcpy(void *dest, const void *src, size_t n)
>> return dest;
>> }
>> -void *memset(void *s, int c, size_t n)
>> +static void *memset(void *s, int c, size_t n)
>> {
>> int i;
>> char *ss = s;
>> @@ -29,7 +29,7 @@ void *memset(void *s, int c, size_t n)
>> return s;
>> }
>> -void * __weak memmove(void *dest, const void *src, size_t n)
>> +static void * __weak memmove(void *dest, const void *src, size_t n)
>> {
>> unsigned int i;
>> const char *s = src;
>



2021-05-19 21:33:38

by Jiaxun Yang

[permalink] [raw]
Subject: Re: [PATCH] arch/mips/boot/compressed/string.c: Fix build warnings



?? 2021/5/19 16:44, zhaoxiao д??:
> Fixes the following W=1 kernel build warning(s):
> arch/mips/boot/compressed/string.c:11:7: warning: no previous prototype for 'memcpy' [-Wmissing-prototypes]
> void *memcpy(void *dest, const void *src, size_t n)
> ^~~~~~
> arch/mips/boot/compressed/string.c:22:7: warning: no previous prototype for 'memset' [-Wmissing-prototypes]
> void *memset(void *s, int c, size_t n)
> ^~~~~~
> arch/mips/boot/compressed/string.c:32:15: warning: no previous prototype for 'memmove' [-Wmissing-prototypes]
> void * __weak memmove(void *dest, const void *src, size_t n)
Hi Xiao,

Are you sure you know what you're doing?

They're supposed to be called by external reference in vmlinuz.
Marking them static makes no sense.

Thanks.

- Jiaxun
> ^~~~~~~
>
> Signed-off-by: zhaoxiao <[email protected]>
> ---
> arch/mips/boot/compressed/string.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/mips/boot/compressed/string.c b/arch/mips/boot/compressed/string.c
> index 0b593b709228..d28996509f91 100644
> --- a/arch/mips/boot/compressed/string.c
> +++ b/arch/mips/boot/compressed/string.c
> @@ -8,7 +8,7 @@
> #include <linux/compiler_attributes.h>
> #include <linux/types.h>
>
> -void *memcpy(void *dest, const void *src, size_t n)
> +static void *memcpy(void *dest, const void *src, size_t n)
> {
> int i;
> const char *s = src;
> @@ -19,7 +19,7 @@ void *memcpy(void *dest, const void *src, size_t n)
> return dest;
> }
>
> -void *memset(void *s, int c, size_t n)
> +static void *memset(void *s, int c, size_t n)
> {
> int i;
> char *ss = s;
> @@ -29,7 +29,7 @@ void *memset(void *s, int c, size_t n)
> return s;
> }
>
> -void * __weak memmove(void *dest, const void *src, size_t n)
> +static void * __weak memmove(void *dest, const void *src, size_t n)
> {
> unsigned int i;
> const char *s = src;