[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