From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753713AbbIOQ52 (ORCPT ); Tue, 15 Sep 2015 12:57:28 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:43645 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751960AbbIOQ5Y (ORCPT ); Tue, 15 Sep 2015 12:57:24 -0400 Date: Tue, 15 Sep 2015 11:57:00 -0500 From: Chris J Arges To: Josh Poimboeuf Cc: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, linux-kernel@vger.kernel.org, live-patching@vger.kernel.org, Michal Marek , Peter Zijlstra , Andy Lutomirski , Borislav Petkov , Linus Torvalds , Andi Kleen , Pedro Alves , Namhyung Kim , Bernd Petrovitsch , Andrew Morton , Konrad Rzeszutek Wilk , Boris Ostrovsky , David Vrabel , Jeremy Fitzhardinge , Chris Wright , Alok Kataria , Rusty Russell , Herbert Xu , "David S. Miller" , Pavel Machek , "Rafael J. Wysocki" , Len Brown , Matt Fleming Subject: Re: [PATCH v12 00/21] Compile-time stack metadata validation Message-ID: <20150915165659.GA11492@canonical.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I got the following compiler error when building v12 of this patchset: DESCEND stacktool CC stacktool.o CC elf.o CC special.o CC arch/x86/decode.o LD arch/x86/stacktool-in.o LD stacktool-in.o Warning: stacktool: x86 instruction decoder differs from kernel LINK stacktool stacktool-in.o: In function `elf_close': (.text+0xe7c): undefined reference to `elf_end' stacktool-in.o: In function `elf_open': (.text+0xec7): undefined reference to `elf_version' stacktool-in.o: In function `elf_open': (.text+0xf29): undefined reference to `elf_begin' stacktool-in.o: In function `elf_open': (.text+0xf42): undefined reference to `gelf_getehdr' stacktool-in.o: In function `elf_open': (.text+0xf59): undefined reference to `elf_getshdrnum' stacktool-in.o: In function `elf_open': (.text+0xf6f): undefined reference to `elf_getshdrstrndx' stacktool-in.o: In function `elf_open': (.text+0xfc9): undefined reference to `elf_getscn' stacktool-in.o: In function `elf_open': (.text+0xfdd): undefined reference to `elf_ndxscn' stacktool-in.o: In function `elf_open': (.text+0xff2): undefined reference to `gelf_getshdr' stacktool-in.o: In function `elf_open': (.text+0x100e): undefined reference to `elf_strptr' stacktool-in.o: In function `elf_open': (.text+0x1029): undefined reference to `elf_getdata' stacktool-in.o: In function `elf_open': (.text+0x1101): undefined reference to `elf_nextscn' stacktool-in.o: In function `elf_open': (.text+0x119e): undefined reference to `gelf_getsym' stacktool-in.o: In function `elf_open': (.text+0x11b8): undefined reference to `elf_strptr' stacktool-in.o: In function `elf_open': (.text+0x13d4): undefined reference to `gelf_getrela' collect2: error: ld returned 1 exit status Makefile:33: recipe for target 'stacktool' failed make[2]: *** [stacktool] Error 1 Makefile:53: recipe for target 'stacktool' failed make[1]: *** [stacktool] Error 2 Makefile:1502: recipe for target 'tools/stacktool' failed make: *** [tools/stacktool] Error 2 The patch below addresses this issue for me. -- >>From 9ec5827aa726300394c0155657820f2595008116 Mon Sep 17 00:00:00 2001 From: Chris J Arges Date: Tue, 15 Sep 2015 16:45:27 +0000 Subject: [PATCH] x86/stacktool: Fix LDFLAGS order in Makefile When building tools/stacktool I get a compiler error which causes libelf to not properly link. This patch adjusts the LDFLAG after the object file, which allows gcc to properly link. Signed-off-by: Chris J Arges --- tools/stacktool/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/stacktool/Makefile b/tools/stacktool/Makefile index 87a3ee0..9f5d2f9 100644 --- a/tools/stacktool/Makefile +++ b/tools/stacktool/Makefile @@ -39,7 +39,7 @@ $(STACKTOOL): $(STACKTOOL_IN) diff -I'^#include' arch/x86/insn/inat.h ../../arch/x86/include/asm/inat.h >/dev/null && \ diff -I'^#include' arch/x86/insn/inat_types.h ../../arch/x86/include/asm/inat_types.h >/dev/null) \ || echo "Warning: stacktool: x86 instruction decoder differs from kernel" >&2 )) || true - $(QUIET_LINK)$(CC) $(LDFLAGS) $(STACKTOOL_IN) -o $@ + $(QUIET_LINK)$(CC) $(STACKTOOL_IN) $(LDFLAGS) -o $@ clean: $(call QUIET_CLEAN, stacktool) $(RM) $(STACKTOOL) -- 2.5.0