From: "Helge Deller" <deller@gmx.de>
To: James Bottomley <James.Bottomley@HansenPartnership.com>,
roland@redhat.com
Cc: linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org,
rusty@rustcorp.com.au
Subject: Re: kernel segv with 2.6.31-rc6 ?
Date: Thu, 20 Aug 2009 13:51:22 +0200 [thread overview]
Message-ID: <20090820115122.123520@gmx.net> (raw)
In-Reply-To: <1250640565.15079.3.camel@mulgrave.site>
> On Mon, 2009-08-17 at 22:06 -0700, Roland McGrath wrote:
> > > I'd be happy to fail to load it. There might be sysfs issues wit=
h it
> too.
> >=20
> > That sounds reasonable to me. And I'd be happy to at least look a
> little
> > and maybe give some advice to anybody who finds themself building s=
uch a
> > (free) module, doesn't know why or how it got that way, and wants t=
o
> ask.
>=20
> Actually, for parisc, its not reasonable. It's expected that our
> modules have multiple text sections (we have to use -ffunction-sectio=
ns
> to generate them in order that the PCREL17 jump stubs can be
> interleaved).
>=20
> The problem looks to be that some linker error gave the one of the na=
med
> function text sections a duplicate name. Helge, can you post he objd=
ump
> info that shows which section had a duplicate name?
>=20
> Even with the duplicate name, though, the module should be perfectly
> loadable.
It's the ac97_bus kernel module:
-rw-r--r-- 1 root root 3.0K 2009-08-19 12:25 ac97_bus.ko=20
"objdump -x ac97_bus.ko" shows two .text sections:
ac97_bus.ko: file format elf32-hppa-linux
ac97_bus.ko =20
architecture: hppa1.1, flags 0x00000011: =20
HAS_RELOC, HAS_SYMS =20
start address 0x00000000 =20
Sections:
Idx Name Size VMA LMA File off Algn
0 .note.gnu.build-id 00000024 00000000 00000000 00000034 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA =20
1 .text 00000000 00000000 00000000 00000058 2**0 =20
CONTENTS, ALLOC, LOAD, READONLY, CODE =20
2 .text.ac97_bus_match 0000001c 00000000 00000000 00000058 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE =20
3 .exit.text 00000030 00000000 00000000 00000074 2**2 =20
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE =20
4 .init.text 00000030 00000000 00000000 000000a4 2**2 =20
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE =20
5 .text 00000000 00000000 00000000 000000d4 2**0 =20
CONTENTS, ALLOC, LOAD, READONLY, CODE =20
6 .rodata.str1.4 00000008 00000000 00000000 000000d4 2**2 =20
CONTENTS, ALLOC, LOAD, READONLY, DATA =20
7 .modinfo 00000040 00000000 00000000 000000dc 2**2 =20
CONTENTS, ALLOC, LOAD, READONLY, DATA =20
8 __ksymtab 00000008 00000000 00000000 0000011c 2**2 =20
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA =20
9 __ksymtab_strings 0000000e 00000000 00000000 00000124 2**0 =20
CONTENTS, ALLOC, LOAD, READONLY, DATA =20
10 .PARISC.unwind 00000030 00000000 00000000 00000134 2**2 =20
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA =20
11 .data 00000034 00000000 00000000 00000164 2**2 =20
CONTENTS, ALLOC, LOAD, RELOC, DATA =20
12 .gnu.linkonce.this_module 00000160 00000000 00000000 00000198 2=
**2
CONTENTS, ALLOC, LOAD, RELOC, DATA, LINK_ONCE_DISCARD=
=20
13 .bss 00000000 00000000 00000000 000002f8 2**0 =
=20
ALLOC =
=20
14 .comment 0000003a 00000000 00000000 000002f8 2**0 =
=20
CONTENTS, READONLY =
=20
SYMBOL TABLE: =
=20
00000000 l d .note.gnu.build-id 00000000 .note.gnu.build-id =
=20
00000000 l d .text 00000000 .text =
=20
00000000 l d .text.ac97_bus_match 00000000 .text.ac97_bus_match =
=20
00000000 l d .exit.text 00000000 .exit.text =
=20
00000000 l d .init.text 00000000 .init.text =
=20
00000000 l d .text 00000000 .text =
=20
00000000 l d .rodata.str1.4 00000000 .rodata.str1.4 =
=20
00000000 l d .modinfo 00000000 .modinfo =
=20
00000000 l d __ksymtab 00000000 __ksymtab =
=20
00000000 l d __ksymtab_strings 00000000 __ksymtab_strings =
=20
00000000 l d .PARISC.unwind 00000000 .PARISC.unwind =
=20
00000000 l d .data 00000000 .data =
=20
00000000 l d .gnu.linkonce.this_module 00000000 .gnu.linkonce.=
this_module
00000000 l d .bss 00000000 .bss =
=20
00000000 l d .comment 00000000 .comment =
=20
00000000 l F .text.ac97_bus_match 0000001c ac97_bus_match =
=20
00000000 l F .exit.text 00000030 ac97_bus_exit =
=20
00000000 l F .init.text 00000030 ac97_bus_init =
=20
00000000 l O .modinfo 0000000c __mod_license77 =
=20
00000000 l O __ksymtab 00000008 __ksymtab_ac97_bus_type =
=20
00000000 l O __ksymtab_strings 0000000e __kstrtab_ac97_bus_typ=
e =20
0000000c l O .modinfo 00000009 __module_depends =
=20
00000018 l O .modinfo 00000026 __mod_vermagic5 =
=20
00000000 g O .gnu.linkonce.this_module 00000160 __this_module =
=20
00000000 g F .exit.text 00000030 cleanup_module =
=20
00000000 g F .init.text 00000030 init_module =
=20
00000000 *UND* 00000000 bus_unregister =
=20
00000000 g O .data 00000034 ac97_bus_type =
=20
00000000 *UND* 00000000 bus_register =
=20
RELOCATION RECORDS FOR [.exit.text]:
OFFSET TYPE VALUE
00000010 R_PARISC_DPREL21L ac97_bus_type
00000014 R_PARISC_DPREL14R ac97_bus_type
00000018 R_PARISC_PCREL17F bus_unregister
RELOCATION RECORDS FOR [.init.text]:
OFFSET TYPE VALUE
00000010 R_PARISC_DPREL21L ac97_bus_type
00000014 R_PARISC_DPREL14R ac97_bus_type
00000018 R_PARISC_PCREL17F bus_register
RELOCATION RECORDS FOR [__ksymtab]:
OFFSET TYPE VALUE
00000000 R_PARISC_DIR32 ac97_bus_type
00000004 R_PARISC_DIR32 __ksymtab_strings
RELOCATION RECORDS FOR [.PARISC.unwind]:
OFFSET TYPE VALUE
00000000 R_PARISC_SEGREL32 ac97_bus_match
00000004 R_PARISC_SEGREL32 .text.ac97_bus_match+0x00000018
00000010 R_PARISC_SEGREL32 ac97_bus_exit
00000014 R_PARISC_SEGREL32 .exit.text+0x0000002c
00000020 R_PARISC_SEGREL32 ac97_bus_init
00000024 R_PARISC_SEGREL32 .init.text+0x0000002c
RELOCATION RECORDS FOR [.data]:
OFFSET TYPE VALUE
00000000 R_PARISC_DIR32 .rodata.str1.4
00000010 R_PARISC_PLABEL32 ac97_bus_match
RELOCATION RECORDS FOR [.gnu.linkonce.this_module]:
OFFSET TYPE VALUE
000000d4 R_PARISC_PLABEL32 init_module
00000150 R_PARISC_PLABEL32 cleanup_module
Helge
--=20
GRATIS f=FCr alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc"=
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: "Helge Deller" <deller@gmx.de>
To: James Bottomley <James.Bottomley@HansenPartnership.com>,
roland@redhat.com
Cc: linux-kernel@vger.kernel.org, linux-parisc@vger.kernel.org,
rusty@rustcorp.com.au
Subject: Re: kernel segv with 2.6.31-rc6 ?
Date: Thu, 20 Aug 2009 13:51:22 +0200 [thread overview]
Message-ID: <20090820115122.123520@gmx.net> (raw)
In-Reply-To: <1250640565.15079.3.camel@mulgrave.site>
> On Mon, 2009-08-17 at 22:06 -0700, Roland McGrath wrote:
> > > I'd be happy to fail to load it. There might be sysfs issues with it
> too.
> >
> > That sounds reasonable to me. And I'd be happy to at least look a
> little
> > and maybe give some advice to anybody who finds themself building such a
> > (free) module, doesn't know why or how it got that way, and wants to
> ask.
>
> Actually, for parisc, its not reasonable. It's expected that our
> modules have multiple text sections (we have to use -ffunction-sections
> to generate them in order that the PCREL17 jump stubs can be
> interleaved).
>
> The problem looks to be that some linker error gave the one of the named
> function text sections a duplicate name. Helge, can you post he objdump
> info that shows which section had a duplicate name?
>
> Even with the duplicate name, though, the module should be perfectly
> loadable.
It's the ac97_bus kernel module:
-rw-r--r-- 1 root root 3.0K 2009-08-19 12:25 ac97_bus.ko
"objdump -x ac97_bus.ko" shows two .text sections:
ac97_bus.ko: file format elf32-hppa-linux
ac97_bus.ko
architecture: hppa1.1, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000
Sections:
Idx Name Size VMA LMA File off Algn
0 .note.gnu.build-id 00000024 00000000 00000000 00000034 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .text 00000000 00000000 00000000 00000058 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .text.ac97_bus_match 0000001c 00000000 00000000 00000058 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
3 .exit.text 00000030 00000000 00000000 00000074 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
4 .init.text 00000030 00000000 00000000 000000a4 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
5 .text 00000000 00000000 00000000 000000d4 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
6 .rodata.str1.4 00000008 00000000 00000000 000000d4 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .modinfo 00000040 00000000 00000000 000000dc 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 __ksymtab 00000008 00000000 00000000 0000011c 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
9 __ksymtab_strings 0000000e 00000000 00000000 00000124 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
10 .PARISC.unwind 00000030 00000000 00000000 00000134 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
11 .data 00000034 00000000 00000000 00000164 2**2
CONTENTS, ALLOC, LOAD, RELOC, DATA
12 .gnu.linkonce.this_module 00000160 00000000 00000000 00000198 2**2
CONTENTS, ALLOC, LOAD, RELOC, DATA, LINK_ONCE_DISCARD
13 .bss 00000000 00000000 00000000 000002f8 2**0
ALLOC
14 .comment 0000003a 00000000 00000000 000002f8 2**0
CONTENTS, READONLY
SYMBOL TABLE:
00000000 l d .note.gnu.build-id 00000000 .note.gnu.build-id
00000000 l d .text 00000000 .text
00000000 l d .text.ac97_bus_match 00000000 .text.ac97_bus_match
00000000 l d .exit.text 00000000 .exit.text
00000000 l d .init.text 00000000 .init.text
00000000 l d .text 00000000 .text
00000000 l d .rodata.str1.4 00000000 .rodata.str1.4
00000000 l d .modinfo 00000000 .modinfo
00000000 l d __ksymtab 00000000 __ksymtab
00000000 l d __ksymtab_strings 00000000 __ksymtab_strings
00000000 l d .PARISC.unwind 00000000 .PARISC.unwind
00000000 l d .data 00000000 .data
00000000 l d .gnu.linkonce.this_module 00000000 .gnu.linkonce.this_module
00000000 l d .bss 00000000 .bss
00000000 l d .comment 00000000 .comment
00000000 l F .text.ac97_bus_match 0000001c ac97_bus_match
00000000 l F .exit.text 00000030 ac97_bus_exit
00000000 l F .init.text 00000030 ac97_bus_init
00000000 l O .modinfo 0000000c __mod_license77
00000000 l O __ksymtab 00000008 __ksymtab_ac97_bus_type
00000000 l O __ksymtab_strings 0000000e __kstrtab_ac97_bus_type
0000000c l O .modinfo 00000009 __module_depends
00000018 l O .modinfo 00000026 __mod_vermagic5
00000000 g O .gnu.linkonce.this_module 00000160 __this_module
00000000 g F .exit.text 00000030 cleanup_module
00000000 g F .init.text 00000030 init_module
00000000 *UND* 00000000 bus_unregister
00000000 g O .data 00000034 ac97_bus_type
00000000 *UND* 00000000 bus_register
RELOCATION RECORDS FOR [.exit.text]:
OFFSET TYPE VALUE
00000010 R_PARISC_DPREL21L ac97_bus_type
00000014 R_PARISC_DPREL14R ac97_bus_type
00000018 R_PARISC_PCREL17F bus_unregister
RELOCATION RECORDS FOR [.init.text]:
OFFSET TYPE VALUE
00000010 R_PARISC_DPREL21L ac97_bus_type
00000014 R_PARISC_DPREL14R ac97_bus_type
00000018 R_PARISC_PCREL17F bus_register
RELOCATION RECORDS FOR [__ksymtab]:
OFFSET TYPE VALUE
00000000 R_PARISC_DIR32 ac97_bus_type
00000004 R_PARISC_DIR32 __ksymtab_strings
RELOCATION RECORDS FOR [.PARISC.unwind]:
OFFSET TYPE VALUE
00000000 R_PARISC_SEGREL32 ac97_bus_match
00000004 R_PARISC_SEGREL32 .text.ac97_bus_match+0x00000018
00000010 R_PARISC_SEGREL32 ac97_bus_exit
00000014 R_PARISC_SEGREL32 .exit.text+0x0000002c
00000020 R_PARISC_SEGREL32 ac97_bus_init
00000024 R_PARISC_SEGREL32 .init.text+0x0000002c
RELOCATION RECORDS FOR [.data]:
OFFSET TYPE VALUE
00000000 R_PARISC_DIR32 .rodata.str1.4
00000010 R_PARISC_PLABEL32 ac97_bus_match
RELOCATION RECORDS FOR [.gnu.linkonce.this_module]:
OFFSET TYPE VALUE
000000d4 R_PARISC_PLABEL32 init_module
00000150 R_PARISC_PLABEL32 cleanup_module
Helge
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
next prev parent reply other threads:[~2009-08-20 11:51 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-17 21:31 kernel segv with 2.6.31-rc6 ? Helge Deller
2009-08-17 22:04 ` James Bottomley
2009-08-17 22:49 ` James Bottomley
2009-08-17 23:54 ` Roland McGrath
2009-08-18 3:18 ` Rusty Russell
2009-08-18 3:55 ` James Bottomley
2009-08-18 5:06 ` Roland McGrath
2009-08-19 0:09 ` James Bottomley
2009-08-19 0:14 ` Roland McGrath
2009-08-19 0:54 ` James Bottomley
2009-08-19 1:31 ` Roland McGrath
2009-08-19 1:38 ` James Bottomley
2009-08-19 18:10 ` Roland McGrath
2009-08-25 7:59 ` Rusty Russell
2009-08-25 19:24 ` Roland McGrath
2009-08-26 12:20 ` Rusty Russell
2009-08-26 17:54 ` Roland McGrath
2009-08-20 11:51 ` Helge Deller [this message]
2009-08-20 11:51 ` Helge Deller
2009-08-20 12:25 ` Helge Deller
2009-08-20 12:25 ` Helge Deller
2009-08-20 18:55 ` John David Anglin
2009-08-20 21:45 ` Helge Deller
2009-08-20 21:50 ` James Bottomley
2009-08-20 22:07 ` Roland McGrath
2009-08-20 23:01 ` John David Anglin
2009-08-20 23:23 ` Roland McGrath
2009-08-21 0:03 ` John David Anglin
2009-08-25 21:49 ` Mike Frysinger
2009-08-25 7:37 ` Rusty Russell
2009-11-27 22:11 ` Helge Deller
2009-11-30 4:41 ` Roland McGrath
2009-08-20 11:58 ` Helge Deller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090820115122.123520@gmx.net \
--to=deller@gmx.de \
--cc=James.Bottomley@HansenPartnership.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=roland@redhat.com \
--cc=rusty@rustcorp.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.