Re: Investigation of the F23 mass rebuild

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 2, 2015 at 7:49 AM, Adam Jackson <ajax@xxxxxxxxxx> wrote:
>
> ....Since the change was
> done by changing the rpm build macros, I think we can conclude that the
> build macros aren't being applied. Granted, packages can disable the
> hardened build macros, but the packages I've called out above aren't
> trying to disable them, or at least not doing so with %undefine.
>
>...
> - ajax

The problem is that some packages just look at the CFLAGS & CXXFLAGS.
They ignore the LDFLAGS.

The rpm build macros says to link with -pie and to add -z now in the LDFLAGS.

If you were to move those to the CFLAGS section the remaining packages
should get hardened.

As an example, this was the situation for Firefox:
http://pkgs.fedoraproject.org/cgit/firefox.git/commit/?id=ded1820a4f7f445b440a40a0e584bf3038307066

-----------------------------------

Then we come to the part where it says if it is not shared only then
add -pie. Is that really required? You can link shared libraries with
-pie http://sourceware.org/ml/binutils/2009-10/msg00088.html

So in another scenario, for example the LDFLAGS of the tracker.spec
had -fPIC so it did not get linked with -pie even though it is an
executable that runs at startup.

The point I am trying to get at is that if you do decide to move -pie
to the CFLAGS section please consider removing the !shared
requirement.

And if you do decide to move -Wl,-z,now to the CFLAGS please consider
adding a rule if it is not -Wl,-z,lazy. Probably something like this:
%{!-Wl,-z,lazy:-Wl,-z,now}

- Moez
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux