[d-kernel] Re: duplicate module names
Sergey Vlasov
vsu at altlinux.ru
Fri Jun 27 14:52:38 MSD 2003
On Thu, 26 Jun 2003 20:13:06 +0400
ed at altlinux.ru (Ed V. Bartosh) wrote:
>
> >>>>> "SV" == Sergey Vlasov writes:
>
> SV> # cd /lib/modules/2.4.21rel-std-up-alt1.vsu1/ # find . -type f
> SV> -name \*.o | while read f; do echo "$f $(basename "$f")"; done |
> SV> sort -k2 | uniq -f1 -D | cut -d' ' -f1
> SV> ./kernel/net/irda/irlan/irlan.o ./kernel/net/irda/irlan.o
> SV> ./kernel/drivers/char/rio.o ./kernel/drivers/char/rio/rio.o
> SV> ./kernel/drivers/scsi/sym53c8xx_2/sym53c8xx.o
> SV> ./kernel/drivers/scsi/sym53c8xx.o
>
> SV> Это надо исправлять - например, из-за дублирования sym53c8xx не
> SV> создаётся initrd с этим драйвером (какой-то из вариантов
> SV> придётся переименовать).
>
> Исправлю. Может кто попробует это, я убегаю.
>
> --- kernel-source-2.4.21/drivers/scsi/sym53c8xx_2/Makefile.orig 2003-06-26 20:05:11 +0400
> +++ kernel-source-2.4.21/drivers/scsi/sym53c8xx_2/Makefile 2003-06-26 20:06:08 +0400
> @@ -1,14 +1,14 @@
> # File: drivers/sym53c8xx/Makefile
> # Makefile for the NCR/SYMBIOS/LSI 53C8XX PCI SCSI controllers driver.
>
> -list-multi := sym53c8xx.o
> -sym53c8xx-objs := sym_fw.o sym_glue.o sym_hipd.o sym_malloc.o sym_misc.o sym_nvram.o
> -obj-$(CONFIG_SCSI_SYM53C8XX_2) := sym53c8xx.o
> +list-multi := sym53c8xx_2.o
> +sym53c8xx_2-objs := sym_fw.o sym_glue.o sym_hipd.o sym_malloc.o sym_misc.o sym_nvram.o
> +obj-$(CONFIG_SCSI_SYM53C8XX_2) := sym53c8xx_2.o
>
> EXTRA_CFLAGS += -I.
>
> -sym53c8xx.o: $(sym53c8xx-objs)
> - $(LD) -r -o $@ $(sym53c8xx-objs)
> +sym53c8xx_2.o: $(sym53c8xx_2-objs)
> + $(LD) -r -o $@ $(sym53c8xx_2-objs)
>
> include $(TOPDIR)/Rules.make
>
> --- kernel-source-2.4.21/drivers/scsi/Makefile.orig 2003-06-26 20:08:33 +0400
> +++ kernel-source-2.4.21/drivers/scsi/Makefile 2003-06-26 20:09:09 +0400
> @@ -97,7 +97,7 @@
> obj-$(CONFIG_SCSI_NCR53C7xx) += 53c7,8xx.o
> subdir-$(CONFIG_SCSI_SYM53C8XX_2) += sym53c8xx_2
> ifeq ($(CONFIG_SCSI_SYM53C8XX_2),y)
> - obj-$(CONFIG_SCSI_SYM53C8XX_2) += sym53c8xx_2/sym53c8xx.o
> + obj-$(CONFIG_SCSI_SYM53C8XX_2) += sym53c8xx_2/sym53c8xx_2.o
> endif
> obj-$(CONFIG_SCSI_SYM53C8XX) += sym53c8xx.o
> obj-$(CONFIG_SCSI_NCR53C8XX) += ncr53c8xx.o
>
>
> Я не проверял особо, но должно помочь.
> Скоро уйдет в kernel-fix-drivers-scsi.
Как оказалось, в 2.4.20-alt7 в недрах
suse_patches-stable-2.4.19-40.tar.bz2 лежало следующее
(899_sym53c8xx-old-2.4.19-rc5aa1):
diff -urN linux-2.4.18.tmp/drivers/scsi/Makefile linux-2.4.18.SuSE/drivers/scsi/Makefile
--- linux-2.4.18.tmp/drivers/scsi/Makefile Fri Aug 2 10:04:34 2002
+++ linux-2.4.18.SuSE/drivers/scsi/Makefile Fri Aug 2 10:05:21 2002
@@ -107,7 +107,7 @@
ifeq ($(CONFIG_SCSI_SYM53C8XX_2),y)
obj-$(CONFIG_SCSI_SYM53C8XX_2) += sym53c8xx_2/sym53c8xx.o
endif
-obj-$(CONFIG_SCSI_SYM53C8XX) += sym53c8xx.o
+obj-$(CONFIG_SCSI_SYM53C8XX) += sym53c8xx-old.o
obj-$(CONFIG_SCSI_NCR53C8XX) += ncr53c8xx.o
obj-$(CONFIG_SCSI_EATA_DMA) += eata_dma.o
obj-$(CONFIG_SCSI_EATA_PIO) += eata_pio.o
@@ -238,3 +238,6 @@
qla2xxx/qla2300.o:
cd qla2xxx; make qla2300.o
+
+sym53c8xx-old.o: sym53c8xx.c
+ $(CC) $(CFLAGS) -c sym53c8xx.c -o $@
Возможно, так лучше (по крайней мере в смысле сохранения совместимости
с предыдущими сборками).
More information about the devel-kernel
mailing list