linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 2.5.51 CRC32 undefined
@ 2003-03-06 13:22 Arun Prasad
  2003-03-07 12:40 ` David Woodhouse
  0 siblings, 1 reply; 8+ messages in thread
From: Arun Prasad @ 2003-03-06 13:22 UTC (permalink / raw)
  To: linux-kernel

Hi All,
    To install the Fault-Injection tool (fith-mini-13), did the
following steps

* The below are the seps given in the tool README

        1. Apply patch kprobes-2.5.50-bk2.patch
           Apply patch fi-2.5.51-bk1.patch

        2. cd fith_utility
           make
           make install
    So copied kernel 2.5.51 and applied both the patches specified
above.

* Compiled the kernel with the below  in .config file
    CONFIG_MODULES=y
    CONFIG_CRC32=y
    CONFIG_PCNET32=m

* Booted the kernel with the new kernel (2.5.51), but eth0 is not up..
The ethernet driver is not loaded..
    (pcnet32 is the ethernet device of the machine.... it works fine
witht he default 2.4 kernel)

* Did the insmod for the driver
    bash$ insmod ./pcnet32.o
    pcnet32: Unknown symbol crc32_le
    Error inserting "pcnet32.o": -1 Unknown symbol in module

* Checked linux-2.5.51/lib/crc32.c  and found the lines
    EXPORT_SYMBOL(crc32_le);
    EXPORT_SYMBOL(crc32_be)

* There is no /proc/ksyms in the kernel and "ksyms" command doesnt seems
to work....

Can anyone help me out in this....

Thanks
-arun


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.5.51 CRC32 undefined
  2003-03-06 13:22 2.5.51 CRC32 undefined Arun Prasad
@ 2003-03-07 12:40 ` David Woodhouse
  2003-03-07 15:27   ` Kai Germaschewski
  2003-03-07 15:49   ` Linus Torvalds
  0 siblings, 2 replies; 8+ messages in thread
From: David Woodhouse @ 2003-03-07 12:40 UTC (permalink / raw)
  To: Arun Prasad; +Cc: linux-kernel, torvalds

On Thu, 2003-03-06 at 13:22, Arun Prasad wrote:

>     CONFIG_CRC32=y
>     CONFIG_PCNET32=m

	<...>

>     pcnet32: Unknown symbol crc32_le

The problem is that crc32.o isn't actually linked into the kernel,
because no symbols from it are referenced when the linker is asked to
pull in lib/lib.a

Set CONFIG_CRC32=m. We probably shouldn't allow it to be set to 'Y' in
the first place., given the above.

===== lib/Kconfig 1.2 vs edited =====
--- 1.2/lib/Kconfig	Fri Nov  1 12:07:52 2002
+++ edited/lib/Kconfig	Fri Mar  7 12:37:54 2003
@@ -6,6 +6,7 @@
 
 config CRC32
 	tristate "CRC32 functions"
+	depends on m
 	help
 	  This option is provided for the case where no in-kernel-tree
 	  modules require CRC32 functions, but a module built outside the




-- 
dwmw2


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.5.51 CRC32 undefined
  2003-03-07 12:40 ` David Woodhouse
@ 2003-03-07 15:27   ` Kai Germaschewski
  2003-03-07 15:43     ` Jeff Garzik
  2003-03-10 13:14     ` =?unknown-8bit?Q?J=F6rn?= Engel
  2003-03-07 15:49   ` Linus Torvalds
  1 sibling, 2 replies; 8+ messages in thread
From: Kai Germaschewski @ 2003-03-07 15:27 UTC (permalink / raw)
  To: David Woodhouse; +Cc: Arun Prasad, linux-kernel, torvalds

On 7 Mar 2003, David Woodhouse wrote:

> The problem is that crc32.o isn't actually linked into the kernel,
> because no symbols from it are referenced when the linker is asked to
> pull in lib/lib.a
> 
> Set CONFIG_CRC32=m. We probably shouldn't allow it to be set to 'Y' in
> the first place., given the above.

I think it'd be much nicer to just make it work, which can easily be done 
by moving the EXPORT_SYMBOL() to kernel/ksyms.c. Or, just move the entire 
file into kernel/ (which unfortunately isn't a very natural place for it. 
The real problem is that we need a lib/dont_drop_unreferenced/)

--Kai


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.5.51 CRC32 undefined
  2003-03-07 15:27   ` Kai Germaschewski
@ 2003-03-07 15:43     ` Jeff Garzik
  2003-03-10 13:14     ` =?unknown-8bit?Q?J=F6rn?= Engel
  1 sibling, 0 replies; 8+ messages in thread
From: Jeff Garzik @ 2003-03-07 15:43 UTC (permalink / raw)
  To: Kai Germaschewski; +Cc: David Woodhouse, Arun Prasad, linux-kernel, torvalds

> On 7 Mar 2003, David Woodhouse wrote:
> > The problem is that crc32.o isn't actually linked into the kernel,
> > because no symbols from it are referenced when the linker is asked to
> > pull in lib/lib.a
> > 
> > Set CONFIG_CRC32=m. We probably shouldn't allow it to be set to 'Y' in
> > the first place., given the above.

The solution is to fix the problem, not force a module.

There are weirdos like Linus that don't use modules at all, and
other developers who still don't use modules due to the module
loader changes...

	Jeff





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.5.51 CRC32 undefined
  2003-03-07 12:40 ` David Woodhouse
  2003-03-07 15:27   ` Kai Germaschewski
@ 2003-03-07 15:49   ` Linus Torvalds
  2003-03-07 15:59     ` David Woodhouse
  1 sibling, 1 reply; 8+ messages in thread
From: Linus Torvalds @ 2003-03-07 15:49 UTC (permalink / raw)
  To: David Woodhouse; +Cc: Arun Prasad, linux-kernel


On 7 Mar 2003, David Woodhouse wrote:
> 
> Set CONFIG_CRC32=m. We probably shouldn't allow it to be set to 'Y' in
> the first place., given the above.

I don't want to have configs like this. I personally refuse to load 
modules into my kernel, and as such a subsystem that only works as a 
module is _evil_.

		Linus


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.5.51 CRC32 undefined
  2003-03-07 15:49   ` Linus Torvalds
@ 2003-03-07 15:59     ` David Woodhouse
  2003-03-07 16:10       ` Jeff Garzik
  0 siblings, 1 reply; 8+ messages in thread
From: David Woodhouse @ 2003-03-07 15:59 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Arun Prasad, linux-kernel

On Fri, 2003-03-07 at 15:49, Linus Torvalds wrote:
> I don't want to have configs like this. I personally refuse to load 
> modules into my kernel, and as such a subsystem that only works as a 
> module is _evil_.

It works built-in and would continue to do so with this patch applied.

It's built into your kernel _automatically_ if anything built-in
requires it. That's done by the makefiles. Likewise, it's built as a
module automatically if anything modular in your tree requires it.

The config option is _only_ relevant if you are explicitly adding crc32
in the knowledge that you're going to build an _external_ module which
requires it.  

However, setting the config option to 'Y' when you have only _modular_
stuff which requires it is broken because it doesn't actually get pulled
in from lib/lib.a, because nothing references it.

-- 
dwmw2


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.5.51 CRC32 undefined
  2003-03-07 15:59     ` David Woodhouse
@ 2003-03-07 16:10       ` Jeff Garzik
  0 siblings, 0 replies; 8+ messages in thread
From: Jeff Garzik @ 2003-03-07 16:10 UTC (permalink / raw)
  To: David Woodhouse; +Cc: Linus Torvalds, Arun Prasad, linux-kernel

On Fri, Mar 07, 2003 at 03:59:01PM +0000, David Woodhouse wrote:
> However, setting the config option to 'Y' when you have only _modular_
> stuff which requires it is broken because it doesn't actually get pulled
> in from lib/lib.a, because nothing references it.

Agreed.  And the fix is to allow 'Y' as expected :)

	Jeff




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: 2.5.51 CRC32 undefined
  2003-03-07 15:27   ` Kai Germaschewski
  2003-03-07 15:43     ` Jeff Garzik
@ 2003-03-10 13:14     ` =?unknown-8bit?Q?J=F6rn?= Engel
  1 sibling, 0 replies; 8+ messages in thread
From: =?unknown-8bit?Q?J=F6rn?= Engel @ 2003-03-10 13:14 UTC (permalink / raw)
  To: Kai Germaschewski; +Cc: David Woodhouse, Arun Prasad, linux-kernel, torvalds

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown-8bit, Size: 1087 bytes --]

On Fri, 7 March 2003 09:27:07 -0600, Kai Germaschewski wrote:
> On 7 Mar 2003, David Woodhouse wrote:
> 
> > The problem is that crc32.o isn't actually linked into the kernel,
> > because no symbols from it are referenced when the linker is asked to
> > pull in lib/lib.a
> > 
> > Set CONFIG_CRC32=m. We probably shouldn't allow it to be set to 'Y' in
> > the first place., given the above.
> 
> I think it'd be much nicer to just make it work, which can easily be done 
> by moving the EXPORT_SYMBOL() to kernel/ksyms.c. Or, just move the entire 
> file into kernel/ (which unfortunately isn't a very natural place for it. 
> The real problem is that we need a lib/dont_drop_unreferenced/)

Is it just me, or does lib/lib._a_ not make too much sense? It is nice
to be speaking about the kernel library, but what are the benefits of
it being a .a instead of a .o?

Jörn

-- 
Don't worry about people stealing your ideas. If your ideas are any good,
you'll have to ram them down people's throats.
-- Howard Aiken quoted by Ken Iverson quoted by Jim Horning quoted by
   Raph Levien, 1979

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2003-03-10 13:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-06 13:22 2.5.51 CRC32 undefined Arun Prasad
2003-03-07 12:40 ` David Woodhouse
2003-03-07 15:27   ` Kai Germaschewski
2003-03-07 15:43     ` Jeff Garzik
2003-03-10 13:14     ` =?unknown-8bit?Q?J=F6rn?= Engel
2003-03-07 15:49   ` Linus Torvalds
2003-03-07 15:59     ` David Woodhouse
2003-03-07 16:10       ` Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).