Over the weekend just past the upstream PCP CI build on rawhide started failing. Chatting to Florian he suggested its most likely to be related to binutils, so lets start here. The link failure is in code that has not changed for a few years - https://github.com/performancecopilot/pcp/tree/14033a5492e8e671b00170a6d5d3235df3b10da9/qa/perfevent - when linking the 'perfevent_test' binary the following link error results: /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `retrieve_numainfo': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/architecture.c:171:(.text+0x8e5): undefined reference to `__wrap_malloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/architecture.c:33:(.text+0x9db): undefined reference to `__wrap_malloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/architecture.c:165:(.text+0xa5e): undefined reference to `__wrap_malloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/architecture.c:33:(.text+0xa77): undefined reference to `__wrap_malloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `retrieve_cpuinfo': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/architecture.c:33:(.text+0xb7c): undefined reference to `__wrap_malloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/architecture.c:33: more undefined references to `__wrap_malloc' follow /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `parse_sysfs_perf_event_scale': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:315:(.text+0x199d): undefined reference to `__wrap_calloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:328:(.text+0x1a51): undefined reference to `__wrap_calloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:254:(.text+0x1aba): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:261:(.text+0x1afa): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `parse_sysfs_perf_event_scale': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:209:(.text+0x1bd2): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:277: more undefined references to `__wrap_calloc' follow /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `perf_get': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:1145:(.text+0x3f2f): undefined reference to `__wrap_malloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:1052:(.text+0x446f): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:1070:(.text+0x4534): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:1095:(.text+0x45b1): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `perf_get': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:1163:(.text+0x478e): undefined reference to `__wrap_malloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `perf_setup_dynamic_events.isra.0': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:763:(.text+0x4abf): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `perf_setup_dynamic_events.isra.0': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/parse_events.c:983:(.text+0x4ded): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `yyestensure_buffer_stack': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/configparser.yytest.c:3270:(.text+0x4fab): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `yyest_create_buffer.constprop.0': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/configparser.yytest.c:3270:(.text+0x4ff9): undefined reference to `__wrap_malloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/configparser.yytest.c:3270:(.text+0x5012): undefined reference to `__wrap_malloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `parse_configfile': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/configparser.l:820:(.text+0x5089): undefined reference to `__wrap_malloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `parse_configfile': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/configparser.yytest.c:3270:(.text+0x50be): undefined reference to `__wrap_malloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `parse_configfile': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/configparser.l:252:(.text+0x57fd): undefined reference to `__wrap_calloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/configparser.l:291:(.text+0x58d2): undefined reference to `__wrap_calloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/configparser.l:206:(.text+0x63cc): undefined reference to `__wrap_calloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/configparser.l:142:(.text+0x655d): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/configparser.l:160:(.text+0x6618): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:1233: more undefined references to `__wrap_calloc' follow /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `perf_event_create': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/rapl-interface.c:207:(.text+0x70c6): undefined reference to `__wrap_malloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `perf_event_create': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:580:(.text+0x7203): undefined reference to `__wrap_malloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:580:(.text+0x76c6): undefined reference to `__wrap_malloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o: in function `perf_event_create': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:458:(.text+0x7aa4): undefined reference to `__wrap_calloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:368:(.text+0x7b16): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cc8UOYqI.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:373:(.text+0x7b48): undefined reference to `__wrap_calloc' collect2: error: ld returned 1 exit status make[3]: *** [GNUmakefile:75: perfevent_test] Error 1 make[3]: *** Waiting for unfinished jobs.... /usr/bin/ld: /tmp/cczqJCKA.ltrans0.ltrans.o: in function `yyestensure_buffer_stack': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/configparser.yytest.c:3270:(.text+0x1943): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cczqJCKA.ltrans0.ltrans.o: in function `parse_sysfs_perf_event_scale': /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:315:(.text+0x1a2f): undefined reference to `__wrap_calloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:328:(.text+0x1b11): undefined reference to `__wrap_calloc' /usr/bin/ld: /home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:254:(.text+0x1ba1): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cczqJCKA.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:261:(.text+0x1be9): undefined reference to `__wrap_calloc' /usr/bin/ld: /tmp/cczqJCKA.ltrans0.ltrans.o:/home/pcpbuild/pcp/pcp-6.3.0/pcp-6.3.0-build/pcp-6.3.0/qa/perfevent/../../src/pmdas/perfevent/perfinterface.c:209: more undefined references to `__wrap_calloc' follow collect2: error: ld returned 1 exit status make[3]: *** [GNUmakefile:72: perfevent_coverage] Error 1 Upstream PCP code can be git pulled from here: https://github.com/performancecopilot/pcp/ and build steps described in INSTALL.md (building from source). Note this failure is in the regression tests, source is below ./qa in the top level. Reproducible: Always
This looks to have been caused by upstream commit eb7892c4019bd5d00175c0eb80eb0c5a47a42ca1 which was supposed to fix PR 31956. I have asked the author of that patch to look into this issue. In the meantime I have applied a local patch to revert the commit for rawhide. Thus fixed/worked-around in binutils-2.42.90-2.fc41.
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle. Changing version to 42.