Re: [PATCH] powerpc/64: whitelist unresolved modversions CRCs
On 2016-09-14 04:45, Nicholas Piggin wrote: > These are a symptom of CRC generation failure in generic > build code, and not powerpc specific. > > Signed-off-by: Nicholas Piggin > --- > > Hi Michal, > > Please merge this via your trees with Al's patches. Done, thanks for the patch. Michal
Re: linux-next: build warnings after merge of the kbuild tree
On 2016-08-19 07:09, Stephen Rothwell wrote: > Hi Nick, > > On Fri, 19 Aug 2016 13:38:54 +1000 Stephen Rothwell > wrote: >> >> On Thu, 18 Aug 2016 11:09:48 +1000 Nicholas Piggin wrote: >>> >>> On Wed, 17 Aug 2016 14:59:59 +0200 >>> Michal Marek wrote: >>> >>>> On 2016-08-17 03:44, Stephen Rothwell wrote: >>>>> >>>>> After merging the kbuild tree, today's linux-next build (powerpc >>>>> ppc64_defconfig) produced these warnings: >>>>> >>>>> WARNING: 25 bad relocations >>>>> c0cf2570 R_PPC64_ADDR64__crc___arch_hweight16 >>>> [...] >>>>> Introduced by commit >>>>> >>>>> 9445aa1a3062 ("ppc: move exports to definitions") >>>>> >>>>> I have reverted that commit for today. >>>>> >>>>> [cc-ing the ppc guys for clues - also involved is commit >>>>> >>>>> 22823ab419d8 ("EXPORT_SYMBOL() for asm") >>>>> ] >>>> >>>> FWIW, I see these warnings as well. Any help from ppc developers is >>>> appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm >>>> symbols (their CRCs actually)? >>> >>> The dangling relocation is a side effect of linker unable to resolve the >>> reference to the undefined weak symbols. So the real question is, why has >>> genksyms not overridden these symbols with their CRC values? >>> >>> This may not even be powerpc specific, but I'll poke at it a bit more >>> when I get a chance. >> >> Not sure if this is relevant, but with the commit reverted, the >> __crc___... symbols are absolute. >> >> f55b3b3d A __crc___arch_hweight16 > > Ignore that :-) > > I just had a look at a x86_64 allmodconfig result and it looks like the > weak symbols are not resolved their either ... > > I may be missing something, but genksyms generates the crc's off the > preprocessed C source code and we don't have any for the asm files ... Of course you are right. Which means that we are losing type information for these exports for CONFIG_MODVERSIONS purposes. I guess it's acceptable, since the asm functions are pretty basic and their signatures do not change. Michal
Re: linux-next: build warnings after merge of the kbuild tree
On 2016-08-17 03:44, Stephen Rothwell wrote: > Hi Michal, > > After merging the kbuild tree, today's linux-next build (powerpc > ppc64_defconfig) produced these warnings: > > WARNING: 25 bad relocations > c0cf2570 R_PPC64_ADDR64__crc___arch_hweight16 [...] > Introduced by commit > > 9445aa1a3062 ("ppc: move exports to definitions") > > I have reverted that commit for today. > > [cc-ing the ppc guys for clues - also involved is commit > > 22823ab419d8 ("EXPORT_SYMBOL() for asm") > ] FWIW, I see these warnings as well. Any help from ppc developers is appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm symbols (their CRCs actually)? Thanks, Michal
Re: [RFC, 1/2] scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target
Dne 15.10.2015 v 05:27 Michael Ellerman napsal(a): > On Wed, 2015-10-14 at 09:54 -0700, Olof Johansson wrote: >> On Tue, Oct 13, 2015 at 4:43 PM, Michael Ellerman >> wrote: >>> On Tue, 2015-10-13 at 14:02 -0700, Olof Johansson wrote: >>>> On Fri, Oct 2, 2015 at 12:47 AM, Michael Ellerman >>>> wrote: >>>>> On Wed, 2015-23-09 at 05:40:34 UTC, Michael Ellerman wrote: >>>>>> Arch Makefiles can set KBUILD_DEFCONFIG to tell kbuild the name of the >>>>>> defconfig that should be built by default. >>>>>> >>>>>> However currently there is an assumption that KBUILD_DEFCONFIG points to >>>>>> a file at arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG). >>>>>> >>>>>> We would like to use a target, using merge_config, as our defconfig, so >>>>>> adapt the logic in scripts/kconfig/Makefile to allow that. >>>>>> >>>>>> To minimise the chance of breaking anything, we first check if >>>>>> KBUILD_DEFCONFIG is a file, and if so we do the old logic. If it's not a >>>>>> file, then we call the top-level Makefile with KBUILD_DEFCONFIG as the >>>>>> target. >>>>>> >>>>>> Signed-off-by: Michael Ellerman >>>>>> Acked-by: Michal Marek >>>>> >>>>> Applied to powerpc next. >>>>> >>>>> https://git.kernel.org/powerpc/c/d2036f30cfe1daa19e63ce75 >>>> >>>> This breaks arm64 defconfig for me: >>>> >>>> mkdir obj-tmp >>>> make -f Makefile O=obj-tmp ARCH=arm64 defconfig >>>> ... watch loop of: >>>> *** Default configuration is based on target 'defconfig' >>>> GEN ./Makefile >>> >>> Crap, sorry. I knew I shouldn't have touched that code! >>> >>> Does this fix it for you? >> >> Yes, it does, however: >> >>> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile >>> index b2b9c87..3043d6b 100644 >>> --- a/scripts/kconfig/Makefile >>> +++ b/scripts/kconfig/Makefile >>> @@ -96,7 +96,7 @@ savedefconfig: $(obj)/conf >>> defconfig: $(obj)/conf >>> ifeq ($(KBUILD_DEFCONFIG),) >>> $< $(silent) --defconfig $(Kconfig) >>> -else ifneq ($(wildcard arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),) >>> +else ifneq ($(wildcard >>> $(srctree)/arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),) >>> @$(kecho) "*** Default configuration is based on >>> '$(KBUILD_DEFCONFIG)'" >>> $(Q)$< $(silent) >>> --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) >> >> Do you need a $(srctree) prefix here too? I'm not entirely sure what I >> would do to reproduce a run that goes down this path so I can't >> confirm. > > That is the path you're going down, now that it's fixed. That's the path where > KBUILD_DEFCONFIG is a real file, ie. the old behaviour. > > I'm not sure why it doesn't have a $(srctree) there, but it's never had one. > > It looks like it eventually boils down to zconf_fopen() which looks for the > file in both . and $(srctree). Yes, the kconfig frontends do part of what would ideally be the job of make or the Makefile. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building with O=
Dne 15.10.2015 v 08:05 Michael Ellerman napsal(a): > My recent commit d2036f30cfe1 ("scripts/kconfig/Makefile: Allow > KBUILD_DEFCONFIG to be a target"), contained a bug in that when it > checks if KBUILD_DEFCONFIG is a file it forgets to prepend $(srctree) to > the path. > > This causes the build to fail when building out of tree (with O=), and > when the value of KBUILD_DEFCONFIG is 'defconfig'. In that case we will > fail to find the 'defconfig' file, because we look in the build > directory not $(srctree), and so we will call Make again with > 'defconfig' as the target. From there we loop infinitely calling 'make > defconfig' again and again. > > The fix is simple, we need to look for the file under $(srctree). > > Fixes: d2036f30cfe1 ("scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be > a target") > Reported-by: Olof Johansson > Signed-off-by: Michael Ellerman Acked-by: Michal Marek I could have spotted it myself :-/. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] scripts/tags.sh: Teach tags about some powerpc macros
On 2015-10-13 07:18, Michael Ellerman wrote: > On Tue, 2015-09-22 at 13:08 +1000, Michael Ellerman wrote: >> The IO accessors on powerpc are generated using macro fu, ie. out_be32() >> etc. Also there are some debugger related symbols that are macro >> generated. Teach scripts/tags.sh about both. >> >> Signed-off-by: Michael Ellerman >> --- >> scripts/tags.sh | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/scripts/tags.sh b/scripts/tags.sh >> index 8e5aee6d9da2..262889046703 100755 >> --- a/scripts/tags.sh >> +++ b/scripts/tags.sh >> @@ -198,6 +198,8 @@ exuberant() >> --regex-c++='/TASK_PFA_TEST\([^,]*,\s*([^)]*)\)/task_\1/' \ >> --regex-c++='/TASK_PFA_SET\([^,]*,\s*([^)]*)\)/task_set_\1/'\ >> --regex-c++='/TASK_PFA_CLEAR\([^,]*,\s*([^)]*)\)/task_clear_\1/'\ >> +--regex-c++='/DEF_MMIO_(IN|OUT)_(X|D)\(([^,]*),\s*[^)]*\)/\3/' \ >> +--regex-c++='/DEBUGGER_BOILERPLATE\(([^,]*)\)/\1/' \ >> --regex-c='/PCI_OP_READ\((\w*).*[1-4]\)/pci_bus_read_config_\1/' \ >> --regex-c='/PCI_OP_WRITE\((\w*).*[1-4]\)/pci_bus_write_config_\1/' \ >> --regex-c='/DEFINE_(MUTEX|SEMAPHORE|SPINLOCK)\((\w*)/\2/v/' \ > > > Michal, do you want to take this one or should I ? I applied it to kbuild.git#misc. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFC PATCH 1/2] scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target
On 2015-10-01 08:14, Michael Ellerman wrote: > On Fri, 2015-09-25 at 22:46 +0200, Michal Marek wrote: >> Dne 24.9.2015 v 00:16 Michael Ellerman napsal(a): >>> >>> >>> On 23 September 2015 19:50:52 GMT+10:00, Michal Marek >>> wrote: >>>> On 2015-09-23 07:40, Michael Ellerman wrote: >>>>> +else ifneq ($(wildcard >>>> arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),) >>>>> @$(kecho) "*** Default configuration is based on >>>> '$(KBUILD_DEFCONFIG)'" >>>>> $(Q)$< $(silent) >>>> --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) >>>>> +else + @$(kecho) "*** Default configuration is based on target >>>> '$(KBUILD_DEFCONFIG)'" >>>>> + $(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG) endif >>>> >>>> What is the anticipated usage of this? The patch is not needed to >>>> make >>>> >>>> make ppc64le_defconfig >>>> >>>> work with the second patch. If it was, this would create a loop >>>> anyway. >>> >>> The idea is to make 'make defconfig' work when KBUILD_DEFCONFIG is >>> ppc64le_defconfig (which happens for us when uname returns ppc64le) >>> and additionally when ppc64le_defconfig is not a real file. >> >> Ah, that makes sense. You can add >> >> Acked-by: Michal Marek >> >> if you want. > > Thanks. I'll assume by that you mean you're happy if I take both patches > through the powerpc tree. Yes, I assumed that this was your plan. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFC PATCH 1/2] scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target
Dne 24.9.2015 v 00:16 Michael Ellerman napsal(a): > > > On 23 September 2015 19:50:52 GMT+10:00, Michal Marek > wrote: >> On 2015-09-23 07:40, Michael Ellerman wrote: >>> +else ifneq ($(wildcard >> arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),) >>> @$(kecho) "*** Default configuration is based on >> '$(KBUILD_DEFCONFIG)'" >>> $(Q)$< $(silent) >> --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) >>> +else + @$(kecho) "*** Default configuration is based on target >> '$(KBUILD_DEFCONFIG)'" >>> + $(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG) endif >> >> What is the anticipated usage of this? The patch is not needed to >> make >> >> make ppc64le_defconfig >> >> work with the second patch. If it was, this would create a loop >> anyway. > > The idea is to make 'make defconfig' work when KBUILD_DEFCONFIG is > ppc64le_defconfig (which happens for us when uname returns ppc64le) > and additionally when ppc64le_defconfig is not a real file. Ah, that makes sense. You can add Acked-by: Michal Marek if you want. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFC PATCH 1/2] scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target
On 2015-09-23 07:40, Michael Ellerman wrote: > +else ifneq ($(wildcard arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),) > @$(kecho) "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'" > $(Q)$< $(silent) > --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) > +else > + @$(kecho) "*** Default configuration is based on target > '$(KBUILD_DEFCONFIG)'" > + $(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG) > endif What is the anticipated usage of this? The patch is not needed to make make ppc64le_defconfig work with the second patch. If it was, this would create a loop anyway. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 0/6] kbuild: refactor Makefiles related with cc-version
On 2014-12-25 06:31, Masahiro Yamada wrote: > Masahiro Yamada (6): > kbuild: fix cc-ifversion macro > kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion > kbuild,gcov: remove unnecessary workaround > kbuild,gcov: simplify kernel/gcov/Makefile > kbuild: allow cc-ifversion to have the argument for false condition > kbuild,gcov: simplify kernel/gcov/Makefile more Applied to kbuild.git#kbuild, thanks. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] kbuild: Fix make help- on powerpc
On 2014-11-28 13:52, Michal Marek wrote: > make ARCH=powerpc help- should not require a cofigured > source tree. Also, sort the boards in the output. I added this to kbuild.git#kbuild. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH] kbuild: Fix make help- on powerpc
make ARCH=powerpc help- should not require a cofigured source tree. Also, sort the boards in the output. Signed-off-by: Michal Marek --- Sorry for the double post to the ppc mailing list. The first version got rejected by the vger spam filter. --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 88b7fa5..0cd4e14 100644 --- a/Makefile +++ b/Makefile @@ -482,7 +482,7 @@ asm-generic: version_h := include/generated/uapi/linux/version.h no-dot-config-targets := clean mrproper distclean \ -cscope gtags TAGS tags help %docs check% coccicheck \ +cscope gtags TAGS tags help% %docs check% coccicheck \ $(version_h) headers_% archheaders archscripts \ kernelversion %src-pkg @@ -1323,7 +1323,7 @@ help-board-dirs := $(addprefix help-,$(board-dirs)) help-boards: $(help-board-dirs) -boards-per-dir = $(notdir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig)) +boards-per-dir = $(sort $(notdir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig))) $(help-board-dirs): help-%: @echo 'Architecture specific targets ($(SRCARCH) $*):' -- 2.1.2 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH] kbuild: Fix make help-XXX on powerpc
make ARCH=powerpc help- should not require a cofigured source tree. Also, sort the boards in the output. Signed-off-by: Michal Marek --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 88b7fa5..0cd4e14 100644 --- a/Makefile +++ b/Makefile @@ -482,7 +482,7 @@ asm-generic: version_h := include/generated/uapi/linux/version.h no-dot-config-targets := clean mrproper distclean \ -cscope gtags TAGS tags help %docs check% coccicheck \ +cscope gtags TAGS tags help% %docs check% coccicheck \ $(version_h) headers_% archheaders archscripts \ kernelversion %src-pkg @@ -1323,7 +1323,7 @@ help-board-dirs := $(addprefix help-,$(board-dirs)) help-boards: $(help-board-dirs) -boards-per-dir = $(notdir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig)) +boards-per-dir = $(sort $(notdir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig))) $(help-board-dirs): help-%: @echo 'Architecture specific targets ($(SRCARCH) $*):' -- 2.1.2 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH] powerpc/boot: Makefile cleanup
The $(image-n) variable will never exist, because unset Kconfig options are '' and not 'n'. Signed-off-by: Michal Marek --- arch/powerpc/boot/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index ccc25ed..c456d07 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -317,7 +317,7 @@ endif # Allow extra targets to be added to the defconfig image-y+= $(subst ",,$(CONFIG_EXTRA_TARGETS)) -initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-)) +initrd- := $(patsubst zImage%, zImage.initrd%, $(image-)) initrd-y := $(patsubst zImage%, zImage.initrd%, \ $(patsubst dtbImage%, dtbImage.initrd%, \ $(patsubst simpleImage%, simpleImage.initrd%, \ -- 1.8.4.5 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH 3/5] powerpc: Set CONFIG_NET=y in defconfigs
Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET instead of selecting NET") removed what happened to be the only instance of 'select NET'. Defconfigs that were relying on the select now lack networking support. Reported-by: Stephen Rothwell Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Michal Marek --- arch/powerpc/configs/pmac32_defconfig | 1 + arch/powerpc/configs/ppc64_defconfig | 1 + arch/powerpc/configs/ppc64e_defconfig | 1 + arch/powerpc/configs/pseries_defconfig| 1 + arch/powerpc/configs/pseries_le_defconfig | 1 + 5 files changed, 5 insertions(+) diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig index 553e662..0351b5f 100644 --- a/arch/powerpc/configs/pmac32_defconfig +++ b/arch/powerpc/configs/pmac32_defconfig @@ -31,6 +31,7 @@ CONFIG_HIBERNATION=y CONFIG_APM_EMULATION=y CONFIG_PCCARD=m CONFIG_YENTA=m +CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_XFRM_USER=y diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig index f6c02f8..3651887 100644 --- a/arch/powerpc/configs/ppc64_defconfig +++ b/arch/powerpc/configs/ppc64_defconfig @@ -58,6 +58,7 @@ CONFIG_ELECTRA_CF=y CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_RPA=m CONFIG_HOTPLUG_PCI_RPA_DLPAR=m +CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_XFRM_USER=m diff --git a/arch/powerpc/configs/ppc64e_defconfig b/arch/powerpc/configs/ppc64e_defconfig index 587f551..c3a3269 100644 --- a/arch/powerpc/configs/ppc64e_defconfig +++ b/arch/powerpc/configs/ppc64e_defconfig @@ -33,6 +33,7 @@ CONFIG_SPARSEMEM_MANUAL=y CONFIG_PCI_MSI=y CONFIG_PCCARD=y CONFIG_HOTPLUG_PCI=y +CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_XFRM_USER=m diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig index 50375f1..dd2a9ca 100644 --- a/arch/powerpc/configs/pseries_defconfig +++ b/arch/powerpc/configs/pseries_defconfig @@ -53,6 +53,7 @@ CONFIG_SCHED_SMT=y CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_RPA=m CONFIG_HOTPLUG_PCI_RPA_DLPAR=m +CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_XFRM_USER=m diff --git a/arch/powerpc/configs/pseries_le_defconfig b/arch/powerpc/configs/pseries_le_defconfig index 4428ee4..63392f4 100644 --- a/arch/powerpc/configs/pseries_le_defconfig +++ b/arch/powerpc/configs/pseries_le_defconfig @@ -55,6 +55,7 @@ CONFIG_SCHED_SMT=y CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_RPA=m CONFIG_HOTPLUG_PCI_RPA_DLPAR=m +CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_XFRM_USER=m -- 1.8.4.5 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH v2] deb-pkg: Add support for powerpc little endian
On 2014-09-07 04:42, Ben Hutchings wrote: > On Fri, 2014-09-05 at 09:09 -0300, Thadeu Lima de Souza Cascardo wrote: >> On Fri, Sep 05, 2014 at 05:55:18PM +1000, Michael Neuling wrote: >>> On Fri, 2014-09-05 at 09:13 +0200, Gabriel Paubert wrote: >>>> On Fri, Sep 05, 2014 at 03:28:47PM +1000, Michael Neuling wrote: >>>>> The Debian powerpc little endian architecture is called ppc64le. This >>>> >>>> Huh? ppc64le or ppc64el? >>> >>> ppc64el. Commit message is wrong. Fixed below. >>> >>> Mikey >>> >>> >> >> What about ppc64? >> >> Also, I sent that already a month ago. Both linuxppc-dev and Michal >> Marek were on cc. >> >> http://marc.info/?l=linux-kernel&m=140744360328562&w=2 > > Anyone using powerpc (32-bit) will then need to add ppc64 as a foreign > architecture before they can install a 64-bit custom kernel. This is > fine in principle, except that ppc64 is not an official Debian port and > its packages are not mirrored on the same servers. [...] > So I think Michael's version, leaving big-endian kernels as powerpc by > default, is preferable for now. I applied v2 of Michael's patch to kbuild.git#misc. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH v2] powerpc: Avoid circular dependency with zImage.%
Dne 12.6.2014 04:07, Mike Qiu napsal(a): > This v2 patch is good, > > Tested-by: Mike Qiu Thanks. In kbuild.git it goes. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH v2] powerpc: Avoid circular dependency with zImage.%
The rule to create the final images uses a zImage.% pattern. Unfortunately, this also matches the names of the zImage.*.lds linker scripts, which appear as a dependency of the final images. This somehow worked when $(srctree) used to be an absolute path, but now the pattern matches too much. List only the images from $(image-y) as the target of the rule, to avoid the circular dependency. Signed-off-by: Michal Marek --- v2: - Filter out duplicates in the target list - fix the platform argument to cmd_wrap arch/powerpc/boot/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 426dce7..ccc25ed 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -333,8 +333,8 @@ $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz $(obj)/zImage.initrd.%: vmlinux $(wrapperbits) $(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz) -$(obj)/zImage.%: vmlinux $(wrapperbits) - $(call if_changed,wrap,$*) +$(addprefix $(obj)/, $(sort $(filter zImage.%, $(image-y: vmlinux $(wrapperbits) + $(call if_changed,wrap,$(subst $(obj)/zImage.,,$@)) # dtbImage% - a dtbImage is a zImage with an embedded device tree blob $(obj)/dtbImage.initrd.%: vmlinux $(wrapperbits) $(obj)/%.dtb -- 1.9.2 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Kernel build fail with "Circular xxxx <- xxxx dependency dropped"
Dne 11.6.2014 14:21, Michal Marek napsal(a): > On Wed, Jun 11, 2014 at 10:24:24AM +0200, Michal Marek wrote: >> Dne 11.6.2014 08:02, Mike Qiu napsal(a): >>> make[1]: Circular arch/powerpc/boot/zImage.lds.S <- >>> arch/powerpc/boot/zImage.lds dependency dropped. >>> make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <- >>> arch/powerpc/boot/zImage.lds dependency dropped. >>> make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <- >>> arch/powerpc/boot/zImage.coff.lds dependency dropped. >>> make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- >>> arch/powerpc/boot/zImage.lds dependency dropped. >>> make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- >>> arch/powerpc/boot/zImage.coff.lds dependency dropped. >>> make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- >>> arch/powerpc/boot/zImage.ps3.lds dependency dropped. >>> WRAParch/powerpc/boot/zImage.ps3.lds.S >>> INFO: Uncompressed kernel (size 0x14d0db8) overlaps the address of the >>> wrapper(0x40) >>> INFO: Fixing the link_address of wrapper to (0x150) >>> ld: cannot open linker script file arch/powerpc/boot/zImage.lds: No such >>> file or directory >>> make[1]: *** [arch/powerpc/boot/zImage.ps3.lds.S] Error 1 >>> make: *** [zImage] Error 2 >>> make: *** Waiting for unfinished jobs >>> MODPOST 1853 modules >>> >>> I use git bisect to find out the possible commits to lead this problem: >>> 7e1c04779efd51154baf652e653ceb24ce68939b kbuild: Use relative path for >>> $(objtree) >>> 890676c65d699db3ad82e70cf8fb449031af kbuild: Use relative path when >>> building in the source tree >>> 9da0763bdd82572be243fcf5161734f11568960f kbuild: Use relative path when >>> building in a subdir of the source tree >> >> Thanks for the report, I'll have a look. If I do not come up with a >> solution soon, I'll revert the series. > > I have yet to test this, but can you try the patch below? > > Thanks! > Michal > > > From 7f8336f4c7f2131efbe82543580dda3ec1988609 Mon Sep 17 00:00:00 2001 > From: Michal Marek > Date: Wed, 11 Jun 2014 13:53:48 +0200 > Subject: [PATCH] powerpc: Avoid circular dependency with zImage.% > > The rule to create the final images uses a zImage.% pattern. > Unfortunately, this also matches the names of the zImage.*.lds linker > scripts, which appear as a dependency of the final images. This somehow > worked when $(srctree) used to be an absolute path, but now the pattern > matches too much. List only the images from $(image-y) as the target of > the rule, to avoid the circular dependency. > If merged, this should of course have a Reported-by: Mike Qiu Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Kernel build fail with "Circular xxxx <- xxxx dependency dropped"
On Wed, Jun 11, 2014 at 10:24:24AM +0200, Michal Marek wrote: > Dne 11.6.2014 08:02, Mike Qiu napsal(a): > > make[1]: Circular arch/powerpc/boot/zImage.lds.S <- > > arch/powerpc/boot/zImage.lds dependency dropped. > > make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <- > > arch/powerpc/boot/zImage.lds dependency dropped. > > make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <- > > arch/powerpc/boot/zImage.coff.lds dependency dropped. > > make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- > > arch/powerpc/boot/zImage.lds dependency dropped. > > make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- > > arch/powerpc/boot/zImage.coff.lds dependency dropped. > > make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- > > arch/powerpc/boot/zImage.ps3.lds dependency dropped. > > WRAParch/powerpc/boot/zImage.ps3.lds.S > > INFO: Uncompressed kernel (size 0x14d0db8) overlaps the address of the > > wrapper(0x40) > > INFO: Fixing the link_address of wrapper to (0x150) > > ld: cannot open linker script file arch/powerpc/boot/zImage.lds: No such > > file or directory > > make[1]: *** [arch/powerpc/boot/zImage.ps3.lds.S] Error 1 > > make: *** [zImage] Error 2 > > make: *** Waiting for unfinished jobs > > MODPOST 1853 modules > > > > I use git bisect to find out the possible commits to lead this problem: > > 7e1c04779efd51154baf652e653ceb24ce68939b kbuild: Use relative path for > > $(objtree) > > 890676c65d699db3ad82e70cf8fb449031af kbuild: Use relative path when > > building in the source tree > > 9da0763bdd82572be243fcf5161734f11568960f kbuild: Use relative path when > > building in a subdir of the source tree > > Thanks for the report, I'll have a look. If I do not come up with a > solution soon, I'll revert the series. I have yet to test this, but can you try the patch below? Thanks! Michal From 7f8336f4c7f2131efbe82543580dda3ec1988609 Mon Sep 17 00:00:00 2001 From: Michal Marek Date: Wed, 11 Jun 2014 13:53:48 +0200 Subject: [PATCH] powerpc: Avoid circular dependency with zImage.% The rule to create the final images uses a zImage.% pattern. Unfortunately, this also matches the names of the zImage.*.lds linker scripts, which appear as a dependency of the final images. This somehow worked when $(srctree) used to be an absolute path, but now the pattern matches too much. List only the images from $(image-y) as the target of the rule, to avoid the circular dependency. Signed-off-by: Michal Marek --- arch/powerpc/boot/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 426dce7..c60992c 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -333,7 +333,7 @@ $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz $(obj)/zImage.initrd.%: vmlinux $(wrapperbits) $(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz) -$(obj)/zImage.%: vmlinux $(wrapperbits) +$(addprefix $(obj)/, $(filter zImage.%, $(image-y))): vmlinux $(wrapperbits) $(call if_changed,wrap,$*) # dtbImage% - a dtbImage is a zImage with an embedded device tree blob -- 1.9.2 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: Kernel build fail with "Circular xxxx <- xxxx dependency dropped"
Dne 11.6.2014 08:02, Mike Qiu napsal(a): > Hi all, > > I recently build linux next kernel in IBM Power7 platform, use default > config file copy from /boot/config-3.6.10-4.fc18.ppc64p7 > > [root@cena01 linux-next]# uname -a > Linux cena01.austin.ibm.com 3.15.0-rc1+ #47 SMP Thu Apr 24 20:59:46 CDT > 2014 ppc64 ppc64 ppc64 GNU/Linux > > [root@cena01 linux-next]# cat /etc/issue > Fedora release 18 (Spherical Cow) > Kernel \r on an \m (\l) > > and build error log below: > > [root@cena01 linux-next]# make -j60 > CHK include/config/kernel.release > CHK include/generated/uapi/linux/version.h > CHK include/generated/utsrelease.h > CALLscripts/checksyscalls.sh > CHK include/generated/compile.h > CALLarch/powerpc/kernel/systbl_chk.sh > CALLarch/powerpc/kernel/prom_init_check.sh > CHK include/generated/uapi/linux/version.h > CALLarch/powerpc/relocs_check.pl > Building modules, stage 2. > WARNING: 1 bad relocations > c1455040 R_PPC64_ADDR64uprobes_fetch_type_table > make[1]: Circular arch/powerpc/boot/zImage.lds.S <- > arch/powerpc/boot/zImage.lds dependency dropped. > make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <- > arch/powerpc/boot/zImage.lds dependency dropped. > make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <- > arch/powerpc/boot/zImage.coff.lds dependency dropped. > make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- > arch/powerpc/boot/zImage.lds dependency dropped. > make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- > arch/powerpc/boot/zImage.coff.lds dependency dropped. > make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <- > arch/powerpc/boot/zImage.ps3.lds dependency dropped. > WRAParch/powerpc/boot/zImage.ps3.lds.S > INFO: Uncompressed kernel (size 0x14d0db8) overlaps the address of the > wrapper(0x40) > INFO: Fixing the link_address of wrapper to (0x150) > ld: cannot open linker script file arch/powerpc/boot/zImage.lds: No such > file or directory > make[1]: *** [arch/powerpc/boot/zImage.ps3.lds.S] Error 1 > make: *** [zImage] Error 2 > make: *** Waiting for unfinished jobs > MODPOST 1853 modules > > I use git bisect to find out the possible commits to lead this problem: > 7e1c04779efd51154baf652e653ceb24ce68939b kbuild: Use relative path for > $(objtree) > 890676c65d699db3ad82e70cf8fb449031af kbuild: Use relative path when > building in the source tree > 9da0763bdd82572be243fcf5161734f11568960f kbuild: Use relative path when > building in a subdir of the source tree Thanks for the report, I'll have a look. If I do not come up with a solution soon, I'll revert the series. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 2/2] Kbuild: Use dtc's -d (dependency) option
On 17.1.2012 18:20, Stephen Warren wrote: > Michal Marek wrote at Saturday, January 14, 2012 3:51 PM: >> As the C6X port has been merged in this merge window, I can't easily >> apply this patch to my kbuild branch and at the same time please Linus >> by basing the pull request on a tagged release. So I'm going to drop the >> arch/c6x part to keep the kbuild branch "pretty" and let either Mark or >> Stephen send the patch to Linus directly, once he has merged the kbuild >> branch. Would that work? > > I was assuming my patches were for 3.4 rather than 3.3, since it's pretty > late for new features in 3.3. In that case, there wouldn't be an issue, > right? OK, that was a misunderstanding then. I applied it to the kbuild branch for 3.3 and Linus pulled it in the meantime. It's not a terribly intrusive change, after all. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 2/2] Kbuild: Use dtc's -d (dependency) option
On 11.1.2012 20:36, Mark Salter wrote: > On Mon, 2012-01-09 at 11:38 -0700, Stephen Warren wrote: >> This hooks dtc into Kbuild's dependency system. >> >> Thus, for example, "make dtbs" will rebuild tegra-harmony.dtb if only >> tegra20.dtsi has changed yet tegra-harmony.dts has not. The previous >> lack of this feature recently caused me to have very confusing "git >> bisect" results. >> >> For ARM, it's obvious what to add to $(targets). I'm not familiar enough >> with other architectures to know what to add there. Powerpc appears to >> already add various .dtb files into $(targets), but the other archs may >> need something added to $(targets) to work. >> >> Signed-off-by: Stephen Warren >> > > Acked-by: Mark Salter > > For the arch/c6x bit. As the C6X port has been merged in this merge window, I can't easily apply this patch to my kbuild branch and at the same time please Linus by basing the pull request on a tagged release. So I'm going to drop the arch/c6x part to keep the kbuild branch "pretty" and let either Mark or Stephen send the patch to Linus directly, once he has merged the kbuild branch. Would that work? Thanks, Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH v2] powerpc: Use the deterministic mode of ar
Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Michal Marek --- Hi, this version fixes build with binutils <= 2.19 by first checking if ar(1) supports the D option. It depends on a previous patch in the kbuild tree, commit 40df759e (kbuild: Fix build with binutils <= 2.19) in linux-next, so it will need to go through the kbuild tree. But feedback from the PPC maintainers would be appreciated. Thanks Michal --- arch/powerpc/boot/Makefile |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 8917816..f0543f8 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -127,7 +127,7 @@ quiet_cmd_bootas = BOOTAS $@ cmd_bootas = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTAFLAGS) -c -o $@ $< quiet_cmd_bootar = BOOTAR $@ - cmd_bootar = $(CROSS32AR) -cr $@. $(filter-out FORCE,$^); mv $@. $@ + cmd_bootar = $(CROSS32AR) -cr$(KBUILD_ARFLAGS) $@. $(filter-out FORCE,$^); mv $@. $@ $(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE $(call if_changed_dep,bootcc) -- 1.7.4.1 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 00/34] Make kernel build deterministic
On 5.4.2011 17:49, Greg KH wrote: > Very nice stuff. Do you want to take the individual patches through one > of your trees, or do you mind if the subsystem maintainers take them > through theirs? I'd leave it up to the subsystem maintainers. I'll check once the merge window opens and send the remaining patches to Linus directly. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 00/34] Make kernel build deterministic
On 5.4.2011 21:24, Artem Bityutskiy wrote: > On Tue, 2011-04-05 at 08:49 -0700, Greg KH wrote: >> On Tue, Apr 05, 2011 at 04:58:47PM +0200, Michal Marek wrote: >>> >>> Hi, >>> >>> this series makes it possible to build bit-identical kernel image and >>> modules from identical sources. Of course the build is already >>> deterministic in terms of behavior of the code, but the various >>> timestamps embedded in the object files make it hard to compare two >>> builds, for instance to verify that a makefile cleanup didn't >>> accidentally change something. A prime example is /proc/config.gz, which >>> has both a timestamp in the gzip header and a timestamp in the payload >>> data. With this series applied, a script like this will produce >>> identical kernels each time: >> >> Very nice stuff. Do you want to take the individual patches through one >> of your trees, or do you mind if the subsystem maintainers take them >> through theirs? > > But unfortunately, it is very easy to break this and for sure it'll be > broken very soon. I'm not so pessimistic. 34 patches and 57 files might sound like a lot, but given that this has been accumulating since day one, the cleanup should last for some time. > So additionally, I'd suggest: > 1. Instrument checkpatch.pl and make it err or warn on timestamps. This is patch 34/34 in this series: https://lkml.org/lkml/2011/4/5/198 > 2. Probably instrument linux-next to rise a warning when people break >this. I'm not sure if Stephen has that much spare time, and I don't think it is necessary. I think the checkpatch check is sufficient and I'll check myself occasionally. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH 00/34] Make kernel build deterministic
Hi, this series makes it possible to build bit-identical kernel image and modules from identical sources. Of course the build is already deterministic in terms of behavior of the code, but the various timestamps embedded in the object files make it hard to compare two builds, for instance to verify that a makefile cleanup didn't accidentally change something. A prime example is /proc/config.gz, which has both a timestamp in the gzip header and a timestamp in the payload data. With this series applied, a script like this will produce identical kernels each time: #!/bin/bash rm -rf /dev/shm/{source,build}{,1,2} export KCONFIG_NOTIMESTAMP=1 export KBUILD_BUILD_TIMESTAMP='Sun May 1 12:00:00 CEST 2011' export KBUILD_BUILD_USER=user export KBUILD_BUILD_HOST=host export ROOT_DEV=FLOPPY for i in 1 2; do mkdir /dev/shm/source # randomize the inode order just for fun git ls-tree -r -z --name-only HEAD | sort -R -z | xargs -0 \ cp --parents --target=/dev/shm/source pushd /dev/shm/source mkdir /dev/shm/build >/dev/shm/build/all.config for opt in GCOV_KERNEL UBIFS_FS_DEBUG; do echo "# CONFIG_$opt is not set" >>"/dev/shm/build"/all.config done make O="/dev/shm/build" KCONFIG_ALLCONFIG=1 allmodconfig make O="/dev/shm/build" -j64 popd mv /dev/shm/source /dev/shm/source$i mv /dev/shm/build /dev/shm/build$i done diff -rq /dev/shm/build{1,2} Unfortunatelly, this cannot be used to validate indentation-only patches, even if CONFIG_DEBUG_INFO is turned off. This is because of the __FILE__ and __LINE__ macros used in many places. For the same reason, the source and build directory needs to be the same, otherwise the results will differ. This was tested on x86_64/{defconfig,allmodconfig,allyesconfig} and ppc64/defconfig. The series is also available at git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git deterministic-build-v1 Michal Michal Marek (34): kconfig: Do not record timestamp in auto.conf and autoconf.h kbuild: Call gzip with -n powerpc: Call gzip with -n kbuild: Use the deterministic mode of ar powerpc: Use the deterministic mode of ar kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN macros kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries x86: Allow to override the ROOT_DEV variable cyclades: Drop __TIME__ usage nozomi: Drop __TIME__ usage isdn/diva: Drop __TIME__ usage media/radio-maxiradio: Drop __TIME__ usage media/cx231xx: Drop __TIME__ usage baycom: Drop __TIME__ usage nand/denali: Drop __TIME__ usage hdlcdrv: Drop __TIME__ usage wan/pc300: Drop __TIME__ usage rt2x00: Drop __TIME__ usage parport: Drop __TIME__ usage aacraid: Drop __TIME__ usage scsi/in2000: Drop __TIME__ usage scsi/wd33c93: Drop __TIME__ usage usb/u132-hcd: Drop __TIME__ usage usb/ftdi-elan: Drop __TIME__ usage dlm: Drop __TIME__ usage gfs2: Drop __TIME__ usage atm: Drop __TIME__ usage tipc: Drop __TIME__ usage rio: Drop __DATE__ usage edac: Drop __DATE__ usage pmcraid: Drop __DATE__ usage usb/lh7a40x_udc: Drop __DATE__ usage checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__ Documentation/kbuild/kbuild.txt | 12 ++ arch/powerpc/boot/Makefile |2 +- arch/powerpc/boot/wrapper|6 ++-- arch/x86/boot/Makefile |2 +- drivers/char/cyclades.c |3 +- drivers/char/nozomi.c|3 +- drivers/char/rio/rioinit.c |2 +- drivers/edac/amd76x_edac.c |2 +- drivers/edac/amd8111_edac.c |2 +- drivers/edac/amd8131_edac.c |2 +- drivers/edac/cpc925_edac.c |2 +- drivers/edac/e752x_edac.c|2 +- drivers/edac/e7xxx_edac.c|2 +- drivers/edac/edac_module.c |2 +- drivers/edac/i5000_edac.c|2 +- drivers/edac/i5400_edac.c|2 +- drivers/edac/i7300_edac.c|2 +- drivers/edac/i7core_edac.c |2 +- drivers/edac/i82860_edac.c |2 +- drivers/edac/i82875p_edac.c |2 +- drivers/edac/i82975x_edac.c |2 +- drivers/edac/mpc85xx_edac.h |2 +- drivers/edac/mv64x60_edac.h |2 +- drivers/edac/ppc4xx_edac.c |2 +- drivers/edac/r82600_edac.c |2 +- drivers/isdn/hardware/eicon/divasfunc.c |5 +-- drivers/media/radio/radio-maxiradio.c|3 +- drivers/media/video/cx231xx/cx231xx-avcore.c |2 +- dri
[PATCH 05/34] powerpc: Use the deterministic mode of ar
Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Michal Marek --- arch/powerpc/boot/Makefile |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 8917816..d028a65 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -127,7 +127,7 @@ quiet_cmd_bootas = BOOTAS $@ cmd_bootas = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTAFLAGS) -c -o $@ $< quiet_cmd_bootar = BOOTAR $@ - cmd_bootar = $(CROSS32AR) -cr $@. $(filter-out FORCE,$^); mv $@. $@ + cmd_bootar = $(CROSS32AR) -crD $@. $(filter-out FORCE,$^); mv $@. $@ $(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE $(call if_changed_dep,bootcc) -- 1.7.4.1 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH 03/34] powerpc: Call gzip with -n
The timestamps recorded in the .gz files add no value. Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Michal Marek --- arch/powerpc/boot/wrapper |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index cb97e75..854797b 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper @@ -251,7 +251,7 @@ if [ -z "$cacheit" -o ! -f "$vmz$gzip" -o "$vmz$gzip" -ot "$kernel" ]; then ${CROSS}objcopy $objflags "$kernel" "$vmz.$$" if [ -n "$gzip" ]; then -gzip -f -9 "$vmz.$$" +gzip -n -f -9 "$vmz.$$" fi if [ -n "$cacheit" ]; then @@ -336,7 +336,7 @@ coff) $objbin/hack-coff "$ofile" ;; cuboot*) -gzip -f -9 "$ofile" +gzip -n -f -9 "$ofile" ${MKIMAGE} -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \ $uboot_version -d "$ofile".gz "$ofile" ;; @@ -383,6 +383,6 @@ ps3) odir="$(dirname "$ofile.bin")" rm -f "$odir/otheros.bld" -gzip --force -9 --stdout "$ofile.bin" > "$odir/otheros.bld" +gzip -n --force -9 --stdout "$ofile.bin" > "$odir/otheros.bld" ;; esac -- 1.7.4.1 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 1/4] of: Add support for linking device tree blobs into vmlinux
On 22.12.2010 20:57, dirk.brande...@gmail.com wrote: From: Dirk Brandewie This patch adds support for linking device tree blob(s) into vmlinux. Modifies asm-generic/vmlinux.lds.h to add linking .dtb sections into vmlinux. To maintain compatiblity with the of/fdt driver code platforms MUST copy the blob to a non-init memory location before the kernel frees the .init.* sections in the image. Modifies scripts/Makefile.lib to add a kbuild command to compile DTS files to device tree blobs and a rule to create objects to wrap the blobs for linking. STRUCT_ALIGNMENT is defined in vmlinux.lds.h for use in the rule to create wrapper objects for the dtb in Makefile.lib. The STRUCT_ALIGN() macro in vmlinux.lds.h is modified to use the STRUCT_ALIGNMENT definition. The DTB's are placed on 32 byte boundries to allow parsing the blob with driver/of/fdt.c during early boot without having to copy the blob to get the structure alignment GCC expects. A DTB is linked in by adding the DTB object to the list of objects to be linked into vmlinux in the archtecture specific Makefile using obj-y += foo.dtb.o Signed-off-by: Dirk Brandewie Hi, you can add Acked-by: Michal Marek but I thing this series should go through the tip tree, as your primary target seems to be x86 and patch 2/4 depends on the ce4100 code that is only in tip. Michal --- Documentation/kbuild/makefiles.txt | 15 +++ include/asm-generic/vmlinux.lds.h | 13 +++-- scripts/Makefile.lib | 23 +++ 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt index 0ef00bd..86e3cd0 100644 --- a/Documentation/kbuild/makefiles.txt +++ b/Documentation/kbuild/makefiles.txt @@ -1136,6 +1136,21 @@ When kbuild executes, the following steps are followed (roughly): resulting in the target file being recompiled for no obvious reason. +dtc + Create flattend device tree blob object suitable for linking + into vmlinux. Device tree blobs linked into vmlinux are placed + in an init section in the image. Platform code *must* copy the + blob to non-init memory prior to calling unflatten_device_tree(). + + Example: + #arch/x86/platform/ce4100/Makefile + clean-files := *dtb.S + + DTC_FLAGS := -p 1024 + obj-y += foo.dtb.o + + $(obj)/%.dtb: $(src)/%.dts + $(call cmd,dtc) --- 6.7 Custom kbuild commands diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index bd69d79..05cbad0 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -67,7 +67,8 @@ * Align to a 32 byte boundary equal to the * alignment gcc 4.5 uses for a struct */ -#define STRUCT_ALIGN() . = ALIGN(32) +#define STRUCT_ALIGNMENT 32 +#define STRUCT_ALIGN() . = ALIGN(STRUCT_ALIGNMENT) /* The actual configuration determine if the init/exit sections * are handled as text/data or they can be discarded (which @@ -146,6 +147,13 @@ #define TRACE_SYSCALLS() #endif + +#define KERNEL_DTB() \ + STRUCT_ALIGN(); \ + VMLINUX_SYMBOL(__dtb_start) = .;\ + *(.dtb.init.rodata) \ + VMLINUX_SYMBOL(__dtb_end) = .; + /* .data section */ #define DATA_DATA \ *(.data)\ @@ -468,7 +476,8 @@ MCOUNT_REC()\ DEV_DISCARD(init.rodata)\ CPU_DISCARD(init.rodata)\ - MEM_DISCARD(init.rodata) + MEM_DISCARD(init.rodata)\ + KERNEL_DTB() #define INIT_TEXT \ *(.init.text) \ diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 4c72c11..7df8eb5 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -200,6 +200,29 @@ quiet_cmd_gzip = GZIP$@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -f -9> $@) || \ (rm -f $@ ; false) +# DTC +# --- + +# Generate an assembly file to wrap the output of the device tree compiler +quiet_cmd_dt_S_dtb= DTB$@ +cmd_dt_S_dtb= \ +( \ + echo '\#include'; \ + echo '.section .dtb.init.rodata,"a"'; \ + echo '.balign STRUCT_ALIGNMENT';
Re: [PATCH 1/4] of: Add support for linking device tree blobs into vmlinux
On 8.12.2010 16:01, dirk.brande...@gmail.com wrote: > +quiet_cmd_dt_S_dtb= DTB$@ > +quiet_cmd_dtc = DTC $@ Hi, just an aesthetic remark: The target name should start at the 9th column, so there should be 5 spaces after both "DTB" and "DTC". Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 2/4] x86/of: Add building device tree blob(s) into image.
On 8.12.2010 16:01, dirk.brande...@gmail.com wrote: > From: Dirk Brandewie > > This patch adds linking device tree blob into vmlinux. DTB's are > added by adding the blob object name to list of objects to be linked > into the image. > > Signed-off-by: Dirk Brandewie > --- > arch/x86/platform/ce4100/Makefile | 10 ++ > 1 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/arch/x86/platform/ce4100/Makefile > b/arch/x86/platform/ce4100/Makefile > index 91fc929..e5f3b7b 100644 > --- a/arch/x86/platform/ce4100/Makefile > +++ b/arch/x86/platform/ce4100/Makefile > @@ -1 +1,11 @@ > obj-$(CONFIG_X86_INTEL_CE) += ce4100.o > +clean-files := *dtb.S > + > +ifdef CONFIG_X86_OF > +### > +# device tree blob > +obj-$(CONFIG_X86_INTEL_CE) += ce4100.dtb.o > + > +$(obj)/%.dtb: $(src)/%.dts > + $(call cmd,dtc) > +endif Hi, CONFIG_X86_OF should be defined in some Kconfig file and there is no ce4100.dts?? Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] kbuild: Enable building defconfigs from Kconfig files
On 07/13/2010 03:43 AM, Stephen Rothwell wrote: > After this change, doing a "make xxx_defconfig" will check first for > a file called arch//configs/Kconfig.xxx and use that to generate > the .config (effectively starting from an allnoconfig). If that file > doesn't exist, it will use arch//configs/xxx_defconfig as now. > > Signed-off-by: Stephen Rothwell > --- > scripts/kconfig/Makefile | 14 +- > 1 files changed, 13 insertions(+), 1 deletions(-) > > Hi Linus, > > Is this more the direction you want to take? > > There are still 2 main problems with is approach: > > - there are some config options that are globally and > unconditionally enabled that some platforms may not want. The only way > currently to turn them off is to reproduce the config entry with the > different default. I am not sure if we need a wa to turn them off or to > just change them to being neede to be selected by those that do want them. > - we have no way to select options that are neither bool or > tristate to suitable values. Again the only way to do that currently is > to reproduce the config entry with a different default value. Hi Stephen, how are these Kconfig.xxx files going look like? A list of 'select FOO' and 'include "Kconfig.other"' statements? What about adding support for an include statement to the .config file format and using that in the defconfigs instead? The VARIABLE=VALUE grammar seems much more suitable for this than the kconfig language. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 31/40] trace syscalls: Convert various generic compat syscalls
On 23.6.2010 12:37, Andi Kleen wrote: > It also has maintenance costs, e.g. I doubt ctags and cscope > will be able to deal with these kinds of macros, so it has a > high cost for everyone using these tools. FWIW, patch 16/40 of this series teaches 'make tags' to recognize these macros: http://permalink.gmane.org/gmane.linux.kernel/1002103 Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 16/40] tags: recognize compat syscalls
On 23.6.2010 12:02, Ian Munsie wrote: > From: Jason Baron > > make tags.sh recognize the new syscall macros: > > COMPAT_SYSCALL_DEFINE#N() > ARCH_COMPAT_SYSCALL_DEFINE#N() > > Signed-off-by: Jason Baron > Signed-off-by: Ian Munsie Acked-by: Michal Marek Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [patch 2/2] kbuild: move -fno-dwarf2-cfi-asm to powerpc only
On 4.2.2010 00:22, Benjamin Herrenschmidt wrote: > On Tue, 2010-02-02 at 14:40 -0800, a...@linux-foundation.org wrote: >> From: Andi Kleen >> >> Better dwarf2 unwind information is a good thing, it allows better >> debugging with kgdb and crash and helps systemtap. >> >> Commit 003086497f07f7f1e67c0c295e261740f822b377 ("Build with >> -fno-dwarf2-cfi-asm") disabled some CFI information globally to work >> around a module loader bug on powerpc. >> >> But this disables the better unwind tables for all architectures, not just >> powerpc. Move the workaround to powerpc and also add a suitable comment >> that's it really a workaround. >> >> This improves dwarf2 unwind tables on x86 at least. >> >> Signed-off-by: Andi Kleen >> Cc: Kyle McMartin > > Acked-by: Benjamin Herrenschmidt > > Do you want me to carry that in powerpc-next ? I can add it to kbuild-next. Changes to the top-level Makefile usually go through kbuild, so it will avoid potential conflicts. Michal ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: 2.6.22-rc6-mm1
Andrew Morton wrote: > On Fri, 29 Jun 2007 14:32:09 +0200 > Mariusz Kozlowski <[EMAIL PROTECTED]> wrote: >> anyway after unselecting XMON we can see: >> >> CC [M] fs/xfs/linux-2.6/xfs_ioctl32.o >> fs/xfs/linux-2.6/xfs_ioctl32.c: In function 'xfs_ioc_bulkstat_compat': >> fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: 'xfs_inumbers_fmt_compat' >> undeclared (first use in this function) >> fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: (Each undeclared identifier is >> reported only once >> fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: for each function it appears in.) >> make[2]: *** [fs/xfs/linux-2.6/xfs_ioctl32.o] Blad 1 >> make[1]: *** [fs/xfs] Blad 2 > > Michal cc'ed. I think this is the one which was already reported but > I haven't seen a fix yet? Hi, I sent you an updated patch yesterday (should I've changed the subject / started a new thread? This was my first patch so bear with me... :)). Anyway, the mail with the fix is here: http://lkml.org/lkml/2007/6/29/87 Michal ___ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev