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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171108160321.GC4333@kernel.org>
Date:   Wed, 8 Nov 2017 13:03:21 -0300
From:   Arnaldo Carvalho de Melo <acme@...nel.org>
To:     Jiri Olsa <jolsa@...nel.org>
Cc:     lkml <linux-kernel@...r.kernel.org>,
        Ingo Molnar <mingo@...nel.org>,
        Namhyung Kim <namhyung@...nel.org>,
        David Ahern <dsahern@...il.com>,
        Peter Zijlstra <a.p.zijlstra@...llo.nl>
Subject: Re: [PATCH 2/3] perf tools: Fix build for hardened environments

Em Wed, Nov 08, 2017 at 11:27:38AM +0100, Jiri Olsa escreveu:
> From: Jiri Olsa <jolsa@...hat.com>
> 
> On Fedora systems the perl and python CFLAGS/LDFLAGS include the
> hardened specs from redhat-rpm-config package. We apply them only
> for perl/python objects, which makes them not compatible with the
> rest of the objects and the build fails with:
> 
>   /usr/bin/ld: perf-in.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
>   /usr/bin/ld: libperf.a(libperf-in.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
>   /usr/bin/ld: final link failed: Nonrepresentable section on output
>   collect2: error: ld returned 1 exit status
>   make[2]: *** [Makefile.perf:507: perf] Error 1
>   make[1]: *** [Makefile.perf:210: sub-make] Error 2
>   make: *** [Makefile:69: all] Error 2
> 
> Mainly it's caused by perl/python objects being compiled with:
> 
>   -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
> 
> which prevent the final link impossible, because it will check
> for 'proper' objects with following option:
> 
>   -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
> 
> Fixing this by using the perl/python CFLAGS/LDFLAGS options
> for all the objects.

Humm, so we're basically using the hardened config only we build with
PERL or PYTHON, should we use that always, i.e. ask the distro what set
of flags we should use?

What other impacts this may have on using this for all of the tools?
I.e. we could conceivably just remove that part from the perl/python
builds and make them use what has been used for the rest of the tools
instead?

- Arnaldo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ