diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl/0001-Make-function-checks-more-robust-within-shared-libs.patch')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl/0001-Make-function-checks-more-robust-within-shared-libs.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl/0001-Make-function-checks-more-robust-within-shared-libs.patch b/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl/0001-Make-function-checks-more-robust-within-shared-libs.patch new file mode 100644 index 0000000000..13a9e3b884 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl/0001-Make-function-checks-more-robust-within-shared-libs.patch @@ -0,0 +1,54 @@ +From 1735a78561dbe139fd138caef2d44d81f5494fe7 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 4 Apr 2023 12:28:11 -0700 +Subject: [PATCH] Make function checks more robust within shared libs + +Previous attempt to error at link like was with + +https://github.com/toddr/IO-Tty/commit/1747cdf9f98cfd3aada9bf6c09f9d46297e18a5e + +this however causes issues with newer clang where it detects +the assignment as -Wint-conversion warning which is treated at error +and builds with clang fail. So this is an attempt to instruct +linker explicitly to error out if the symbol is not found during link +time when building a shared library, this fixes both the problems +as reported in + +https://github.com/toddr/IO-Tty/issues/23 + +as well as + +https://github.com/toddr/IO-Tty/pull/33#issuecomment-1260147256 + +Upstream-Status: Submitted [https://github.com/toddr/IO-Tty/pull/33] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.PL | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Makefile.PL b/Makefile.PL +index eaf47e0..2e8338d 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -163,7 +163,8 @@ main () + #if defined (__stub_$f) || defined (__stub___$f) + choke me + #else +-f = $f (); ++f = $f; ++f(); + #endif + + ; +@@ -173,7 +174,7 @@ ESQ + + close(TST); + print "Looking for $f()" . "." x (13-length($f)) . " "; +- if (system("$cfg{'cc'} $flags $funcs{$f} functest_$f.c > functest_$f.log 2>&1")) { ++ if (system("$cfg{'cc'} $flags -Wl,--no-undefined $funcs{$f} functest_$f.c > functest_$f.log 2>&1")) { + print "not found.\n"; + } else { + $define{"-DHAVE_\U$f"} = undef; +-- +2.40.0 + |