Compiling 2.5.32

Compiling 2.5.32

Post by Dave Hanse » Sat, 31 Aug 2002 05:30:14




> can anybody give me hint. I don't think it is a bug, but i don't know
> what this error means for me. It is in "make bzImage" and the config is
> attached. Symlink asm is on asm-i386 and i added "ln -s
> /usr/src/linux/include/asm-generic /usr/include/asm-generic". Build
> environment is Athlon, Kernel 2.4.18, gcc 2.95.3
> <snip>
> drivers/built-in.o(.data+0x2fab4): undefined reference to `local symbols

 From what I understand this happens when these conditions are met:
1. You use a recent version of binutils (Debian has one)
2. CONFIG_HOTPLUG is not set
3. You compile a driver that doesn't properly use __devexit_p macro

I fixed this in the IPS driver:

So, find and fix the driver, use hotplug, or get an older binutils.
--
Dave Hansen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Compiling 2.5.32

Post by Adrian Bun » Sat, 31 Aug 2002 08:30:10




> > can anybody give me hint. I don't think it is a bug, but i don't know
> > what this error means for me. It is in "make bzImage" and the config is
> > attached. Symlink asm is on asm-i386 and i added "ln -s
> > /usr/src/linux/include/asm-generic /usr/include/asm-generic". Build
> > environment is Athlon, Kernel 2.4.18, gcc 2.95.3
> > <snip>
> > drivers/built-in.o(.data+0x2fab4): undefined reference to `local symbols

>  From what I understand this happens when these conditions are met:
> 1. You use a recent version of binutils (Debian has one)
> 2. CONFIG_HOTPLUG is not set
> 3. You compile a driver that doesn't properly use __devexit_p macro

> I fixed this in the IPS driver:

> So, find and fix the driver, use hotplug, or get an older binutils.

Michael's problem is drivers/net/tulip/de2104x.c and this problem is known
since several months.

There are two possible solutions:

1. make the driver hot-pluggable
2. #ifdef the .remove away

Jeff Garzik doesn't want 1. until "someone actually tells me they are
trying to hot-plug such a card" and he didn't apply the following patch to
#ifdef the .remove away if the driver is compiled statically into the
kernel:

--- drivers/net/tulip/de2104x.c.old     2002-08-30 01:06:09.000000000 +0200

        .name           = DRV_NAME,
        .id_table       = de_pci_tbl,
        .probe          = de_init_one,
+#ifdef MODULE
        .remove         = de_remove_one,
+#endif
 #ifdef CONFIG_PM
        .suspend        = de_suspend,
        .resume         = de_resume,

cu
Adrian

--

You only think this is a free country. Like the US the UK spends a lot of
time explaining its a free country because its a police state.
                                                                Alan Cox

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Compiling 2.5.32

Post by Jeff Garzi » Sat, 31 Aug 2002 08:30:13



> Jeff Garzik doesn't want 1. until "someone actually tells me they are
> trying to hot-plug such a card" and he didn't apply the following patch to
> #ifdef the .remove away if the driver is compiled statically into the
> kernel:

> --- drivers/net/tulip/de2104x.c.old        2002-08-30 01:06:09.000000000 +0200
> +++ drivers/net/tulip/de2104x.c    2002-08-30 01:06:45.000000000 +0200

>    .name           = DRV_NAME,
>    .id_table       = de_pci_tbl,
>    .probe          = de_init_one,
> +#ifdef MODULE
>    .remove         = de_remove_one,
> +#endif
>  #ifdef CONFIG_PM
>    .suspend        = de_suspend,
>    .resume         = de_resume,

You missed my recent message, I think.

Currently in 2.5.x, you should be able to replace that #ifdef with
__devexit_p -- without changing the de_remove_one prototype.  I updated
the definition of __devexit_p in 2.5.30 or so.

        Jeff

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Compiling 2.5.32

Post by Adrian Bun » Sat, 31 Aug 2002 08:50:05



> > Jeff Garzik doesn't want 1. until "someone actually tells me they are
> > trying to hot-plug such a card" and he didn't apply the following patch to
> > #ifdef the .remove away if the driver is compiled statically into the
> > kernel:

> > --- drivers/net/tulip/de2104x.c.old   2002-08-30 01:06:09.000000000 +0200
> > +++ drivers/net/tulip/de2104x.c       2002-08-30 01:06:45.000000000 +0200

> >       .name           = DRV_NAME,
> >       .id_table       = de_pci_tbl,
> >       .probe          = de_init_one,
> > +#ifdef MODULE
> >       .remove         = de_remove_one,
> > +#endif
> >  #ifdef CONFIG_PM
> >       .suspend        = de_suspend,
> >       .resume         = de_resume,

> You missed my recent message, I think.

> Currently in 2.5.x, you should be able to replace that #ifdef with
> __devexit_p -- without changing the de_remove_one prototype.  I updated
> the definition of __devexit_p in 2.5.30 or so.

From include/linux/init.h in 2.5.32:

<--  snip  -->

...
#if defined(MODULE) || defined(CONFIG_HOTPLUG)
#define __devexit_p(x) x
#else
#define __devexit_p(x) NULL
#endif
...

<--  snip  -->

With the .config of Michael a __devexit_p in de2104x.c doesn't help
because CONFIG_HOTPLUG is defined...

Quote:>    Jeff

cu
Adrian

--

You only think this is a free country. Like the US the UK spends a lot of
time explaining its a free country because its a police state.
                                                                Alan Cox

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

1. 2.5.32 : drivers/scsi/sym53c416.c compile error

Hello all,
   While 'make modules' , I received the following error (didn't see this
posted yet.)

Regards,
Frank

sym53c416.c: In function `sym53c416_read':
sym53c416.c:259: warning: implicit declaration of function `save_flags'
sym53c416.c:260: warning: implicit declaration of function `cli'
sym53c416.c:279: warning: implicit declaration of function `restore_flags'
sym53c416.c: In function `sym53c416_intr_handle':
sym53c416.c:452: structure has no member named `address'
sym53c416.c:478: structure has no member named `address'
sym53c416.c: In function `sym53c416_detect':
sym53c416.c:640: warning: `flags' might be used uninitialized in this function
make[2]: *** [sym53c416.o] Error 1
make[2]: Leaving directory `/usr/src/linux/drivers/scsi'
make[1]: *** [scsi] Error 2
make[1]: Leaving directory `/usr/src/linux/drivers'
make: *** [drivers] Error 2

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

2. Installing new software and the C compiler

3. 2.5.32 : net/ipv4/netfilter/ipfwadm_core.c compile error

4. initalizing modem and printer

5. Problems compiling 2.5.32

6. apache 1.2b1 + SSL

7. radeonfb compile errors in 2.5.32

8. monitor traffic in a iptables box

9. sigio/sigurg cleanup for 2.5.32 (fwd)

10. [2.5.32] CPUfreq Documentation (4/4)

11. software suspend in 2.5.32 test reporter.

12. 2.5.32-smph

13. Oopses in the 2.5.32 kernel