* Re: [PATCH] x86-64: fix vDSO build
2014-07-03 14:34 [PATCH] x86-64: fix vDSO build Jan Beulich
@ 2014-07-03 15:33 ` Andy Lutomirski
2014-07-03 23:09 ` Boris Ostrovsky
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Andy Lutomirski @ 2014-07-03 15:33 UTC (permalink / raw)
To: Jan Beulich
Cc: Ingo Molnar, Thomas Gleixner, H. Peter Anvin,
linux-kernel@vger.kernel.org
On Thu, Jul 3, 2014 at 7:34 AM, Jan Beulich <JBeulich@suse.com> wrote:
> Certain ld versions (observed with 2.20.0) put an empty .rela.dyn
> section into shared object files, breaking the assumption on the number
> of sections to be copied to the final output. Simply discard any empty
> SHT_REL and SHT_RELA sections to address this.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Cc: Andy Lutomirski <luto@amacapital.net>
Acked-by: Andy Lutomirski <luto@amacapital.net>
although I'm hoping to get rid of this section copying crap soon anyway.
--Andy
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] x86-64: fix vDSO build
2014-07-03 14:34 [PATCH] x86-64: fix vDSO build Jan Beulich
2014-07-03 15:33 ` Andy Lutomirski
@ 2014-07-03 23:09 ` Boris Ostrovsky
2014-07-09 23:30 ` Andrew Morton
2014-07-10 23:04 ` [tip:x86/urgent] x86-64, vdso: Fix vDSO build breakage due to empty .rela.dyn tip-bot for Jan Beulich
3 siblings, 0 replies; 5+ messages in thread
From: Boris Ostrovsky @ 2014-07-03 23:09 UTC (permalink / raw)
To: Jan Beulich
Cc: mingo, tglx, hpa, Andy Lutomirski, linux-kernel,
Konrad Rzeszutek Wilk
On 07/03/2014 10:34 AM, Jan Beulich wrote:
> Certain ld versions (observed with 2.20.0) put an empty .rela.dyn
> section into shared object files, breaking the assumption on the number
> of sections to be copied to the final output. Simply discard any empty
> SHT_REL and SHT_RELA sections to address this.
Tested-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Cc: Andy Lutomirski <luto@amacapital.net>
> ---
> arch/x86/vdso/vdso2c.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> --- 3.16-rc3/arch/x86/vdso/vdso2c.h
> +++ 3.16-rc3-x86-vdso-build/arch/x86/vdso/vdso2c.h
> @@ -93,6 +93,9 @@ static void BITSFUNC(copy_section)(struc
> uint64_t flags = GET_LE(&in->sh_flags);
>
> bool copy = flags & SHF_ALLOC &&
> + (GET_LE(&in->sh_size) ||
> + (GET_LE(&in->sh_type) != SHT_RELA &&
> + GET_LE(&in->sh_type) != SHT_REL)) &&
> strcmp(name, ".altinstructions") &&
> strcmp(name, ".altinstr_replacement");
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] x86-64: fix vDSO build
2014-07-03 14:34 [PATCH] x86-64: fix vDSO build Jan Beulich
2014-07-03 15:33 ` Andy Lutomirski
2014-07-03 23:09 ` Boris Ostrovsky
@ 2014-07-09 23:30 ` Andrew Morton
2014-07-10 23:04 ` [tip:x86/urgent] x86-64, vdso: Fix vDSO build breakage due to empty .rela.dyn tip-bot for Jan Beulich
3 siblings, 0 replies; 5+ messages in thread
From: Andrew Morton @ 2014-07-09 23:30 UTC (permalink / raw)
To: Jan Beulich; +Cc: mingo, tglx, hpa, Andy Lutomirski, linux-kernel
On Thu, 03 Jul 2014 15:34:38 +0100 "Jan Beulich" <JBeulich@suse.com> wrote:
> Certain ld versions (observed with 2.20.0) put an empty .rela.dyn
> section into shared object files, breaking the assumption on the number
> of sections to be copied to the final output. Simply discard any empty
> SHT_REL and SHT_RELA sections to address this.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Cc: Andy Lutomirski <luto@amacapital.net>
> ---
> arch/x86/vdso/vdso2c.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> --- 3.16-rc3/arch/x86/vdso/vdso2c.h
> +++ 3.16-rc3-x86-vdso-build/arch/x86/vdso/vdso2c.h
> @@ -93,6 +93,9 @@ static void BITSFUNC(copy_section)(struc
> uint64_t flags = GET_LE(&in->sh_flags);
>
> bool copy = flags & SHF_ALLOC &&
> + (GET_LE(&in->sh_size) ||
> + (GET_LE(&in->sh_type) != SHT_RELA &&
> + GET_LE(&in->sh_type) != SHT_REL)) &&
> strcmp(name, ".altinstructions") &&
> strcmp(name, ".altinstr_replacement");
Tested-by: Andrew Morton <akpm@linux-foundation.org>
(hint)
^ permalink raw reply [flat|nested] 5+ messages in thread
* [tip:x86/urgent] x86-64, vdso: Fix vDSO build breakage due to empty .rela.dyn
2014-07-03 14:34 [PATCH] x86-64: fix vDSO build Jan Beulich
` (2 preceding siblings ...)
2014-07-09 23:30 ` Andrew Morton
@ 2014-07-10 23:04 ` tip-bot for Jan Beulich
3 siblings, 0 replies; 5+ messages in thread
From: tip-bot for Jan Beulich @ 2014-07-10 23:04 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, hpa, mingo, boris.ostrovsky, jbeulich, luto, akpm,
JBeulich, tglx, hpa
Commit-ID: 9f88b906b4455465d60ac18b8c95904f320038d5
Gitweb: http://git.kernel.org/tip/9f88b906b4455465d60ac18b8c95904f320038d5
Author: Jan Beulich <JBeulich@suse.com>
AuthorDate: Thu, 3 Jul 2014 15:34:38 +0100
Committer: H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Thu, 10 Jul 2014 15:59:56 -0700
x86-64, vdso: Fix vDSO build breakage due to empty .rela.dyn
Certain ld versions (observed with 2.20.0) put an empty .rela.dyn
section into shared object files, breaking the assumption on the number
of sections to be copied to the final output. Simply discard any empty
SHT_REL and SHT_RELA sections to address this.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Link: http://lkml.kernel.org/r/53B5861E02000078000204D1@mail.emea.novell.com
Acked-by: Andy Lutomirski <luto@amacapital.net>
Tested-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Tested-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
arch/x86/vdso/vdso2c.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/vdso/vdso2c.h b/arch/x86/vdso/vdso2c.h
index df95a2f..11b65d4 100644
--- a/arch/x86/vdso/vdso2c.h
+++ b/arch/x86/vdso/vdso2c.h
@@ -93,6 +93,9 @@ static void BITSFUNC(copy_section)(struct BITSFUNC(fake_sections) *out,
uint64_t flags = GET_LE(&in->sh_flags);
bool copy = flags & SHF_ALLOC &&
+ (GET_LE(&in->sh_size) ||
+ (GET_LE(&in->sh_type) != SHT_RELA &&
+ GET_LE(&in->sh_type) != SHT_REL)) &&
strcmp(name, ".altinstructions") &&
strcmp(name, ".altinstr_replacement");
^ permalink raw reply related [flat|nested] 5+ messages in thread