sh: Do not use hyphen in exported variable names
authorBen Hutchings <ben@decadent.org.uk>
Sun, 6 Feb 2022 23:00:26 +0000 (00:00 +0100)
committerSalvatore Bonaccorso <carnil@debian.org>
Mon, 6 Jun 2022 18:45:23 +0000 (19:45 +0100)
arch/sh/Makefile defines and exports ld-bfd to be used by
arch/sh/boot/Makefile and arch/sh/boot/compressed/Makefile.  However
some shells, including dash, will not pass through environment
variables whose name includes a hyphen.  Usually GNU make does not use
a shell to recurse, but if e.g. $(srctree) contains '~' it will use a
shell here.

Rename the variable to ld_bfd.

(Another instance of this problem was fixed upstream by commit
82977af93a0d "sh: rename suffix-y to suffix_y".)

References: https://buildd.debian.org/status/fetch.php?pkg=linux&arch=sh4&ver=4.13%7Erc5-1%7Eexp1&stamp=1502943967&raw=0
Fixes: ef9b542fce00 ("sh: bzip2/lzma uImage support.")
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Topic bugfix/sh
Gbp-Pq: Name sh-boot-do-not-use-hyphen-in-exported-variable-name.patch

arch/sh/Makefile
arch/sh/boot/compressed/Makefile
arch/sh/boot/romimage/Makefile

index 8ff5617dd4c9185c48bd009db3d71970c2ed9715..cf340243f71e4a118a01523037e00c001edc16a8 100644 (file)
@@ -102,16 +102,16 @@ UTS_MACHINE               := sh
 LDFLAGS_vmlinux                += -e _stext
 
 ifdef CONFIG_CPU_LITTLE_ENDIAN
-ld-bfd                 := elf32-sh-linux
-LDFLAGS_vmlinux                += --defsym jiffies=jiffies_64 --oformat $(ld-bfd)
+ld_bfd                 := elf32-sh-linux
+LDFLAGS_vmlinux                += --defsym jiffies=jiffies_64 --oformat $(ld_bfd)
 KBUILD_LDFLAGS         += -EL
 else
-ld-bfd                 := elf32-shbig-linux
-LDFLAGS_vmlinux                += --defsym jiffies=jiffies_64+4 --oformat $(ld-bfd)
+ld_bfd                 := elf32-shbig-linux
+LDFLAGS_vmlinux                += --defsym jiffies=jiffies_64+4 --oformat $(ld_bfd)
 KBUILD_LDFLAGS         += -EB
 endif
 
-export ld-bfd
+export ld_bfd
 
 head-y := arch/sh/kernel/head_32.o
 
index 591125c42d49df489b93990f5b331bf08e90e648..05542eb2013619b925ea4e194025851931079486 100644 (file)
@@ -36,7 +36,7 @@ endif
 
 ccflags-remove-$(CONFIG_MCOUNT) += -pg
 
-LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(IMAGE_OFFSET) -e startup \
+LDFLAGS_vmlinux := --oformat $(ld_bfd) -Ttext $(IMAGE_OFFSET) -e startup \
                   -T $(obj)/../../kernel/vmlinux.lds
 
 KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
@@ -60,7 +60,7 @@ $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE
 
 OBJCOPYFLAGS += -R .empty_zero_page
 
-LDFLAGS_piggy.o := -r --format binary --oformat $(ld-bfd) -T
+LDFLAGS_piggy.o := -r --format binary --oformat $(ld_bfd) -T
 
 $(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE
        $(call if_changed,ld)
index c7c8be58400cd9b2dfba20c85060434089e418a2..17b03df0a8de4da6567225e61a73cedf585b3063 100644 (file)
@@ -13,7 +13,7 @@ mmcif-obj-$(CONFIG_CPU_SUBTYPE_SH7724)        := $(obj)/mmcif-sh7724.o
 load-$(CONFIG_ROMIMAGE_MMCIF)          := $(mmcif-load-y)
 obj-$(CONFIG_ROMIMAGE_MMCIF)           := $(mmcif-obj-y)
 
-LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(load-y) -e romstart \
+LDFLAGS_vmlinux := --oformat $(ld_bfd) -Ttext $(load-y) -e romstart \
                   -T $(obj)/../../kernel/vmlinux.lds
 
 $(obj)/vmlinux: $(obj)/head.o $(obj-y) $(obj)/piggy.o FORCE
@@ -24,7 +24,7 @@ OBJCOPYFLAGS += -j .empty_zero_page
 $(obj)/zeropage.bin: vmlinux FORCE
        $(call if_changed,objcopy)
 
-LDFLAGS_piggy.o := -r --format binary --oformat $(ld-bfd) -T
+LDFLAGS_piggy.o := -r --format binary --oformat $(ld_bfd) -T
 
 $(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/zeropage.bin arch/sh/boot/zImage FORCE
        $(call if_changed,ld)