Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1320764 > unrolled thread
| Started by | Daniel Wagner <daniel.wagner@bmw-carit.de> |
|---|---|
| First post | 2016-01-28 16:00 +0100 |
| Last post | 2016-01-29 14:30 +0100 |
| Articles | 13 on this page of 33 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH tip v6 0/5] Simple wait queue support Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-01-28 16:00 +0100
[PATCH tip v6 5/5] rcu: use simple wait queues where possible in rcutree Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-01-28 16:00 +0100
[PATCH] MIPS: Differentiate between 32 and 64 bit ELF header Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-01-29 14:30 +0100
Re: [PATCH] MIPS: Differentiate between 32 and 64 bit ELF header "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-01 02:00 +0100
Re: [PATCH] MIPS: Differentiate between 32 and 64 bit ELF header Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-01 17:10 +0100
Re: [PATCH] MIPS: Differentiate between 32 and 64 bit ELF header "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-06 18:20 +0100
[PATCH v3 0/3] Differentiate between 32 and 64 bit ELF header Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-08 16:50 +0100
[PATCH v3 3/3] mips: Differentiate between 32 and 64 bit ELF header Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-08 16:50 +0100
Re: [PATCH v3 3/3] mips: Differentiate between 32 and 64 bit ELF header kbuild test robot <lkp@intel.com> - 2016-02-08 17:30 +0100
Re: [PATCH v3 3/3] mips: Differentiate between 32 and 64 bit ELF header Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-09 09:10 +0100
Re: [PATCH v3 3/3] mips: Differentiate between 32 and 64 bit ELF header Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-09 13:40 +0100
Re: [PATCH v3 3/3] mips: Differentiate between 32 and 64 bit ELF header "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-09 21:10 +0100
Re: [PATCH v3 3/3] mips: Differentiate between 32 and 64 bit ELF header Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-10 07:30 +0100
[PATCH v4 2/2] mips: Differentiate between 32 and 64 bit ELF header Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-10 10:30 +0100
Re: [PATCH v4 2/2] mips: Differentiate between 32 and 64 bit ELF header Ralf Baechle <ralf@linux-mips.org> - 2016-02-11 12:20 +0100
Re: [PATCH v4 2/2] mips: Differentiate between 32 and 64 bit ELF header "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-11 13:10 +0100
Re: [PATCH v4 2/2] mips: Differentiate between 32 and 64 bit ELF header Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-11 13:20 +0100
Re: [PATCH v4 2/2] mips: Differentiate between 32 and 64 bit ELF header "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-11 16:00 +0100
Re: [PATCH v4 2/2] mips: Differentiate between 32 and 64 bit ELF header Ralf Baechle <ralf@linux-mips.org> - 2016-02-11 16:40 +0100
[PATCH v4 1/2] crash_dump: Add vmcore_elf32_check_arch Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-10 10:30 +0100
[PATCH v4 0/2] Differentiate between 32 and 64 bit ELF header Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-10 10:30 +0100
Re: [PATCH v3 3/3] mips: Differentiate between 32 and 64 bit ELF header "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-09 13:40 +0100
Re: [PATCH v3 3/3] mips: Differentiate between 32 and 64 bit ELF header "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-08 18:10 +0100
[PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-08 16:50 +0100
Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-08 18:20 +0100
Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-09 08:10 +0100
Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-09 12:50 +0100
Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-09 13:40 +0100
Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-09 16:00 +0100
Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-10 10:00 +0100
[PATCH v3 2/3] crash_dump: Add vmcore_elf32_check_arch Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-02-08 16:50 +0100
Re: [PATCH v3 2/3] crash_dump: Add vmcore_elf32_check_arch "Maciej W. Rozycki" <macro@imgtec.com> - 2016-02-08 18:10 +0100
[PATCH] video: Use bool instead int pointer for get_opt_bool() argument Daniel Wagner <daniel.wagner@bmw-carit.de> - 2016-01-29 14:30 +0100
Page 2 of 2 — ← Prev page 1 [2]
| From | Daniel Wagner <daniel.wagner@bmw-carit.de> |
|---|---|
| Date | 2016-02-10 10:30 +0100 |
| Subject | [PATCH v4 0/2] Differentiate between 32 and 64 bit ELF header |
| Message-ID | <r0zfY-kZ-15@gated-at.bofh.it> |
| In reply to | #1330920 |
Hi Maciej, I did test compile a few different configurations and with and without mrproper upfront. All looks fine now. Let's see what still goes wrong :) cheers, daniel Daniel Wagner (2): crash_dump: Add vmcore_elf32_check_arch mips: Differentiate between 32 and 64 bit ELF header arch/mips/include/asm/elf.h | 9 +++++++-- arch/mips/kernel/binfmt_elfn32.c | 2 +- arch/mips/kernel/binfmt_elfo32.c | 2 +- fs/proc/vmcore.c | 2 +- include/linux/crash_dump.h | 8 ++++++-- 5 files changed, 16 insertions(+), 7 deletions(-) -- 2.5.0
[toc] | [prev] | [next] | [standalone]
| From | "Maciej W. Rozycki" <macro@imgtec.com> |
|---|---|
| Date | 2016-02-09 13:40 +0100 |
| Subject | Re: [PATCH v3 3/3] mips: Differentiate between 32 and 64 bit ELF header |
| Message-ID | <r0fKi-41c-17@gated-at.bofh.it> |
| In reply to | #1329952 |
On Tue, 9 Feb 2016, Daniel Wagner wrote: > > All error/warnings (new ones prefixed by >>): > > > > arch/mips/kernel/../../../fs/binfmt_elf.c: In function 'load_elf_interp': > >>> arch/mips/kernel/binfmt_elfn32.c:38:7: error: implicit declaration of function 'mips_elf_check_machine' [-Werror=implicit-function-declaration] > > if (!mips_elf_check_machine(__h)) \ > > ^ > >>> arch/mips/kernel/../../../fs/binfmt_elf.c:536:7: note: in expansion of macro 'elf_check_arch' > > if (!elf_check_arch(interp_elf_ex)) > > ^ > > cc1: some warnings being treated as errors > > -- > > arch/mips/kernel/../../../fs/binfmt_elf.c: In function 'load_elf_interp': > > Hmm how I was able to build binfmt_elfo32.o because it should suffer > from the same problem. > > I think reusing mips_elf_check_machine() in binfmt_elf?32.c is only > going to work if we include arch/mips/include/asm/elf.h. Though this > looks kind of wrong. But neither binfmt_elf?32.c actually expands `elf_check_arch' and both include fs/binfmt_elf.c at the end, which in turn includes <linux/elf.h>, which in turn does include <asm/elf.h> before expanding `elf_check_arch', and consequently at that point `mips_elf_check_machine' will have been already defined. So things are all right, except you need to define the macro outside `#ifndef ELF_ARCH'. I suggest moving it down, right below the conditional, rather than up as the top of the file contains generic MIPS ELF stuff. I think all the three macros can go together, it doesn't appear to me they need to depend on `ELF_ARCH', and we can fix it up if ever in the future they have to. FWIW I think all the MIPS ABI flags stuff also needs to go outside the conditional, because it's ABI agnostic. I'll make the right change myself on top of your fixes. It'll remove a little bit of code duplication, which is always welcome. Maciej
[toc] | [prev] | [next] | [standalone]
| From | "Maciej W. Rozycki" <macro@imgtec.com> |
|---|---|
| Date | 2016-02-08 18:10 +0100 |
| Subject | Re: [PATCH v3 3/3] mips: Differentiate between 32 and 64 bit ELF header |
| Message-ID | <qZXu3-8en-39@gated-at.bofh.it> |
| In reply to | #1329210 |
On Mon, 8 Feb 2016, Daniel Wagner wrote:
> Therefore, we rather define vmcore_elf{32|64}_check_arch() as a
> basic machine check and use it also in binfm_elf?32.c as well.
>
> Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
> Suggested-by: Maciej W. Rozycki <macro@imgtec.com>
> Reported-by: Fengguang Wu <fengguang.wu@intel.com>
> ---
Reviewed-by: Maciej W. Rozycki <macro@imgtec.com>
Maciej
[toc] | [prev] | [next] | [standalone]
| From | Daniel Wagner <daniel.wagner@bmw-carit.de> |
|---|---|
| Date | 2016-02-08 16:50 +0100 |
| Subject | [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version |
| Message-ID | <qZWeC-7eV-25@gated-at.bofh.it> |
| In reply to | #1329206 |
The generic auxvec.h is used instead the arch specific version.
This happens when cross compiling the kernel.
mips64-linux-gnu-gcc (GCC) 5.2.1 20151104 (Red Hat Cross 5.2.1-4)
arch/mips/kernel/../../../fs/binfmt_elf.c: In function ‘create_elf_tables’:
./arch/mips/include/asm/elf.h:425:14: error: ‘AT_SYSINFO_EHDR’ undeclared (first use in this function)
NEW_AUX_ENT(AT_SYSINFO_EHDR, \
^
arch/mips/kernel/../../../fs/binfmt_elf.c:222:26: note: in definition of macro ‘NEW_AUX_ENT’
elf_info[ei_index++] = id; \
^
arch/mips/kernel/../../../fs/binfmt_elf.c:233:2: note: in expansion of macro ‘ARCH_DLINFO’
ARCH_DLINFO;
^
./arch/mips/include/asm/elf.h:425:14: note: each undeclared identifier is reported only once for each function it appears in
NEW_AUX_ENT(AT_SYSINFO_EHDR, \
^
arch/mips/kernel/../../../fs/binfmt_elf.c:222:26: note: in definition of macro ‘NEW_AUX_ENT’
elf_info[ei_index++] = id; \
^
arch/mips/kernel/../../../fs/binfmt_elf.c:233:2: note: in expansion of macro ‘ARCH_DLINFO’
ARCH_DLINFO;
^
Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
---
arch/mips/include/asm/auxvec.h | 1 +
1 file changed, 1 insertion(+)
create mode 100644 arch/mips/include/asm/auxvec.h
diff --git a/arch/mips/include/asm/auxvec.h b/arch/mips/include/asm/auxvec.h
new file mode 100644
index 0000000..fbd388c
--- /dev/null
+++ b/arch/mips/include/asm/auxvec.h
@@ -0,0 +1 @@
+#include <uapi/asm/auxvec.h>
--
2.5.0
[toc] | [prev] | [next] | [standalone]
| From | "Maciej W. Rozycki" <macro@imgtec.com> |
|---|---|
| Date | 2016-02-08 18:20 +0100 |
| Subject | Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version |
| Message-ID | <qZXDH-8ih-1@gated-at.bofh.it> |
| In reply to | #1329213 |
On Mon, 8 Feb 2016, Daniel Wagner wrote: > The generic auxvec.h is used instead the arch specific version. > This happens when cross compiling the kernel. > > mips64-linux-gnu-gcc (GCC) 5.2.1 20151104 (Red Hat Cross 5.2.1-4) > > arch/mips/kernel/../../../fs/binfmt_elf.c: In function ‘create_elf_tables’: > ./arch/mips/include/asm/elf.h:425:14: error: ‘AT_SYSINFO_EHDR’ undeclared (first use in this function) There must be something wrong with your setup, or maybe a bug somewhere in our build machinery you just happened to trigger. Most of us routinely use a cross-compiler to build the kernel and you're the first one to report the problem. Can you report the compiler invocation that has lead to this error? Have you used a default config or a custom one? > diff --git a/arch/mips/include/asm/auxvec.h b/arch/mips/include/asm/auxvec.h > new file mode 100644 > index 0000000..fbd388c > --- /dev/null > +++ b/arch/mips/include/asm/auxvec.h > @@ -0,0 +1 @@ > +#include <uapi/asm/auxvec.h> You're not supposed to require a header in asm/ merely to include a header of the same name from uapi/asm/ as there are normally -I./arch/mips/include and -I./arch/mips/include/uapi options present both at once, in this order, on the compiler's invocation line. So: #include <asm/auxvec.h> will pull the header from uapi/asm/ if none is present in asm/. Maciej
[toc] | [prev] | [next] | [standalone]
| From | Daniel Wagner <daniel.wagner@bmw-carit.de> |
|---|---|
| Date | 2016-02-09 08:10 +0100 |
| Subject | Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version |
| Message-ID | <r0aAV-JQ-3@gated-at.bofh.it> |
| In reply to | #1329350 |
Good Morning, On 02/08/2016 06:19 PM, Maciej W. Rozycki wrote: > On Mon, 8 Feb 2016, Daniel Wagner wrote: > >> The generic auxvec.h is used instead the arch specific version. >> This happens when cross compiling the kernel. >> >> mips64-linux-gnu-gcc (GCC) 5.2.1 20151104 (Red Hat Cross 5.2.1-4) >> >> arch/mips/kernel/../../../fs/binfmt_elf.c: In function ‘create_elf_tables’: >> ./arch/mips/include/asm/elf.h:425:14: error: ‘AT_SYSINFO_EHDR’ undeclared (first use in this function) > > There must be something wrong with your setup, or maybe a bug somewhere > in our build machinery you just happened to trigger. Most of us routinely > use a cross-compiler to build the kernel and you're the first one to > report the problem. Yeah, I thought so too and I would also bet on the toolchain. After 'fixing' this small problem I got a nice and shiny binary without any other warnings or errors. > Can you report the compiler invocation that has lead to this error? /usr/bin/mips64-linux-gnu-gcc -Wp,-MD,fs/.binfmt_elf.o.d -nostdinc -isystem /usr/lib/gcc/mips64-linux-gnu/5.2.1/include -I./arch/mips/include -Iarch/mips/include/generated/uapi -Iarch/mips/include/generated -Iinclude -I./arch/mips/include/uapi -Iarch/mips/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -DVMLINUX_LOAD_ADDRESS=0xffffffff88002000 -DDATAOFFSET=0 -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mno-check-zero-division -mabi=32 -G 0 -mno-abicalls -fno-pic -pipe -msoft-float -DGAS_HAS_SET_HARDFLOAT -Wa,-msoft-float -ffreestanding -march=r5000 -Wa,--trap -I./arch/mips/include/asm/mach-ip22 -I./arch/mips/include/asm/mach-generic -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -fno-var-tracking -assignments -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(binfmt_elf)" -D"KBUILD_MODNAME=KBUILD_STR(binfmt_elf)" -c -o fs/.tmp_binfmt_elf.o fs/binfmt_elf.c > Have you used a default config or a custom one? I used the default one per 'make defconfig ARCH=mips CROSS_COMPILE=/usr/bin/mips64-linux-gnu-' with Fedora 23 MIPS cross toolchain. >> diff --git a/arch/mips/include/asm/auxvec.h b/arch/mips/include/asm/auxvec.h >> new file mode 100644 >> index 0000000..fbd388c >> --- /dev/null >> +++ b/arch/mips/include/asm/auxvec.h >> @@ -0,0 +1 @@ >> +#include <uapi/asm/auxvec.h> > > You're not supposed to require a header in asm/ merely to include a > header of the same name from uapi/asm/ as there are normally > -I./arch/mips/include and -I./arch/mips/include/uapi options present both > at once, in this order, on the compiler's invocation line. So: > > #include <asm/auxvec.h> > > will pull the header from uapi/asm/ if none is present in asm/. Okay, thanks for the explanation. I was pretty confused by the build machinery and saw this include for ARM arch which provides also a their own uapi/asm/auxvec.h Also I looked at the cpp output and saw that there was no uapi/asm/auxvec.h included instead it pulls arch/mips/include/generated/uapi/asm/auxvec.h Not working version: # 1 "arch/mips/include/generated/uapi/asm/auxvec.h" 1 # 1 "./include/uapi/asm-generic/auxvec.h" 1 # 1 "arch/mips/include/generated/uapi/asm/auxvec.h" 2 # 5 "include/uapi/linux/auxvec.h" 2 # 5 "include/linux/auxvec.h" 2 # 12 "./arch/mips/include/asm/elf.h" 2 # 1 "include/linux/fs.h" 1 working version: # 1 "./arch/mips/include/asm/auxvec.h" 1 # 1 "./arch/mips/include/uapi/asm/auxvec.h" 1 # 1 "./arch/mips/include/asm/auxvec.h" 2 # 5 "include/uapi/linux/auxvec.h" 2 # 5 "include/linux/auxvec.h" 2 # 12 "./arch/mips/include/asm/elf.h" 2 # 1 "include/linux/fs.h" 1 I've uploaded the cpp output and the config just in case: https://www.monom.org/data/mips/auxvec/ I am still pretty confused about what should happen in which order. Maybe I should call the Confuse-A-Cat squat team. cheers, daniel
[toc] | [prev] | [next] | [standalone]
| From | "Maciej W. Rozycki" <macro@imgtec.com> |
|---|---|
| Date | 2016-02-09 12:50 +0100 |
| Subject | Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version |
| Message-ID | <r0eXT-3rF-1@gated-at.bofh.it> |
| In reply to | #1329946 |
On Tue, 9 Feb 2016, Daniel Wagner wrote:
> Also I looked at the cpp output and saw that there was no uapi/asm/auxvec.h
> included instead it pulls arch/mips/include/generated/uapi/asm/auxvec.h
Hmm, did you update your source in an old build tree and reuse it for a
new build? The rule to make arch/mips/include/generated/uapi/asm/auxvec.h
was removed with commit ebb5e78cc634 ("MIPS: Initial implementation of a
VDSO") as arch/mips/include/uapi/asm/auxvec.h was added, in the 4.4-rc1
timeframe. So the generated version is not supposed to be there anymore.
Can you try `make mrproper' (stash away your .config) and see if the
problem goes away?
Maciej
[toc] | [prev] | [next] | [standalone]
| From | Daniel Wagner <daniel.wagner@bmw-carit.de> |
|---|---|
| Date | 2016-02-09 13:40 +0100 |
| Subject | Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version |
| Message-ID | <r0fKj-41c-27@gated-at.bofh.it> |
| In reply to | #1330123 |
On 02/09/2016 12:46 PM, Maciej W. Rozycki wrote:
> On Tue, 9 Feb 2016, Daniel Wagner wrote:
>
>> Also I looked at the cpp output and saw that there was no uapi/asm/auxvec.h
>> included instead it pulls arch/mips/include/generated/uapi/asm/auxvec.h
>
> Hmm, did you update your source in an old build tree and reuse it for a
> new build? The rule to make arch/mips/include/generated/uapi/asm/auxvec.h
> was removed with commit ebb5e78cc634 ("MIPS: Initial implementation of a
> VDSO") as arch/mips/include/uapi/asm/auxvec.h was added, in the 4.4-rc1
> timeframe. So the generated version is not supposed to be there anymore.
>
> Can you try `make mrproper' (stash away your .config) and see if the
> problem goes away?
Indeed, 'make mrproper' did the trick. I am sorry for the noise. Until
now I never had to use mrproper before and therefore didn't think of it.
Thanks a lot!
Daniel
[toc] | [prev] | [next] | [standalone]
| From | "Maciej W. Rozycki" <macro@imgtec.com> |
|---|---|
| Date | 2016-02-09 16:00 +0100 |
| Subject | Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version |
| Message-ID | <r0hVM-5pW-3@gated-at.bofh.it> |
| In reply to | #1330203 |
On Tue, 9 Feb 2016, Daniel Wagner wrote: > > Can you try `make mrproper' (stash away your .config) and see if the > > problem goes away? > > Indeed, 'make mrproper' did the trick. I am sorry for the noise. Until > now I never had to use mrproper before and therefore didn't think of it. People have been being hit by stale generated files recently and I reckon effort has been taken to address the issue by removing them automagically somehow on rebuilds. Until that has been complete you're advised to clean your build tree after an update, or maybe rebuild speculatively and then clean only if something actually breaks. Maciej
[toc] | [prev] | [next] | [standalone]
| From | Daniel Wagner <daniel.wagner@bmw-carit.de> |
|---|---|
| Date | 2016-02-10 10:00 +0100 |
| Subject | Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version |
| Message-ID | <r0yMW-8kM-7@gated-at.bofh.it> |
| In reply to | #1330298 |
On 02/09/2016 03:51 PM, Maciej W. Rozycki wrote: > On Tue, 9 Feb 2016, Daniel Wagner wrote: > >>> Can you try `make mrproper' (stash away your .config) and see if the >>> problem goes away? >> >> Indeed, 'make mrproper' did the trick. I am sorry for the noise. Until >> now I never had to use mrproper before and therefore didn't think of it. > > People have been being hit by stale generated files recently and I reckon > effort has been taken to address the issue by removing them automagically > somehow on rebuilds. Until that has been complete you're advised to clean > your build tree after an update, or maybe rebuild speculatively and then > clean only if something actually breaks. FWIW, I just found out that running mrproper before building fuloong2e_defconfig is fixing the problem reported kbuild robot too.
[toc] | [prev] | [next] | [standalone]
| From | Daniel Wagner <daniel.wagner@bmw-carit.de> |
|---|---|
| Date | 2016-02-08 16:50 +0100 |
| Subject | [PATCH v3 2/3] crash_dump: Add vmcore_elf32_check_arch |
| Message-ID | <qZWeC-7eV-27@gated-at.bofh.it> |
| In reply to | #1329206 |
parse_crash_elf{32|64}_headers will check the headers via the
elf_check_arch respectively vmcore_elf64_check_arch macro.
The MIPS architecture implements those two macros differently.
In order to make the differentiation more explicit, let's introduce
an vmcore_elf32_check_arch to allow the archs to overwrite it.
Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Suggested-by: Maciej W. Rozycki <macro@imgtec.com>
---
fs/proc/vmcore.c | 2 +-
include/linux/crash_dump.h | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c
index 4e61388..c8ed209 100644
--- a/fs/proc/vmcore.c
+++ b/fs/proc/vmcore.c
@@ -1068,7 +1068,7 @@ static int __init parse_crash_elf32_headers(void)
/* Do some basic Verification. */
if (memcmp(ehdr.e_ident, ELFMAG, SELFMAG) != 0 ||
(ehdr.e_type != ET_CORE) ||
- !elf_check_arch(&ehdr) ||
+ !vmcore_elf32_check_arch(&ehdr) ||
ehdr.e_ident[EI_CLASS] != ELFCLASS32||
ehdr.e_ident[EI_VERSION] != EV_CURRENT ||
ehdr.e_version != EV_CURRENT ||
diff --git a/include/linux/crash_dump.h b/include/linux/crash_dump.h
index 3849fce..3873697 100644
--- a/include/linux/crash_dump.h
+++ b/include/linux/crash_dump.h
@@ -34,9 +34,13 @@ void vmcore_cleanup(void);
/*
* Architecture code can redefine this if there are any special checks
- * needed for 64-bit ELF vmcores. In case of 32-bit only architecture,
- * this can be set to zero.
+ * needed for 32-bit ELF or 64-bit ELF vmcores. In case of 32-bit
+ * only architecture, vmcore_elf64_check_arch can be set to zero.
*/
+#ifndef vmcore_elf32_check_arch
+#define vmcore_elf32_check_arch(x) elf_check_arch(x)
+#endif
+
#ifndef vmcore_elf64_check_arch
#define vmcore_elf64_check_arch(x) (elf_check_arch(x) || vmcore_elf_check_arch_cross(x))
#endif
--
2.5.0
[toc] | [prev] | [next] | [standalone]
| From | "Maciej W. Rozycki" <macro@imgtec.com> |
|---|---|
| Date | 2016-02-08 18:10 +0100 |
| Subject | Re: [PATCH v3 2/3] crash_dump: Add vmcore_elf32_check_arch |
| Message-ID | <qZXu3-8en-45@gated-at.bofh.it> |
| In reply to | #1329214 |
On Mon, 8 Feb 2016, Daniel Wagner wrote:
> parse_crash_elf{32|64}_headers will check the headers via the
> elf_check_arch respectively vmcore_elf64_check_arch macro.
>
> The MIPS architecture implements those two macros differently.
> In order to make the differentiation more explicit, let's introduce
> an vmcore_elf32_check_arch to allow the archs to overwrite it.
>
> Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
> Suggested-by: Maciej W. Rozycki <macro@imgtec.com>
> ---
Reviewed-by: Maciej W. Rozycki <macro@imgtec.com>
Maciej
[toc] | [prev] | [next] | [standalone]
| From | Daniel Wagner <daniel.wagner@bmw-carit.de> |
|---|---|
| Date | 2016-01-29 14:30 +0100 |
| Subject | [PATCH] video: Use bool instead int pointer for get_opt_bool() argument |
| Message-ID | <qWhhD-3Fy-7@gated-at.bofh.it> |
| In reply to | #1320764 |
As the function name already indicates that get_opt_bool() parses
for a bool. It is not a surprise that compiler is complaining
about it when -Werror=incompatible-pointer-types is used:
drivers/video/fbdev/intelfb/intelfbdrv.c: In function ‘intelfb_setup’:
drivers/video/fbdev/intelfb/intelfbdrv.c:353:39: error: passing argument 3 of ‘get_opt_bool’ from incompatible pointer type [-Werror=incompatible-pointer-types]
if (get_opt_bool(this_opt, "accel", &accel))
Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
---
Hi,
In the 'simple wait queue support' series is a patch
which turns on -Werror=incompatible-pointer-types which will
result in a compile error for intelfb.
https://lkml.org/lkml/2016/1/28/462
Even if that patch wont make it, this one makes sense (at least
for me :))
I'll prepend this patch to the next version of the series in order
to see if I got rid of all incompatible pointer types errors caught
by the kbuild test robot.
cheers,
daniel
drivers/video/fbdev/intelfb/intelfbdrv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/intelfb/intelfbdrv.c b/drivers/video/fbdev/intelfb/intelfbdrv.c
index bbec737..bf20744 100644
--- a/drivers/video/fbdev/intelfb/intelfbdrv.c
+++ b/drivers/video/fbdev/intelfb/intelfbdrv.c
@@ -302,7 +302,7 @@ static __inline__ int get_opt_int(const char *this_opt, const char *name,
}
static __inline__ int get_opt_bool(const char *this_opt, const char *name,
- int *ret)
+ bool *ret)
{
if (!ret)
return 0;
--
2.5.0
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | linux.kernel
csiph-web