From be06cb048b595200bf7d1cec9684ab7958188b97 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 28 Jun 2024 12:37:11 +0100 Subject: [PATCH] perl: Pass @CFLAGS@ through extra_linker_flags The documentation for Module::Build is completely opaque on how you're supposed to pass @CFLAGS@ correctly. However I noticed that we were not passing -g through when generating Guestfs.so: gcc -lpthread -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now '-specs=/usr/lib/rpm/redhat/redhat-hardened-ld' '-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1' '-Wl,--build-id=sha1' -L/usr/local/lib -fstack-protector-strong -lperl -o blib/arch/auto/Sys/Guestfs/Guestfs.so lib/Sys/Guestfs.o -L../lib/.libs -lguestfs This debuginfo was not always being generated correctly. (For some reason it still manages to be generated in Fedora and RHEL 9, but not in RHEL 10, this part is still unclear to me.) Anyway it seems we ought to pass at least -g to the linker, and we might as well pass the full set of @CFLAGS@, hence this change. --- perl/Build.PL.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/perl/Build.PL.in b/perl/Build.PL.in index 0ab361738..13b3b453a 100755 --- a/perl/Build.PL.in +++ b/perl/Build.PL.in @@ -65,6 +65,8 @@ my $build = Module::Build->new ( '@top_srcdir@/include', ], extra_linker_flags => [ + '-DGUESTFS_PRIVATE=1', + split (' ', '@CFLAGS@'), '-L@top_builddir@/lib/.libs', '-lguestfs', ],