Re: pcmcia-2.9.1 and 2.1.x kernels

Tom Dyas (tdyas@hardees.rutgers.edu)
Mon, 27 Jan 97 19:53:47 EST


>
> Sorry if this well known, but can someone say if there is
> a patch for this dependency:
>
> .../src/pcmcia-cs-2.9.1] 96# make dep
> set -e ; for d in modules cardmgr flash debug-tools man etc ; do make -C $d dep ; done
> make[1]: Entering directory `/usr/local/src/pcmcia-cs-2.9.1/modules'
> gcc -E -M -D__KERNEL__ -DMODULE -I../include -I/usr/local/src/linux/include -I/usr/local/src/linux i82365.c tcic.c cs.c cistpl.c rsrc_mgr.c bulkmem.c ds.c serial_cs.c pcmem_cs.c memory_cs.c ftl_cs.c sram_mtd.c iflash2_mtd.c iflash2+_mtd.c pcnet_cs.c 3c589_cs.c nmclan_cs.c fmvj18x_cs.c smc91c92_cs.c xircnw_cs.c wavelan_cs.c fixed_cs.c > .depend
> cs.c:51: linux/symtab_begin.h: No such file or directory
> cs.c:60: linux/symtab_end.h: No such file or directory
> ds.c:122: linux/symtab_begin.h: No such file or directory
> ds.c:131: linux/symtab_end.h: No such file or directory
> make[1]: *** [dep] Error 1
> make[1]: Leaving directory `/usr/local/src/pcmcia-cs-2.9.1/modules'
> make: *** [dep] Error 2

The method for specifying module symbol tables in the kernel
changed. The old format was something like this:

#include <linux/module.h>

.
.
.

static struct symbol_table foo_syms = {
#include <linux/symtab_begin.h>
X(foo_sym1),
X(foo_sym2),
X(foo_sym3),
#include <linux/symtab_end.h>
};

.
.
.

register_symtab(&foo_syms);

The new format for the module symbol tables is:

#include <linux/config.h>
#include <linux/module.h>

.
.
.

EXPORT_SYMBOL(foo_sym1);
EXPORT_SYMBOL(foo_sym2);
EXPORT_SYMBOL(foo_sym3);

Just make the needed conversions and all should be well.

Tom