From: Boaz H. <bha...@pa...> - 2009-03-05 12:14:38
|
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 |
From: Américo W. <xiy...@gm...> - 2009-03-05 13:06:04
|
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! |
From: Boaz H. <bha...@pa...> - 2009-03-05 13:58:20
|
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 |
From: Américo W. <xiy...@gm...> - 2009-03-05 16:04:42
|
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! |
From: Boaz H. <bha...@pa...> - 2009-03-05 17:29:39
|
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 |
From: Américo W. <xiy...@gm...> - 2009-03-06 07:52:00
|
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 <xiy...@gm...> --- 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); |
From: Boaz H. <bha...@pa...> - 2009-03-08 10:50:11
|
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 <xiy...@gm...> > Tested-by: Boaz Harrosh <bha...@pa...> > --- > 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 |
From: Américo W. <xiy...@gm...> - 2009-03-10 14:13:31
|
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 <xiy...@gm...> >> > >Tested-by: Boaz Harrosh <bha...@pa...> > 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! |
From: Américo W. <xiy...@gm...> - 2009-03-10 14:19:20
|
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 <bha...@pa...> Signed-off-by: WANG Cong <xiy...@gm...> Tested-by: Boaz Harrosh <bha...@pa...> Cc: Jeff Dike <jd...@ad...> --- 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); |