* um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
@ 2009-03-05 12:13 Boaz Harrosh
2009-03-05 13:06 ` Américo Wang
2009-03-10 14:19 ` [Patch] uml: fix WARNING: vmlinux: 'memcpy' exported twice Américo Wang
0 siblings, 2 replies; 9+ messages in thread
From: Boaz Harrosh @ 2009-03-05 12:13 UTC (permalink / raw)
To: uml-devel, linux-kernel
On today's linus v2.6.29-rc7-3-g559595a
Doing make ARCH=um defconfig & make ARCH=um
give's me:
LD vmlinux.o
MODPOST vmlinux.o
WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
Sorry if this is a duplicate report
Boaz
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
2009-03-05 12:13 um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux Boaz Harrosh
@ 2009-03-05 13:06 ` Américo Wang
2009-03-05 13:45 ` Boaz Harrosh
2009-03-10 14:19 ` [Patch] uml: fix WARNING: vmlinux: 'memcpy' exported twice Américo Wang
1 sibling, 1 reply; 9+ messages in thread
From: Américo Wang @ 2009-03-05 13:06 UTC (permalink / raw)
To: Boaz Harrosh; +Cc: uml-devel, linux-kernel
On Thu, Mar 05, 2009 at 02:13:58PM +0200, Boaz Harrosh wrote:
>On today's linus v2.6.29-rc7-3-g559595a
>
>Doing make ARCH=um defconfig & make ARCH=um
>give's me:
>
>LD vmlinux.o
>MODPOST vmlinux.o
>WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
>
>
>Sorry if this is a duplicate report
>
Weird...
I tried to compile like what you said, I can't reproduce it.
Which gcc are you using?
Thanks.
--
Do what you love, f**k the rest! F**k the regulations!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
2009-03-05 13:06 ` Américo Wang
@ 2009-03-05 13:45 ` Boaz Harrosh
2009-03-05 16:04 ` Américo Wang
0 siblings, 1 reply; 9+ messages in thread
From: Boaz Harrosh @ 2009-03-05 13:45 UTC (permalink / raw)
To: Américo Wang; +Cc: uml-devel, linux-kernel
Américo Wang wrote:
> On Thu, Mar 05, 2009 at 02:13:58PM +0200, Boaz Harrosh wrote:
>> On today's linus v2.6.29-rc7-3-g559595a
>>
>> Doing make ARCH=um defconfig & make ARCH=um
>> give's me:
>>
>> LD vmlinux.o
>> MODPOST vmlinux.o
>> WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
>>
>>
>> Sorry if this is a duplicate report
>>
>
> Weird...
> I tried to compile like what you said, I can't reproduce it.
>
> Which gcc are you using?
>
> Thanks.
>
$ gcc --version
gcc (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)
I'm running on an x86_64 Fedora10 system (updated recently)
$ uname -o -s -r -m -p -i
Linux 2.6.27.15-170.2.24.fc10.x86_64 x86_64 x86_64 x86_64 GNU/Linux
Thanks
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
2009-03-05 13:45 ` Boaz Harrosh
@ 2009-03-05 16:04 ` Américo Wang
2009-03-05 17:27 ` Boaz Harrosh
0 siblings, 1 reply; 9+ messages in thread
From: Américo Wang @ 2009-03-05 16:04 UTC (permalink / raw)
To: Boaz Harrosh; +Cc: Américo Wang, uml-devel, linux-kernel
On Thu, Mar 05, 2009 at 03:45:36PM +0200, Boaz Harrosh wrote:
>Américo Wang wrote:
>> On Thu, Mar 05, 2009 at 02:13:58PM +0200, Boaz Harrosh wrote:
>>> On today's linus v2.6.29-rc7-3-g559595a
>>>
>>> Doing make ARCH=um defconfig & make ARCH=um
>>> give's me:
>>>
>>> LD vmlinux.o
>>> MODPOST vmlinux.o
>>> WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
>>>
>>>
>>> Sorry if this is a duplicate report
>>>
>>
>> Weird...
>> I tried to compile like what you said, I can't reproduce it.
>>
>> Which gcc are you using?
>>
>> Thanks.
>>
>
>$ gcc --version
>gcc (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)
>
>I'm running on an x86_64 Fedora10 system (updated recently)
>$ uname -o -s -r -m -p -i
>Linux 2.6.27.15-170.2.24.fc10.x86_64 x86_64 x86_64 x86_64 GNU/Linux
>
I am using the same thing, but on i386. I still can't reproduce it. :(
--
Do what you love, f**k the rest! F**k the regulations!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
2009-03-05 16:04 ` Américo Wang
@ 2009-03-05 17:27 ` Boaz Harrosh
2009-03-06 7:52 ` Américo Wang
0 siblings, 1 reply; 9+ messages in thread
From: Boaz Harrosh @ 2009-03-05 17:27 UTC (permalink / raw)
To: Américo Wang; +Cc: uml-devel, linux-kernel
Américo Wang wrote:
> On Thu, Mar 05, 2009 at 03:45:36PM +0200, Boaz Harrosh wrote:
>> Américo Wang wrote:
>>> On Thu, Mar 05, 2009 at 02:13:58PM +0200, Boaz Harrosh wrote:
>>>> On today's linus v2.6.29-rc7-3-g559595a
>>>>
>>>> Doing make ARCH=um defconfig & make ARCH=um
>>>> give's me:
>>>>
>>>> LD vmlinux.o
>>>> MODPOST vmlinux.o
>>>> WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
>>>>
>>>>
>>>> Sorry if this is a duplicate report
>>>>
>>> Weird...
>>> I tried to compile like what you said, I can't reproduce it.
>>>
>>> Which gcc are you using?
>>>
>>> Thanks.
>>>
>> $ gcc --version
>> gcc (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)
>>
>> I'm running on an x86_64 Fedora10 system (updated recently)
>> $ uname -o -s -r -m -p -i
>> Linux 2.6.27.15-170.2.24.fc10.x86_64 x86_64 x86_64 x86_64 GNU/Linux
>>
>
> I am using the same thing, but on i386. I still can't reproduce it. :(
>
What can I say I just did it again from scratch
$ mkdir .build_um
$ make ARCH=um KBUILD_OUTPUT=.build_um defconfig
$ make ARCH=um KBUILD_OUTPUT=.build_um
(I'm using KBUILD_OUTPUT= because O= does not work when also using M= with
external modules, so it's a habit)
Thanks for your help. I will try to bisect it on Sunday
Boaz
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
2009-03-05 17:27 ` Boaz Harrosh
@ 2009-03-06 7:52 ` Américo Wang
2009-03-08 10:49 ` Boaz Harrosh
0 siblings, 1 reply; 9+ messages in thread
From: Américo Wang @ 2009-03-06 7:52 UTC (permalink / raw)
To: Boaz Harrosh; +Cc: Américo Wang, uml-devel, linux-kernel
On Thu, Mar 05, 2009 at 07:27:31PM +0200, Boaz Harrosh wrote:
>Américo Wang wrote:
>> On Thu, Mar 05, 2009 at 03:45:36PM +0200, Boaz Harrosh wrote:
>>> Américo Wang wrote:
>>>> On Thu, Mar 05, 2009 at 02:13:58PM +0200, Boaz Harrosh wrote:
>>>>> On today's linus v2.6.29-rc7-3-g559595a
>>>>>
>>>>> Doing make ARCH=um defconfig & make ARCH=um
>>>>> give's me:
>>>>>
>>>>> LD vmlinux.o
>>>>> MODPOST vmlinux.o
>>>>> WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
>>>>>
>>>>>
>>>>> Sorry if this is a duplicate report
>>>>>
>>>> Weird...
>>>> I tried to compile like what you said, I can't reproduce it.
>>>>
>>>> Which gcc are you using?
>>>>
>>>> Thanks.
>>>>
>>> $ gcc --version
>>> gcc (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)
>>>
>>> I'm running on an x86_64 Fedora10 system (updated recently)
>>> $ uname -o -s -r -m -p -i
>>> Linux 2.6.27.15-170.2.24.fc10.x86_64 x86_64 x86_64 x86_64 GNU/Linux
>>>
>>
>> I am using the same thing, but on i386. I still can't reproduce it. :(
>>
>
>What can I say I just did it again from scratch
>
>$ mkdir .build_um
>$ make ARCH=um KBUILD_OUTPUT=.build_um defconfig
>$ make ARCH=um KBUILD_OUTPUT=.build_um
>
>(I'm using KBUILD_OUTPUT= because O= does not work when also using M= with
> external modules, so it's a habit)
>
>Thanks for your help. I will try to bisect it on Sunday
Hi, Boaz.
I am sorry that I don't have an x86_64 machine to use, but I know
why this happens now. :)
Would you like to try the following patch? Thanks!
-------------->
Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
---
diff --git a/arch/um/os-Linux/user_syms.c b/arch/um/os-Linux/user_syms.c
index 74f49bb..89b48a1 100644
--- a/arch/um/os-Linux/user_syms.c
+++ b/arch/um/os-Linux/user_syms.c
@@ -14,7 +14,6 @@
#undef memset
extern size_t strlen(const char *);
-extern void *memcpy(void *, const void *, size_t);
extern void *memmove(void *, const void *, size_t);
extern void *memset(void *, int, size_t);
extern int printf(const char *, ...);
@@ -24,7 +23,11 @@ extern int printf(const char *, ...);
EXPORT_SYMBOL(strstr);
#endif
+#ifndef __x86_64__
+extern void *memcpy(void *, const void *, size_t);
EXPORT_SYMBOL(memcpy);
+#endif
+
EXPORT_SYMBOL(memmove);
EXPORT_SYMBOL(memset);
EXPORT_SYMBOL(printf);
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
2009-03-06 7:52 ` Américo Wang
@ 2009-03-08 10:49 ` Boaz Harrosh
2009-03-10 14:13 ` Américo Wang
0 siblings, 1 reply; 9+ messages in thread
From: Boaz Harrosh @ 2009-03-08 10:49 UTC (permalink / raw)
To: Américo Wang; +Cc: uml-devel, linux-kernel
Américo Wang wrote:
> On Thu, Mar 05, 2009 at 07:27:31PM +0200, Boaz Harrosh wrote:
>> Américo Wang wrote:
>>> On Thu, Mar 05, 2009 at 03:45:36PM +0200, Boaz Harrosh wrote:
>>>> Américo Wang wrote:
>>>>> On Thu, Mar 05, 2009 at 02:13:58PM +0200, Boaz Harrosh wrote:
>>>>>> On today's linus v2.6.29-rc7-3-g559595a
>>>>>>
>>>>>> Doing make ARCH=um defconfig & make ARCH=um
>>>>>> give's me:
>>>>>>
>>>>>> LD vmlinux.o
>>>>>> MODPOST vmlinux.o
>>>>>> WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
>>>>>>
>>>>>>
>>>>>> Sorry if this is a duplicate report
>>>>>>
>>>>> Weird...
>>>>> I tried to compile like what you said, I can't reproduce it.
>>>>>
>>>>> Which gcc are you using?
>>>>>
>>>>> Thanks.
>>>>>
>>>> $ gcc --version
>>>> gcc (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)
>>>>
>>>> I'm running on an x86_64 Fedora10 system (updated recently)
>>>> $ uname -o -s -r -m -p -i
>>>> Linux 2.6.27.15-170.2.24.fc10.x86_64 x86_64 x86_64 x86_64 GNU/Linux
>>>>
>>> I am using the same thing, but on i386. I still can't reproduce it. :(
>>>
>> What can I say I just did it again from scratch
>>
>> $ mkdir .build_um
>> $ make ARCH=um KBUILD_OUTPUT=.build_um defconfig
>> $ make ARCH=um KBUILD_OUTPUT=.build_um
>>
>> (I'm using KBUILD_OUTPUT= because O= does not work when also using M= with
>> external modules, so it's a habit)
>>
>> Thanks for your help. I will try to bisect it on Sunday
>
> Hi, Boaz.
>
> I am sorry that I don't have an x86_64 machine to use, but I know
> why this happens now. :)
>
> Would you like to try the following patch? Thanks!
>
> -------------->
>
> Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
>
Tested-by: Boaz Harrosh <bharrosh@panasas.com>
> ---
> diff --git a/arch/um/os-Linux/user_syms.c b/arch/um/os-Linux/user_syms.c
> index 74f49bb..89b48a1 100644
> --- a/arch/um/os-Linux/user_syms.c
> +++ b/arch/um/os-Linux/user_syms.c
> @@ -14,7 +14,6 @@
> #undef memset
>
> extern size_t strlen(const char *);
> -extern void *memcpy(void *, const void *, size_t);
> extern void *memmove(void *, const void *, size_t);
> extern void *memset(void *, int, size_t);
> extern int printf(const char *, ...);
> @@ -24,7 +23,11 @@ extern int printf(const char *, ...);
> EXPORT_SYMBOL(strstr);
> #endif
>
> +#ifndef __x86_64__
> +extern void *memcpy(void *, const void *, size_t);
> EXPORT_SYMBOL(memcpy);
> +#endif
> +
> EXPORT_SYMBOL(memmove);
> EXPORT_SYMBOL(memset);
> EXPORT_SYMBOL(printf);
>
Yes this works. But it is weird, what is the difference between
__x86_64__ and any other platform?
Thanks
Boaz
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
2009-03-08 10:49 ` Boaz Harrosh
@ 2009-03-10 14:13 ` Américo Wang
0 siblings, 0 replies; 9+ messages in thread
From: Américo Wang @ 2009-03-10 14:13 UTC (permalink / raw)
To: Boaz Harrosh; +Cc: Américo Wang, uml-devel, linux-kernel
On Sun, Mar 08, 2009 at 12:49:16PM +0200, Boaz Harrosh wrote:
>Américo Wang wrote:
>> On Thu, Mar 05, 2009 at 07:27:31PM +0200, Boaz Harrosh wrote:
>>> Américo Wang wrote:
>>>> On Thu, Mar 05, 2009 at 03:45:36PM +0200, Boaz Harrosh wrote:
>>>>> Américo Wang wrote:
>>>>>> On Thu, Mar 05, 2009 at 02:13:58PM +0200, Boaz Harrosh wrote:
>>>>>>> On today's linus v2.6.29-rc7-3-g559595a
>>>>>>>
>>>>>>> Doing make ARCH=um defconfig & make ARCH=um
>>>>>>> give's me:
>>>>>>>
>>>>>>> LD vmlinux.o
>>>>>>> MODPOST vmlinux.o
>>>>>>> WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux
>>>>>>>
>>>>>>>
>>>>>>> Sorry if this is a duplicate report
>>>>>>>
>>>>>> Weird...
>>>>>> I tried to compile like what you said, I can't reproduce it.
>>>>>>
>>>>>> Which gcc are you using?
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>> $ gcc --version
>>>>> gcc (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)
>>>>>
>>>>> I'm running on an x86_64 Fedora10 system (updated recently)
>>>>> $ uname -o -s -r -m -p -i
>>>>> Linux 2.6.27.15-170.2.24.fc10.x86_64 x86_64 x86_64 x86_64 GNU/Linux
>>>>>
>>>> I am using the same thing, but on i386. I still can't reproduce it. :(
>>>>
>>> What can I say I just did it again from scratch
>>>
>>> $ mkdir .build_um
>>> $ make ARCH=um KBUILD_OUTPUT=.build_um defconfig
>>> $ make ARCH=um KBUILD_OUTPUT=.build_um
>>>
>>> (I'm using KBUILD_OUTPUT= because O= does not work when also using M= with
>>> external modules, so it's a habit)
>>>
>>> Thanks for your help. I will try to bisect it on Sunday
>>
>> Hi, Boaz.
>>
>> I am sorry that I don't have an x86_64 machine to use, but I know
>> why this happens now. :)
>>
>> Would you like to try the following patch? Thanks!
>>
>> -------------->
>>
>> Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
>>
>
>Tested-by: Boaz Harrosh <bharrosh@panasas.com>
>
Thank you.
I will resend that patch with your Tested-by. :)
>> ---
>> diff --git a/arch/um/os-Linux/user_syms.c b/arch/um/os-Linux/user_syms.c
>> index 74f49bb..89b48a1 100644
>> --- a/arch/um/os-Linux/user_syms.c
>> +++ b/arch/um/os-Linux/user_syms.c
>> @@ -14,7 +14,6 @@
>> #undef memset
>>
>> extern size_t strlen(const char *);
>> -extern void *memcpy(void *, const void *, size_t);
>> extern void *memmove(void *, const void *, size_t);
>> extern void *memset(void *, int, size_t);
>> extern int printf(const char *, ...);
>> @@ -24,7 +23,11 @@ extern int printf(const char *, ...);
>> EXPORT_SYMBOL(strstr);
>> #endif
>>
>> +#ifndef __x86_64__
>> +extern void *memcpy(void *, const void *, size_t);
>> EXPORT_SYMBOL(memcpy);
>> +#endif
>> +
>> EXPORT_SYMBOL(memmove);
>> EXPORT_SYMBOL(memset);
>> EXPORT_SYMBOL(printf);
>>
>
>Yes this works. But it is weird, what is the difference between
>__x86_64__ and any other platform?
I just saw the comments in arch/um/sys-x86_64/ksyms.c.
--
Do what you love, f**k the rest! F**k the regulations!
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Patch] uml: fix WARNING: vmlinux: 'memcpy' exported twice.
2009-03-05 12:13 um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux Boaz Harrosh
2009-03-05 13:06 ` Américo Wang
@ 2009-03-10 14:19 ` Américo Wang
1 sibling, 0 replies; 9+ messages in thread
From: Américo Wang @ 2009-03-10 14:19 UTC (permalink / raw)
To: Boaz Harrosh; +Cc: uml-devel, linux-kernel, Jeff Dike, Andrew Morton
This patch fixes the following warning on x86_64:
LD vmlinux.o
MODPOST vmlinux.o
WARNING: vmlinux: 'memcpy' exported twice. Previous export was in
vmlinux
Reported-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
Tested-by: Boaz Harrosh <bharrosh@panasas.com>
Cc: Jeff Dike <jdike@addtoit.com>
---
diff --git a/arch/um/os-Linux/user_syms.c b/arch/um/os-Linux/user_syms.c
index 74f49bb..89b48a1 100644
--- a/arch/um/os-Linux/user_syms.c
+++ b/arch/um/os-Linux/user_syms.c
@@ -14,7 +14,6 @@
#undef memset
extern size_t strlen(const char *);
-extern void *memcpy(void *, const void *, size_t);
extern void *memmove(void *, const void *, size_t);
extern void *memset(void *, int, size_t);
extern int printf(const char *, ...);
@@ -24,7 +23,11 @@ extern int printf(const char *, ...);
EXPORT_SYMBOL(strstr);
#endif
+#ifndef __x86_64__
+extern void *memcpy(void *, const void *, size_t);
EXPORT_SYMBOL(memcpy);
+#endif
+
EXPORT_SYMBOL(memmove);
EXPORT_SYMBOL(memset);
EXPORT_SYMBOL(printf);
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-03-10 14:19 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-05 12:13 um: WARNING: vmlinux: 'memcpy' exported twice. Previous export was in vmlinux Boaz Harrosh
2009-03-05 13:06 ` Américo Wang
2009-03-05 13:45 ` Boaz Harrosh
2009-03-05 16:04 ` Américo Wang
2009-03-05 17:27 ` Boaz Harrosh
2009-03-06 7:52 ` Américo Wang
2009-03-08 10:49 ` Boaz Harrosh
2009-03-10 14:13 ` Américo Wang
2009-03-10 14:19 ` [Patch] uml: fix WARNING: vmlinux: 'memcpy' exported twice Américo Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox