[opensuse-factory] Staging report: PIE for everyone
Hi, The "build all binaries with PIE" has been proceeding slowly. - gcc-PIE package is in Tumbleweed, after installing it PIE is default. - making it default will be done via Requires in the "rpm-build" subpackage of rpm. https://build.opensuse.org/project/show/openSUSE:Factory:Staging:PIE is tracking build. - kmod: bug was exposed by PIE building, fix submitted and upstream. - cmake: the newer "file" in Factory broke "PIE binary" detection in cmake. SRed to devel project and mailed upstream - various package using assembler that uses %EBX (PIC register for x86). Common pattern seems to be inline "cpuid" assembler, as CPUID reports some flags in %EBX. I fixed one or two, for others building without PIE is probably better (syslinux and memtest86+) - kernel does not build (just does not like PIC building) - gcc48 does not build (not debugged yet) Ciao, Marcus -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
В Mon, 23 Feb 2015 13:14:14 +0100 Marcus Meissner <meissner@suse.de> пишет:
- various package using assembler that uses %EBX (PIC register for x86). Common pattern seems to be inline "cpuid" assembler, as CPUID reports some flags in %EBX.
I fixed one or two, for others building without PIE is probably better (syslinux and memtest86+)
I do not think it is wise to mess with such low level programs - they usually know better what they need. What is going to relocate them anyway? -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Mon, Feb 23, 2015 at 07:55:09PM +0300, Andrei Borzenkov wrote:
В Mon, 23 Feb 2015 13:14:14 +0100 Marcus Meissner <meissner@suse.de> пишет:
- various package using assembler that uses %EBX (PIC register for x86). Common pattern seems to be inline "cpuid" assembler, as CPUID reports some flags in %EBX.
I fixed one or two, for others building without PIE is probably better (syslinux and memtest86+)
I do not think it is wise to mess with such low level programs - they usually know better what they need. What is going to relocate them anyway?
Yes these two are not run under Linux necessarily. Disabling PIE is ok for them. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Monday 2015-02-23 13:14, Marcus Meissner wrote:
The "build all binaries with PIE" has been proceeding slowly.
- gcc-PIE package is in Tumbleweed, after installing it PIE is default. - making it default will be done via Requires in the "rpm-build" subpackage of rpm.
So, what's the preferred way to disable PIE in case we have a package with assembler in it? -fno-PIE, or some !BuildIgnore: gcc-PIE? -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Thu, Mar 05, 2015 at 01:13:01PM +0100, Jan Engelhardt wrote:
On Monday 2015-02-23 13:14, Marcus Meissner wrote:
The "build all binaries with PIE" has been proceeding slowly.
- gcc-PIE package is in Tumbleweed, after installing it PIE is default. - making it default will be done via Requires in the "rpm-build" subpackage of rpm.
So, what's the preferred way to disable PIE in case we have a package with assembler in it? -fno-PIE, or some !BuildIgnore: gcc-PIE?
Better would be first, so -fno-PIE for ones where it is easy to inject, but if it is too hard to fumble into Makefiles, the secondary option. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (3)
-
Andrei Borzenkov
-
Jan Engelhardt
-
Marcus Meissner