* linker error: section __modver vma 0x6028c000 overlaps previous
@ 2012-05-09 4:41 michi1 at michaelblizek.twilightparadox.com
2012-05-09 17:19 ` Mulyadi Santosa
0 siblings, 1 reply; 7+ messages in thread
From: michi1 at michaelblizek.twilightparadox.com @ 2012-05-09 4:41 UTC (permalink / raw)
To: kernelnewbies
Hi!
I am facing a weird problem:
$ ARCH=um make linux
make[1]: `arch/um/sys-x86_64/user-offsets.s' is up to date.
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
QUOTE arch/um/kernel/config.tmp
QUOTE arch/um/kernel/config.c
CC arch/um/kernel/config.o
LD arch/um/kernel/built-in.o
VDSOSYM arch/um/sys-x86_64/vdso/vdso-syms.lds
LD arch/um/sys-x86_64/vdso/built-in.o
LD arch/um/sys-x86_64/built-in.o
CHK kernel/config_data.h
LD vmlinux.o
MODPOST vmlinux.o
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
KSYM .tmp_kallsyms1.S
AS .tmp_kallsyms1.o
LD .tmp_vmlinux2
/usr/bin/ld: .tmp_vmlinux2: section __modver vma 0x6028c000 overlaps previous sections
KSYM .tmp_kallsyms2.S
AS .tmp_kallsyms2.o
LD vmlinux
/usr/bin/ld: vmlinux: section __modver vma 0x6028c000 overlaps previous sections
SYSMAP System.map
SYSMAP .tmp_System.map
LINK linux
This is triggered by changing files in my network protocol code for no
apparent reason. My code is at available at http://repo.or.cz/w/cor.git?a=tree
This change triggers it:
diff --git a/net/cor/credits.c b/net/cor/credits.c
index e0fb39a..776d197 100644
--- a/net/cor/credits.c
+++ b/net/cor/credits.c
@@ -556,7 +556,14 @@ void connreset_credits(struct conn *cn)
{
unsigned long iflags;
- __u32 unlockhints = credits_lock_conn(cn);
+ if (cn->is_client) {
+ spin_lock_bh(&(cn->rcv_lock));
+ spin_lock_bh(&(cn->reversedir->rcv_lock));
+ } else {
+ spin_lock_bh(&(cn->reversedir->rcv_lock));
+ spin_lock_bh(&(cn->rcv_lock));
+ }
+
if (cn->in_credit_list) {
spin_lock_irqsave(&credits_list_lock, iflags);
list_del(&(cn->credit_list));
@@ -582,13 +589,26 @@ void connreset_credits(struct conn *cn)
cn->crate_out, 0);
spin_unlock_irqrestore(&(nb->credits_lock), iflags);
}
- credits_unlock_conn(cn, unlockhints);
+
+ if (cn->is_client) {
+ spin_unlock_bh(&(cn->rcv_lock));
+ spin_unlock_bh(&(cn->reversedir->rcv_lock));
+ } else {
+ spin_unlock_bh(&(cn->reversedir->rcv_lock));
+ spin_unlock_bh(&(cn->rcv_lock));
+ }
}
void set_conn_in_decaytime(struct neighbor *nb, __u32 conn_id,
struct conn *src_in, __u8 decaytime_seqno, __u16 decaytime)
{
- __u32 unlockhints = credits_lock_conn(src_in);
+ if (src_in->is_client) {
+ spin_lock_bh(&(src_in->rcv_lock));
+ spin_lock_bh(&(src_in->reversedir->rcv_lock));
+ } else {
+ spin_lock_bh(&(src_in->reversedir->rcv_lock));
+ spin_lock_bh(&(src_in->rcv_lock));
+ }
if (unlikely(is_conn_in(src_in, nb, conn_id) == 0))
goto out;
@@ -608,7 +628,13 @@ set:
refresh_conn_credits(src_in, 0, 1);
out:
- credits_unlock_conn(src_in, unlockhints);
+ if (src_in->is_client) {
+ spin_unlock_bh(&(src_in->rcv_lock));
+ spin_unlock_bh(&(src_in->reversedir->rcv_lock));
+ } else {
+ spin_unlock_bh(&(src_in->reversedir->rcv_lock));
+ spin_unlock_bh(&(src_in->rcv_lock));
+ }
}
static void background_refresh_credits(struct work_struct *work)
However, if only one instead of both credits_(un)lock_conn changes are made,
the error/warning is gone. By searching on the internet it looks like the
linker runs out of ressources, maybe because of certain properties of the
build environment. However, I did not find a solution yet. Any ideas?
My system is debian stable/squeeze.
-Michi
^ permalink raw reply related [flat|nested] 7+ messages in thread
* linker error: section __modver vma 0x6028c000 overlaps previous
2012-05-09 4:41 linker error: section __modver vma 0x6028c000 overlaps previous michi1 at michaelblizek.twilightparadox.com
@ 2012-05-09 17:19 ` Mulyadi Santosa
2012-05-09 18:49 ` michi1 at michaelblizek.twilightparadox.com
0 siblings, 1 reply; 7+ messages in thread
From: Mulyadi Santosa @ 2012-05-09 17:19 UTC (permalink / raw)
To: kernelnewbies
Hi...
On Wed, May 9, 2012 at 11:41 AM,
<michi1@michaelblizek.twilightparadox.com> wrote:
> /usr/bin/ld: .tmp_vmlinux2: section __modver vma 0x6028c000 overlaps previous sections
> ?KSYM ? ?.tmp_kallsyms2.S
> ?AS ? ? ?.tmp_kallsyms2.o
> ?LD ? ? ?vmlinux
> /usr/bin/ld: vmlinux: section __modver vma 0x6028c000 overlaps previous sections
> ?SYSMAP ?System.map
> ?SYSMAP ?.tmp_System.map
> ?LINK linux
modver.... hmmm, raw guess, what happen if you turn off module
versioning in kernel config?
And, does this happen if you build standard (non UML) kernel?
--
regards,
Mulyadi Santosa
Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* linker error: section __modver vma 0x6028c000 overlaps previous
2012-05-09 17:19 ` Mulyadi Santosa
@ 2012-05-09 18:49 ` michi1 at michaelblizek.twilightparadox.com
2012-05-10 4:53 ` Mulyadi Santosa
0 siblings, 1 reply; 7+ messages in thread
From: michi1 at michaelblizek.twilightparadox.com @ 2012-05-09 18:49 UTC (permalink / raw)
To: kernelnewbies
Hi!
On 00:19 Thu 10 May , Mulyadi Santosa wrote:
> Hi...
>
> On Wed, May 9, 2012 at 11:41 AM,
> <michi1@michaelblizek.twilightparadox.com> wrote:
> > /usr/bin/ld: .tmp_vmlinux2: section __modver vma 0x6028c000 overlaps previous sections
> > ?KSYM ? ?.tmp_kallsyms2.S
> > ?AS ? ? ?.tmp_kallsyms2.o
> > ?LD ? ? ?vmlinux
> > /usr/bin/ld: vmlinux: section __modver vma 0x6028c000 overlaps previous sections
> > ?SYSMAP ?System.map
> > ?SYSMAP ?.tmp_System.map
> > ?LINK linux
>
> modver.... hmmm, raw guess, what happen if you turn off module
> versioning in kernel config?
Module versioning was turned off. If I turn it on, the error disappears.
> And, does this happen if you build standard (non UML) kernel?
I do not have a non-uml config ready for this kernel. "make oldconfig" asks
for almost every option which exists.
-Michi
^ permalink raw reply [flat|nested] 7+ messages in thread
* linker error: section __modver vma 0x6028c000 overlaps previous
2012-05-09 18:49 ` michi1 at michaelblizek.twilightparadox.com
@ 2012-05-10 4:53 ` Mulyadi Santosa
2012-05-10 5:36 ` michi1 at michaelblizek.twilightparadox.com
0 siblings, 1 reply; 7+ messages in thread
From: Mulyadi Santosa @ 2012-05-10 4:53 UTC (permalink / raw)
To: kernelnewbies
Hi again... :)
On Thu, May 10, 2012 at 1:49 AM,
<michi1@michaelblizek.twilightparadox.com> wrote:
> Hi!
>
> On 00:19 Thu 10 May ? ? , Mulyadi Santosa wrote:
>> Hi...
>>
>> On Wed, May 9, 2012 at 11:41 AM,
>> <michi1@michaelblizek.twilightparadox.com> wrote:
>> > /usr/bin/ld: .tmp_vmlinux2: section __modver vma 0x6028c000 overlaps previous sections
>> > ?KSYM ? ?.tmp_kallsyms2.S
>> > ?AS ? ? ?.tmp_kallsyms2.o
>> > ?LD ? ? ?vmlinux
>> > /usr/bin/ld: vmlinux: section __modver vma 0x6028c000 overlaps previous sections
>> > ?SYSMAP ?System.map
>> > ?SYSMAP ?.tmp_System.map
>> > ?LINK linux
>>
>> modver.... hmmm, raw guess, what happen if you turn off module
>> versioning in kernel config?
>
> Module versioning was turned off. If I turn it on, the error disappears.
Hm....not sure about you, but I find it weird.
Anyway, are you sure you have done make mrproper or make clean before
building the kernel? Just to make sure it starts from clean state.
>> And, does this happen if you build standard (non UML) kernel?
>
> I do not have a non-uml config ready for this kernel. "make oldconfig" asks
> for almost every option which exists.
What if you just use make defconfig....then tweaking it a bit here
and there using make menuconfig? That way, you don't have to answer
bunch of questions... just my 2 cents idea....
--
regards,
Mulyadi Santosa
Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* linker error: section __modver vma 0x6028c000 overlaps previous
2012-05-10 4:53 ` Mulyadi Santosa
@ 2012-05-10 5:36 ` michi1 at michaelblizek.twilightparadox.com
2012-05-10 15:41 ` michi1 at michaelblizek.twilightparadox.com
0 siblings, 1 reply; 7+ messages in thread
From: michi1 at michaelblizek.twilightparadox.com @ 2012-05-10 5:36 UTC (permalink / raw)
To: kernelnewbies
Hi!
On 11:53 Thu 10 May , Mulyadi Santosa wrote:
> Hi again... :)
>
> On Thu, May 10, 2012 at 1:49 AM,
> <michi1@michaelblizek.twilightparadox.com> wrote:
> > Hi!
> >
> > On 00:19 Thu 10 May ? ? , Mulyadi Santosa wrote:
> >> Hi...
> >>
> >> On Wed, May 9, 2012 at 11:41 AM,
> >> <michi1@michaelblizek.twilightparadox.com> wrote:
> >> > /usr/bin/ld: .tmp_vmlinux2: section __modver vma 0x6028c000 overlaps previous sections
> >> > ?KSYM ? ?.tmp_kallsyms2.S
> >> > ?AS ? ? ?.tmp_kallsyms2.o
> >> > ?LD ? ? ?vmlinux
> >> > /usr/bin/ld: vmlinux: section __modver vma 0x6028c000 overlaps previous sections
> >> > ?SYSMAP ?System.map
> >> > ?SYSMAP ?.tmp_System.map
> >> > ?LINK linux
> >>
> >> modver.... hmmm, raw guess, what happen if you turn off module
> >> versioning in kernel config?
> >
> > Module versioning was turned off. If I turn it on, the error disappears.
>
> Hm....not sure about you, but I find it weird.
Me, too.
> Anyway, are you sure you have done make mrproper or make clean before
> building the kernel? Just to make sure it starts from clean state.
make clean/mrproper does not change anything.
> >> And, does this happen if you build standard (non UML) kernel?
> >
> > I do not have a non-uml config ready for this kernel. "make oldconfig" asks
> > for almost every option which exists.
>
> What if you just use make defconfig....then tweaking it a bit here
> and there using make menuconfig? That way, you don't have to answer
> bunch of questions... just my 2 cents idea....
I just tried narrowing it down. Doing either allnoconfig or allyesconfig,
then setting the loadable module setting and enabling by code means that the
error is gone, too. I will try to find out what it is...
-Michi
^ permalink raw reply [flat|nested] 7+ messages in thread
* linker error: section __modver vma 0x6028c000 overlaps previous
2012-05-10 5:36 ` michi1 at michaelblizek.twilightparadox.com
@ 2012-05-10 15:41 ` michi1 at michaelblizek.twilightparadox.com
2012-05-11 17:03 ` Mulyadi Santosa
0 siblings, 1 reply; 7+ messages in thread
From: michi1 at michaelblizek.twilightparadox.com @ 2012-05-10 15:41 UTC (permalink / raw)
To: kernelnewbies
Hi!
The bug seems fixed somewhere in mainline between 3.1.0-rc1 and 3.4-rc6.
-Michi
^ permalink raw reply [flat|nested] 7+ messages in thread
* linker error: section __modver vma 0x6028c000 overlaps previous
2012-05-10 15:41 ` michi1 at michaelblizek.twilightparadox.com
@ 2012-05-11 17:03 ` Mulyadi Santosa
0 siblings, 0 replies; 7+ messages in thread
From: Mulyadi Santosa @ 2012-05-11 17:03 UTC (permalink / raw)
To: kernelnewbies
Hi again :)
On Thu, May 10, 2012 at 10:41 PM,
<michi1@michaelblizek.twilightparadox.com> wrote:
> Hi!
>
> The bug seems fixed somewhere in mainline between 3.1.0-rc1 and 3.4-rc6.
Glad you can narrow the problem. Good luck then! :)
--
regards,
Mulyadi Santosa
Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-05-11 17:03 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-09 4:41 linker error: section __modver vma 0x6028c000 overlaps previous michi1 at michaelblizek.twilightparadox.com
2012-05-09 17:19 ` Mulyadi Santosa
2012-05-09 18:49 ` michi1 at michaelblizek.twilightparadox.com
2012-05-10 4:53 ` Mulyadi Santosa
2012-05-10 5:36 ` michi1 at michaelblizek.twilightparadox.com
2012-05-10 15:41 ` michi1 at michaelblizek.twilightparadox.com
2012-05-11 17:03 ` Mulyadi Santosa
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.