2003-01-09 09:01:45

by Niels den Otter

[permalink] [raw]
Subject: 2.5.55: local symbols in net/ipv6/af_inet6.o

As of 2.5.54bk6 (including 2.5.55) I get the following compilation error:

gcc-2.95 -Wp,-MD,init/.version.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=version -DKBUILD_MODNAME=version -c -o init/version.o init/version.c
ld -m elf_i386 -r -o init/built-in.o init/main.o init/version.o init/do_mounts.o init/initramfs.o
ld -m elf_i386 -e stext -T arch/i386/vmlinux.lds.s arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/built-in.o --start-group usr/built-in.o arch/i386/kernel/built-in.o arch/i386/mm/built-in.o arch/i386/mach-default/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o lib/lib.a arch/i386/lib/lib.a drivers/built-in.o sound/built-in.o arch/i386/pci/built-in.o net/built-in.o --end-group -o vmlinux
net/built-in.o(.init.text+0x1a34): In function `inet6_init':
: undefined reference to `local symbols in discarded section .exit.text'
make: *** [vmlinux] Error 1


The reference_discarded.pl script says following:
pangsit:/usr/src/linux/net> perl ~otter/reference_discarded.pl
Finding objects, 245 objects, ignoring 0 module(s)
Finding conglomerates, ignoring 11 conglomerate(s)
Scanning objects
Error: ./ipv6/af_inet6.o .init.text refers to 000003e4 R_386_PC32 .exit.text
Done

I tried both gcc-2.95 & gcc-3.2.2 .


-- Niels


2003-01-09 10:39:32

by David van Hoose

[permalink] [raw]
Subject: Re: 2.5.55: local symbols in net/ipv6/af_inet6.o

Niels den Otter wrote:
> As of 2.5.54bk6 (including 2.5.55) I get the following compilation error:
>
SNIP!
> net/built-in.o(.init.text+0x1a34): In function `inet6_init':
> : undefined reference to `local symbols in discarded section .exit.text'
> make: *** [vmlinux] Error 1
>
>
> The reference_discarded.pl script says following:
> pangsit:/usr/src/linux/net> perl ~otter/reference_discarded.pl
> Finding objects, 245 objects, ignoring 0 module(s)
> Finding conglomerates, ignoring 11 conglomerate(s)
> Scanning objects
> Error: ./ipv6/af_inet6.o .init.text refers to 000003e4 R_386_PC32 .exit.text
> Done
>
> I tried both gcc-2.95 & gcc-3.2.2 .

Change the IPv6 option in your config from Y to M. That is a workaround
until whoever fixes that. I get it too.

-David

2003-01-09 23:12:06

by Anders Gustafsson

[permalink] [raw]
Subject: Re: 2.5.55: local symbols in net/ipv6/af_inet6.o

On Thu, Jan 09, 2003 at 10:10:26AM +0100, Niels den Otter wrote:
> The reference_discarded.pl script says following:
> pangsit:/usr/src/linux/net> perl ~otter/reference_discarded.pl
> Finding objects, 245 objects, ignoring 0 module(s)
> Finding conglomerates, ignoring 11 conglomerate(s)
> Scanning objects
> Error: ./ipv6/af_inet6.o .init.text refers to 000003e4 R_386_PC32 .exit.text
> Done
>
> I tried both gcc-2.95 & gcc-3.2.2 .

This patch shoul fix it, the problem is that cleanup_ipv6_mibs can't be
__exit as it's called on ipv6_init's errorpath.


--
Anders Gustafsson - [email protected] - http://0x63.nu/

You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.

===================================================================


[email protected], 2003-01-10 00:10:38+01:00, [email protected]
cleanup_ipv6_mibs can't be __exit, it's called on ipv6_init's errorpath.


af_inet6.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)


diff -Nru a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
--- a/net/ipv6/af_inet6.c Fri Jan 10 00:11:57 2003
+++ b/net/ipv6/af_inet6.c Fri Jan 10 00:11:57 2003
@@ -684,7 +684,7 @@

}

-static void __exit cleanup_ipv6_mibs(void)
+static void cleanup_ipv6_mibs(void)
{
kfree_percpu(ipv6_statistics[0]);
kfree_percpu(ipv6_statistics[1]);

===================================================================


This BitKeeper patch contains the following changesets:
1.901
## Wrapped with gzip_uu ##


begin 664 bkpatch11850
M'XL(`+T!'CX``\V446O;,!#'GZ-/<="';G2Q[V1%L0P9V=JQC0T6,OH<9%MI
M3&PYV$K:@3_\%">T6]NUK.QALL&GT]_'3[H_.H'+UC3)0-O<-.T5.X%/=>N2
M`=[(*+!;/Y_7M9^'J[HRX5$5KDUC31FFZS`MZVOF53/MLA7L_&HRH""ZS;@?
M&Y,,YA\^7GY]-V=L,H'SE;97YKMQ,)DP5S<[7>;M5+M56=O`-=JVE7$ZR.JJ
MNY5V')'[9T3C"$>R(XEBW&64$VE!)D<N8BG8$6]ZA/_]_P@)%>=<HNI\3))=
M``4*"3`*D4)"0$P(DR@^0TH0X5XY.",8(GL/_Q;ZG&60E4;;[691;'9R415I
M"YFVIPY2`XN%N2G<&RC<Z3Y;EB:'VD*O+&R?-4U3-QL/$[`OP)6BF,WNCID-
M_W(PAAK9VV>V:8T+]Q"A7GH.XV20_;IA-5(=$<:\DZ-4"JX5C7(AXTC=/]8_
M53KT*R(?=()$%/7N>43\O(]>S,K6A2\T+6Q0I-53I?:P8T)2@G>"HQKWYB+U
MP%OXA+?H?_?6H0W?8-A<]Z_WRNRQCKS`<A<R'@.QSX=/Z[0K,MC51?Z0_]4^
;_?KNTLE6)ENWVVJ"8IF))5?L)Q<IQX;5!```
`
end

2003-01-10 06:40:30

by David Miller

[permalink] [raw]
Subject: Re: 2.5.55: local symbols in net/ipv6/af_inet6.o

From: Anders Gustafsson <[email protected]>
Date: Fri, 10 Jan 2003 00:18:34 +0100

On Thu, Jan 09, 2003 at 10:10:26AM +0100, Niels den Otter wrote:
> The reference_discarded.pl script says following:
> pangsit:/usr/src/linux/net> perl ~otter/reference_discarded.pl
> Finding objects, 245 objects, ignoring 0 module(s)
> Finding conglomerates, ignoring 11 conglomerate(s)
> Scanning objects
> Error: ./ipv6/af_inet6.o .init.text refers to 000003e4 R_386_PC32 .exit.text
> Done
>
> I tried both gcc-2.95 & gcc-3.2.2 .

This patch shoul fix it, the problem is that cleanup_ipv6_mibs can't be
__exit as it's called on ipv6_init's errorpath.

I've applied your patch, thanks.