Hi Arnaldo,

On Wed, Dec 06, 2017 at 11:40:57AM -0300, Arnaldo Carvalho de Melo wrote:
> From: Hendrik Brueckner <brueck...@linux.vnet.ibm.com>
> 
> On s390, object files must be compiled with position-indepedent code in
> order to be incrementally linked or linked to shared libraries.
> Therefore, add -fPIC to the CFLAGS for s390 to ensure each object file
> is built properly.
> 
> Reported-by: Jonathan Hermann <jonathan.herm...@de.ibm.com>
> Signed-off-by: Hendrik Brueckner <brueck...@linux.vnet.ibm.com>
> Cc: Heiko Carstens <heiko.carst...@de.ibm.com>
> Cc: Martin Schwidefsky <schwidef...@de.ibm.com>
> Cc: Thomas Richter <tmri...@linux.vnet.ibm.com>
> Cc: linux s390 list <linux-s...@vger.kernel.org>
> LPU-Reference: 1512031765-9382-1-git-send-email-brueck...@linux.vnet.ibm.com
> Link: https://lkml.kernel.org/n/tip-a8wga8hrl0d0r84cal96f...@git.kernel.org
> Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
> ---
>  tools/perf/Makefile.config | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index 2c437baf8364..bf86c09ca889 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -41,6 +41,7 @@ ifeq ($(SRCARCH),x86)
>      LIBUNWIND_LIBS = -lunwind-x86 -llzma -lunwind
>    endif
>    NO_PERF_REGS := 0
> +  CFLAGS += -fPIC
>  endif

I was just rebasing my syscall table work on top of your perf/core tree.
It looks like that there is a significant difference compared to linux
master tree.

With f704ef44602fbf403e6722c7ed13f62d17e8cb20 ("s390/perf: add support for
perf_regs and libdw"), Heiko introduced a change in the Makefile.config:

        --- a/tools/perf/Makefile.config
        +++ b/tools/perf/Makefile.config
        @@ -53,6 +53,10 @@ ifeq ($(SRCARCH),arm64)
           LIBUNWIND_LIBS = -lunwind -lunwind-aarch64
            endif
             
        +ifeq ($(ARCH),s390)
        +  NO_PERF_REGS := 0
        +endif
        +
        ifeq ($(NO_PERF_REGS),0)

The CFLAGS actually should applied to the s390 block and not in the x86
block.  Somehow this got messed up with git cherryp-pick / am.  So actually,
this should go into the section above:

diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index ed65e82..0833d9f 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -55,6 +55,7 @@ endif
 
 ifeq ($(ARCH),s390)
   NO_PERF_REGS := 0
+  CFLAGS += -fPIC
 endif
 
 ifeq ($(NO_PERF_REGS),0)

Reply via email to