From: zrj Date: Mon, 28 May 2018 14:51:38 +0000 (+0300) Subject: kernel/hpt*: Mangle names of foreign binary objects. X-Git-Tag: v5.5.0~552 X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/2d5f0bdad8b8f0945582d41bcbe4ae6d037d3740 kernel/hpt*: Mangle names of foreign binary objects. We already do it for the firmware objects (.fwo). Explictly handle unpacked precompiled objects to separate them from other generic ones. These are not device firmware and they do run on CPU, also they have different osabi tag, so without adjustment the ld.gold (default ld) will change osabi for the whole linked object. Having them seprated from the rest simplifies the depend logic, such objects have no source or headers dependencies other than hardcoded one in Makefiles. Add missing dependencies on .uu in kernel modules. --- diff --git a/sys/dev/raid/hpt27xx/Makefile b/sys/dev/raid/hpt27xx/Makefile index 33f1345b50..bafc9875d1 100644 --- a/sys/dev/raid/hpt27xx/Makefile +++ b/sys/dev/raid/hpt27xx/Makefile @@ -4,10 +4,12 @@ KMOD= hpt27xx SRCS= bus_if.h device_if.h pci_if.h SRCS+= opt_cam.h opt_scsi.h SRCS+= hpt27xx_os_bsd.c hpt27xx_osm_bsd.c hpt27xx_config.c -OBJS+= hpt27xx_lib.o +OBJS+= hpt27xx_lib.bo -hpt27xx_lib.o: - uudecode -p < ${.CURDIR}/$(MACHINE_ARCH)-elf.hpt27xx_lib.o.uu > ${.TARGET} +hpt27xx_lib.bo: $(MACHINE_ARCH)-elf.hpt27xx_lib.o.uu + uudecode -o ${.TARGET} < ${.ALLSRC} elfedit --output-osabi none ${.TARGET} +CLEANFILES+= hpt27xx_lib.bo + .include diff --git a/sys/dev/raid/hptmv/Makefile b/sys/dev/raid/hptmv/Makefile index 728beea8ee..dc5e789dc2 100644 --- a/sys/dev/raid/hptmv/Makefile +++ b/sys/dev/raid/hptmv/Makefile @@ -8,12 +8,14 @@ KMOD= hptmv SRCS= opt_scsi.h opt_cam.h SRCS+= bus_if.h device_if.h pci_if.h SRCS+= mv.c entry.c ioctl.c hptproc.c gui_lib.c -OBJS+= hptmvraid.o +OBJS+= hptmvraid.bo -hptmvraid.o: - uudecode -p < ${.CURDIR}/$(MACHINE_ARCH)-elf.raid.o.uu > ${.TARGET} +hptmvraid.bo: $(MACHINE_ARCH)-elf.raid.o.uu + uudecode -o ${.TARGET} < ${.ALLSRC} elfedit --output-osabi none ${.TARGET} +CLEANFILES+= hptmvraid.bo + # # Debug Options: # diff --git a/sys/dev/raid/hptrr/Makefile b/sys/dev/raid/hptrr/Makefile index 44f3c6958f..7924a6235f 100644 --- a/sys/dev/raid/hptrr/Makefile +++ b/sys/dev/raid/hptrr/Makefile @@ -4,10 +4,12 @@ KMOD = hptrr SRCS = opt_scsi.h opt_cam.h bus_if.h device_if.h pci_if.h os_bsd.h SRCS+= hptrr_os_bsd.c hptrr_osm_bsd.c hptrr_config.c -OBJS = hptrr_lib.o +OBJS = hptrr_lib.bo -hptrr_lib.o: - uudecode -p < ${.CURDIR}/$(MACHINE_ARCH)-elf.hptrr_lib.o.uu > ${.TARGET} +hptrr_lib.bo: $(MACHINE_ARCH)-elf.hptrr_lib.o.uu + uudecode -o ${.TARGET} < ${.ALLSRC} elfedit --output-osabi none ${.TARGET} +CLEANFILES+= hptrr_lib.bo + .include diff --git a/sys/platform/pc64/conf/files b/sys/platform/pc64/conf/files index f7b611465b..a44de54244 100644 --- a/sys/platform/pc64/conf/files +++ b/sys/platform/pc64/conf/files @@ -16,20 +16,23 @@ ukbdmap.h optional ukbd_dflt_keymap \ no-obj no-implicit-rule before-depend \ clean "ukbdmap.h" # -hpt27xx_lib.o optional hpt27xx \ +hpt27xx_lib.bo optional hpt27xx \ dependency "$S/dev/raid/hpt27xx/x86_64-elf.hpt27xx_lib.o.uu" \ - compile-with "uudecode < $S/dev/raid/hpt27xx/x86_64-elf.hpt27xx_lib.o.uu; elfedit --output-osabi none ${.TARGET}" \ - no-implicit-rule + compile-with "uudecode -o ${.TARGET} < $S/dev/raid/hpt27xx/x86_64-elf.hpt27xx_lib.o.uu; elfedit --output-osabi none ${.TARGET}" \ + no-implicit-rule \ + clean "hpt27xx_lib.bo" # -hptmvraid.o optional hptmv \ +hptmvraid.bo optional hptmv \ dependency "$S/dev/raid/hptmv/x86_64-elf.raid.o.uu" \ - compile-with "uudecode < $S/dev/raid/hptmv/x86_64-elf.raid.o.uu; elfedit --output-osabi none ${.TARGET}" \ - no-implicit-rule + compile-with "uudecode -o ${.TARGET} < $S/dev/raid/hptmv/x86_64-elf.raid.o.uu; elfedit --output-osabi none ${.TARGET}" \ + no-implicit-rule \ + clean "hptmvraid.bo" # -hptrr_lib.o optional hptrr \ +hptrr_lib.bo optional hptrr \ dependency "$S/dev/raid/hptrr/x86_64-elf.hptrr_lib.o.uu" \ - compile-with "uudecode < $S/dev/raid/hptrr/x86_64-elf.hptrr_lib.o.uu; elfedit --output-osabi none ${.TARGET}" \ - no-implicit-rule + compile-with "uudecode -o ${.TARGET} < $S/dev/raid/hptrr/x86_64-elf.hptrr_lib.o.uu; elfedit --output-osabi none ${.TARGET}" \ + no-implicit-rule \ + clean "hptrr_lib.bo" # emulation/ndis/kern_ndis.c optional ndisapi pci emulation/ndis/kern_windrv.c optional ndisapi pci