Re: kernel segv with 2.6.31-rc6 ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > 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 

That's actually a problem of all kernel modules on hppa when using a newer compiler, not only the ac97_bus module.

The reason seems to be, that something in the newer gcc compilers changed to generate multiple sections all named ".text" for the PCREL17 relocations.
Older compilers named those sections ".text.1", ".text.2", ".text.3" and so forth.

"objdump -x ac97_bus.ko" with current (newer) compiler gives:
> 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              
>...

older compiler produced:
Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000000  00000000  00000000  00000034  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .text.ac97_bus_match 0000001c  00000000  00000000  00000034  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .exit.text    00000030  00000000  00000000  00000050  2**2
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  3 .init.text    00000030  00000000  00000000  00000080  2**2
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  4 .text.1       00000000  00000000  00000000  000000b0  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
...

Helge
-- 
Neu: GMX Doppel-FLAT mit Internet-Flatrate + Telefon-Flatrate
für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl01
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux