Skip to contentSkip to conversation

cifs-utils: unconditionally disable PIE

PATCH New Thomas Petazzoni 2 participants 3 messages May 7, 2018 – May 28, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 cifs-utils: unconditionally disable PIE

PIE support in Buildroot should be enabled via the global option BR2_RELRO_FULL option, and not done on a per-package basis, therefore PIE should unconditionally be disabled in the cifs-utils package.

This has the added side-effect that it works around a binutils bug on SPARC causing the linker to segfault when PIE is enabled:

sparc-linux-gcc -Wall -Wextra -D_FORTIFY_SOURCE=2 -fpie -pie -Wl,-z,relro,-z,now -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -o mount.cifs mount.cifs.o mtab.o resolve_host.o util.o -lcap-ng
collect2: fatal error: ld terminated with signal 6 [Aborted], core dumped

This issue will reappear when we start testing BR2_RELRO_FULL in the autobuilders, but in the mean time it avoids the problem.

Fixes:

http://autobuild.buildroot.net/results/a5342890f39bdccae1324e7d3dbe0eab1aad28e5/

---
 package/cifs-utils/cifs-utils.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
package/cifs-utils/cifs-utils.mk +3 -3
index 9044fdf83c..9343e3ea89 100644
@@ -13,9 +13,9 @@ CIFS_UTILS_LICENSE_FILES = COPYING
 CIFS_UTILS_AUTORECONF = YES
 CIFS_UTILS_DEPENDENCIES = host-pkgconf
 
-ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),)
-CIFS_UTILS_CONF_OPTS += --disable-pie
-endif
+# Let's disable PIE unconditionally. We want PIE to be enabled only by
+# the global BR2_RELRO_FULL option.
+CIFS_UTILS_CONF_OPTS = --disable-pie
 
 ifeq ($(BR2_PACKAGE_KEYUTILS),y)
 CIFS_UTILS_DEPENDENCIES += keyutils
Signature · 1 line
2.14.3
author Applied
#1 lore raw

PATCH 1/1 cifs-utils: unconditionally disable PIE

Hello,

Quoted 13 lines · Thomas Petazzoni

PIE support in Buildroot should be enabled via the global option BR2_RELRO_FULL option, and not done on a per-package basis, therefore PIE should unconditionally be disabled in the cifs-utils package.

This has the added side-effect that it works around a binutils bug on SPARC causing the linker to segfault when PIE is enabled:

sparc-linux-gcc -Wall -Wextra -D_FORTIFY_SOURCE=2 -fpie -pie -Wl,-z,relro,-z,now -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -o mount.cifs mount.cifs.o mtab.o resolve_host.o util.o -lcap-ng
collect2: fatal error: ld terminated with signal 6 [Aborted], core dumped

This issue will reappear when we start testing BR2_RELRO_FULL in the autobuilders, but in the mean time it avoids the problem.

Quoted 8 lines

Fixes:

http://autobuild.buildroot.net/results/a5342890f39bdccae1324e7d3dbe0eab1aad28e5/

---
 package/cifs-utils/cifs-utils.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#2 lore raw

PATCH 1/1 cifs-utils: unconditionally disable PIE

In reply to Thomas Petazzoni
Quoted 12 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

PIE support in Buildroot should be enabled via the global option BR2_RELRO_FULL option, and not done on a per-package basis, therefore PIE should unconditionally be disabled in the cifs-utils package.

This has the added side-effect that it works around a binutils bug on SPARC causing the linker to segfault when PIE is enabled:

sparc-linux-gcc -Wall -Wextra -D_FORTIFY_SOURCE=2 -fpie -pie -Wl,-z,relro,-z,now -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -o mount.cifs mount.cifs.o mtab.o resolve_host.o util.o -lcap-ng
collect2: fatal error: ld terminated with signal 6 [Aborted], core dumped

Quoted 8 lines

This issue will reappear when we start testing BR2_RELRO_FULL in the autobuilders, but in the mean time it avoids the problem.

Fixes:

http://autobuild.buildroot.net/results/a5342890f39bdccae1324e7d3dbe0eab1aad28e5/

Committed to 2018.02.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard