All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.