[PATCH] x86-64: fix vDSO build

From: Jan Beulich
Date: Thu Jul 03 2014 - 10:34:43 EST


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@xxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
---
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/