Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1859856
Summary: | postgresql-12.3-4.fc33 FTBFS: /usr/bin/ld: /tmp/postgres.5cVU8y.ltrans13.ltrans.o:(.note.stapsdt+0x24): undefined reference to `postgresql_clog__checkpoint__start_semaphore' | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Petr Pisar <ppisar> |
Component: | postgresql | Assignee: | Patrik Novotný <panovotn> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | anon.amish, devrim, hhorak, jmlich83, jstanek, kloczko.tomasz, law, panovotn, pkajaba, pkubat, praiskup, tgl |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
URL: | https://koschei.fedoraproject.org/package/postgresql?collection=f33 | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-07-24 14:18:18 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1803234 |
Description
Petr Pisar
2020-07-23 07:36:50 UTC
In Perl I had a similar issue and Jeff Law "fixed" it by disabling LTO <https://src.fedoraproject.org/rpms/perl/c/024c74c85514de130a2d9072fdee2dce569c89f2.patch>. That's either because Sytemtap-generated hooks are placed into a .probes ELF section: __extension__ extern unsigned short perl_sub__return_semaphore __attribute__ ((unused)) __attribute__ ((section (".probes"))); and that seems not to be fully supported by the LTO linker <https://sourceware.org/bugzilla/show_bug.cgi?id=25549>, or it's because Perl uses ar instead of gcc-ar for building intermediate object archives and ar ignores the LTO data <https://gcc.gnu.org/wiki/LinkTimeOptimizationFAQ#ar.2C_nm_and_ranlib>. (In reply to Petr Pisar from comment #1) \> That's either because Sytemtap-generated hooks are placed into a .probes ELF > section: > and that seems not to be fully supported by the LTO linker clog__checkpoint__start is the name of a DTrace probe point in Postgres, so it seems likely that Petr's observation is somehow related to this. I have no idea how "semaphore" got into the complained-of name, but perhaps systemtap generates that internally? Anyway, disabling --enable-dtrace would likely do as a short-term workaround. LTO needs to be disabled for postgres based on the link failure in c#0. I'll take care of it momentarily. postgres fails its control build (without LTO) in my tester and thus I haven't looked at it for LTO issues. Looking at the logs, the control build failure is because my tester runs mock as root. Sorry for the breakage. I'll get LTO disabled in the next hour or so. Done. postgresql should build again. And I've added a TODO for my tester, don't run as root ;-) jeff Breaking thermometer is not the way how fewer should be cured. Issue still IMO is unresolved. Breaking thermometer is not the way how fewer should be cured. Issue still IMO is unresolved. I assume this is a known systemtap issue, but I could not find any bugzilla entry for it ... is there one? Tom, I'm not sure where the underlying issue of how to support static probes will land. The fundamental problem is the probes are top level asm constructs and those just don't work with LTO. We've got a mechanism to handle symbol versioning which was probably the biggest user of top level asm constructs, but I don't think we've even got a plan for how to handle things like probes with LTO. So until we figure out how to address this on the GCC side we don't know if something will need to change with how stap implements probes or not. |