lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Fri, 09 Aug 2013 15:17:27 +0900
From:	Namhyung Kim <namhyung@...nel.org>
To:	Arnaldo Carvalho de Melo <acme@...stprotocols.net>
Cc:	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Paul Mackerras <paulus@...ba.org>,
	Ingo Molnar <mingo@...nel.org>,
	Namhyung Kim <namhyung.kim@....com>,
	LKML <linux-kernel@...r.kernel.org>,
	Pekka Enberg <penberg@...nel.org>,
	Andi Kleen <andi@...stfloor.org>, Jiri Olsa <jolsa@...hat.com>,
	Andi Kleen <ak@...ux.intel.com>
Subject: Re: [PATCH 1/3] perf tools: Separate out GTK codes to libperf-gtk.so

Hi Arnaldo,

On Thu, 8 Aug 2013 12:21:16 -0300, Arnaldo Carvalho de Melo wrote:
> Em Thu, Aug 08, 2013 at 03:34:08PM +0900, Namhyung Kim escreveu:
>> Separate out GTK codes to a shared object called libperf-gtk.so.  This
>> time only GTK codes are built with -fPIC and libperf remains as is.
>
> [acme@...dy linux]$ cat /etc/fedora-release 
> Fedora release 18 (Spherical Cow)
> [acme@...dy linux]$ 
>
> Applying: perf tools: Separate out GTK codes to libperf-gtk.so
> [perf/core c1ca5ea] perf tools: Separate out GTK codes to libperf-gtk.so
>  Author: Namhyung Kim <namhyung@...nel.org>
>  2 files changed, 38 insertions(+), 15 deletions(-)
> [acme@...dy linux]$ make -j8 O=/tmp/build/perf -C tools/perf/ install-bin
>     CHK -fstack-protector-all
> <SNIP>
>     CC /tmp/build/perf/scripts/perl/Perf-Trace-Util/Context.o
>     CC /tmp/build/perf/util/scripting-engines/trace-event-python.o
>     CC /tmp/build/perf/scripts/python/Perf-Trace-Util/Context.o
>     GEN perf-archive
>     GEN /tmp/build/perf/python/perf.so
>     CC /tmp/build/perf/perf.o
>     AR /tmp/build/perf/libperf.a
>     LINK /tmp/build/perf/perf
>     LINK /tmp/build/perf/libperf-gtk.so
> /usr/bin/ld: /tmp/build/perf/ui/gtk/browser.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
> /tmp/build/perf/ui/gtk/browser.o: could not read symbols: Bad value

Hmm.. this looks like the browser.o previously built without -fPIC.


> collect2: error: ld returned 1 exit status
> make: *** [/tmp/build/perf/libperf-gtk.so] Error 1
> make: *** Waiting for unfinished jobs....
> make: Leaving directory `/home/acme/git/linux/tools/perf'
> [acme@...dy linux]$
>
> And if I just do:
>
> [acme@...dy linux]$ rm -rf /tmp/build/perf
> [acme@...dy linux]$ mkdir /tmp/build/perf
> [acme@...dy linux]$ make -j8 O=/tmp/build/perf -C tools/perf/ install-bin
>     CHK -fstack-protector-all
>     CHK -Wstack-protector
>     CHK -Wvolatile-register-var
>     CHK -D_FORTIFY_SOURCE=2
>     CHK bionic
>     CHK libelf
>     CHK libdw
>     CHK -DLIBELF_MMAP
>     CHK -DLIBELF_MMAP
>     CHK libunwind
>     CHK libaudit
>     CHK libslang
>     CHK gtk2
>     CHK -DHAVE_GTK_INFO_BAR
>     CHK perl
>     CHK python
>     CHK python version
>     CHK libbfd
>     CHK -DHAVE_STRLCPY
>     CHK -DHAVE_ON_EXIT
>     CHK -DBACKTRACE_SUPPORT
>     CHK libnuma
> make: Entering directory `/home/acme/git/linux/tools/perf'
>     MKDIR /tmp/build/perf/arch/
>     MKDIR /tmp/build/perf/arch/x86/util/
>     MKDIR /tmp/build/perf/bench/
>     MKDIR /tmp/build/perf/scripts/perl/Perf-Trace-Util/
>     MKDIR /tmp/build/perf/scripts/python/Perf-Trace-Util/
>     MKDIR /tmp/build/perf/ui/
>     MKDIR /tmp/build/perf/ui/browsers/
>     MKDIR /tmp/build/perf/tests/
>     MKDIR /tmp/build/perf/ui/stdio/
>     MKDIR /tmp/build/perf/ui/tui/
>     MKDIR /tmp/build/perf/util/
>     MKDIR /tmp/build/perf/util/scripting-engines/
>     * new build flags or prefix
>     BISON /tmp/build/perf/util/pmu-bison.c
>     CC /tmp/build/perf/util/environment.o
> <SNIP>
>     CC /tmp/build/perf/builtin-buildid-cache.o
> Assembler messages:
> Fatal error: can't create /tmp/build/perf/ui/gtk/setup.o: No such file or directory
> make: *** [/tmp/build/perf/ui/gtk/setup.o] Error 1
> make: *** Waiting for unfinished jobs....
> Assembler messages:
> Fatal error: can't create /tmp/build/perf/ui/gtk/util.o: No such file or directory
> make: *** [/tmp/build/perf/ui/gtk/util.o] Error 1
> Assembler messages:
> Fatal error: can't create /tmp/build/perf/ui/gtk/progress.o: No such file or directory
> make: *** [/tmp/build/perf/ui/gtk/progress.o] Error 1
> Assembler messages:
> Fatal error: can't create /tmp/build/perf/ui/gtk/browser.o: No such file or directory
> make: *** [/tmp/build/perf/ui/gtk/browser.o] Error 1
> Assembler messages:
> Fatal error: can't create /tmp/build/perf/ui/gtk/helpline.o: No such file or directory
> make: *** [/tmp/build/perf/ui/gtk/helpline.o] Error 1
> Assembler messages:
> Fatal error: can't create /tmp/build/perf/ui/gtk/annotate.o: No such file or directory
> make: *** [/tmp/build/perf/ui/gtk/annotate.o] Error 1
> Assembler messages:
> Fatal error: can't create /tmp/build/perf/ui/gtk/hists.o: No such file or directory
> make: *** [/tmp/build/perf/ui/gtk/hists.o] Error 1
> make: Leaving directory `/home/acme/git/linux/tools/perf'
> [acme@...dy linux]$ 

Argh... sorry about that.  I forgot to add GTK_OBJS to DIRECTORY_DEPS.
Will send v4 soon.

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ