Comment 5 for bug 1629989

Revision history for this message
Andreas Beckmann (anbe) wrote : Re: [Bug 1629989] Re: FFe: Sync libpfm4 4.7.0+git30-gd422ba2-1 (main) from Debian unstable (main)

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