On 2016-10-04 08:27, Andreas Beckmann wrote: >> +# see FEATURE AREAS in dpkg-buildflags(1) >> +export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-pie >> >> This explicitly disables PIE, which is enabled by default on amd64 and >> s390x in yakkety. Why should we want to disable PIE? There's no >> explanation in the debian changelog. > > PIE wasn't enabled in Debian before that change and IIRC I had some > build problems on i386 or amd64 or ??? and therefore explicitly didn't > turn on PIE. I'll have a look at this again within the next weeks. if I drop ,-pie I get an FTBFS: [...] cc -fPIC -DPIC -g -O2 -fdebug-prefix-map=/build/libpfm4-4.7.0+git30-gd422ba2=. -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -Wall -Werror -Wextra -Wno-unused-parameter -I. -I/build/libpfm4-4.7.0+git30-gd422ba2/include -DCONFIG_PFMLIB_DEBUG -DCONFIG_PFMLIB_OS_LINUX -g -Wall -Werror -Wextra -Wno-unused-parameter -I. -I/build/libpfm4-4.7.0+git30-gd422ba2/lib/../include -DCONFIG_PFMLIB_DEBUG -DCONFIG_PFMLIB_OS_LINUX -D_REENTRANT -I. -fvisibility=hidden -DCONFIG_PFMLIB_ARCH_X86 -DCONFIG_PFMLIB_ARCH_X86_64 -I. -c pfmlib_amd64_fam15h.c -o pfmlib_amd64_fam15h.lo cc -g -O2 -fdebug-prefix-map=/build/libpfm4-4.7.0+git30-gd422ba2=. -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -Wall -Werror -Wextra -Wno-unused-parameter -I. -I/build/libpfm4-4.7.0+git30-gd422ba2/include -DCONFIG_PFMLIB_DEBUG -DCONFIG_PFMLIB_OS_LINUX -g -Wall -Werror -Wextra -Wno-unused-parameter -I. -I/build/libpfm4-4.7.0+git30-gd422ba2/lib/../include -DCONFIG_PFMLIB_DEBUG -DCONFIG_PFMLIB_OS_LINUX -D_REENTRANT -I. -fvisibility=hidden -DCONFIG_PFMLIB_ARCH_X86 -DCONFIG_PFMLIB_ARCH_X86_64 -I. -fPIE -pie -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname -Wl,libpfm.so.4 -o libpfm.so.4.7.0 pfmlib_common.lo pfmlib_perf_event_pmu.lo pfmlib_perf_event.lo pfmlib_perf_event_raw.lo pfmlib_intel_x86_perf_event.lo pfmlib_amd64_perf_event.lo pfmlib_intel_netburst_perf_event.lo pfmlib_intel_snbep_unc_perf_event.lo pfmlib_amd64.lo pfmlib_intel_core.lo pfmlib_intel_x86.lo pfmlib_intel_x86_arch.lo pfmlib_intel_atom.lo pfmlib_intel_nhm_unc.lo pfmlib_intel_nhm.lo pfmlib_intel_wsm.lo pfmlib_intel_snb.lo pfmlib_intel_snb_unc.lo pfmlib_intel_ivb.lo pfmlib_intel_ivb_unc.lo pfmlib_intel_hsw.lo pfmlib_intel_bdw.lo pfmlib_intel_skl.lo pfmlib_intel_rapl.lo pfmlib_intel_snbep_unc.lo pfmlib_intel_snbep_unc_cbo.lo pfmlib_intel_snbep_unc_ha.lo pfmlib_intel_snbep_unc_imc.lo pfmlib_intel_snbep_unc_pcu.lo pfmlib_intel_snbep_unc_qpi.lo pfmlib_intel_snbep_unc_ubo.lo pfmlib_intel_snbep_unc_r2pcie.lo pfmlib_intel_snbep_unc_r3qpi.lo pfmlib_intel_ivbep_unc_cbo.lo pfmlib_intel_ivbep_unc_ha.lo pfmlib_intel_ivbep_unc_imc.lo pfmlib_intel_ivbep_unc_pcu.lo pfmlib_intel_ivbep_unc_qpi.lo pfmlib_intel_ivbep_unc_ubo.lo pfmlib_intel_ivbep_unc_r2pcie.lo pfmlib_intel_ivbep_unc_r3qpi.lo pfmlib_intel_ivbep_unc_irp.lo pfmlib_intel_hswep_unc_cbo.lo pfmlib_intel_hswep_unc_ha.lo pfmlib_intel_hswep_unc_imc.lo pfmlib_intel_hswep_unc_pcu.lo pfmlib_intel_hswep_unc_qpi.lo pfmlib_intel_hswep_unc_ubo.lo pfmlib_intel_hswep_unc_r2pcie.lo pfmlib_intel_hswep_unc_r3qpi.lo pfmlib_intel_hswep_unc_irp.lo pfmlib_intel_hswep_unc_sbo.lo pfmlib_intel_knc.lo pfmlib_intel_slm.lo pfmlib_intel_knl.lo pfmlib_intel_glm.lo pfmlib_intel_netburst.lo pfmlib_amd64_k7.lo pfmlib_amd64_k8.lo pfmlib_amd64_fam10h.lo pfmlib_amd64_fam11h.lo pfmlib_amd64_fam12h.lo pfmlib_amd64_fam14h.lo pfmlib_amd64_fam15h.lo /usr/bin/ld: pfmlib_common.lo: relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status Makefile:328: recipe for target 'libpfm.so.4.7.0' failed Suggestions welcome! Andreas