Summary: | www/mod_perl2: fix build with clang 19 on i386 | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Dimitry Andric <dim> | ||||
Component: | Individual Port(s) | Assignee: | freebsd-apache (Nobody) <apache> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | Flags: | bugzilla:
maintainer-feedback?
(apache) |
||||
Priority: | --- | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 280562 | ||||||
Attachments: |
|
Description
Dimitry Andric
2024-09-19 19:41:06 UTC
Created attachment 253670 [details]
www/mod_perl2: fix build with clang 19 on i386
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=99f25aaa64395af55a872fc6cf77127f5f0e4997 commit 99f25aaa64395af55a872fc6cf77127f5f0e4997 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-09-19 19:41:23 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-09-28 13:29:45 +0000 www/mod_perl2: fix build with clang 19 on i386 Clang 19 has become more strict about incompatible function pointer types, which results in an error building mod_perl2 on i386: modperl_common_util.c:57:53: error: incompatible function pointer types initializing 'int (*)(PerlInterpreter *, SV *, MAGIC *, SV *, const char *, I32)' (aka 'int (*)(struct interpreter *, struct sv *, struct magic *, struct sv *, const char *, long)') with an expression of type 'int (PerlInterpreter *, SV *, MAGIC *, SV *, const char *, int)' (aka 'int (struct interpreter *, struct sv *, struct magic *, struct sv *, const char *, int)') [-Wincompatible-function-pointer-types] 57 | modperl_table_magic_copy}; | ^~~~~~~~~~~~~~~~~~~~~~~~ Perl uses the type `I32` for the last parameter, which is apparently `long` on i386. So use that instead. PR: 281594 MFH: 2024Q3 .../patch-src_modules_perl_modperl__common__util.c (new) | 11 +++++++++++ 1 file changed, 11 insertions(+) A commit in branch 2024Q3 references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=b5e7a8ad3ae02963d086ef16fc5e1312b4297255 commit b5e7a8ad3ae02963d086ef16fc5e1312b4297255 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-09-19 19:41:23 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-09-28 13:38:32 +0000 www/mod_perl2: fix build with clang 19 on i386 Clang 19 has become more strict about incompatible function pointer types, which results in an error building mod_perl2 on i386: modperl_common_util.c:57:53: error: incompatible function pointer types initializing 'int (*)(PerlInterpreter *, SV *, MAGIC *, SV *, const char *, I32)' (aka 'int (*)(struct interpreter *, struct sv *, struct magic *, struct sv *, const char *, long)') with an expression of type 'int (PerlInterpreter *, SV *, MAGIC *, SV *, const char *, int)' (aka 'int (struct interpreter *, struct sv *, struct magic *, struct sv *, const char *, int)') [-Wincompatible-function-pointer-types] 57 | modperl_table_magic_copy}; | ^~~~~~~~~~~~~~~~~~~~~~~~ Perl uses the type `I32` for the last parameter, which is apparently `long` on i386. So use that instead. PR: 281594 MFH: 2024Q3 (cherry picked from commit 99f25aaa64395af55a872fc6cf77127f5f0e4997) .../patch-src_modules_perl_modperl__common__util.c (new) | 11 +++++++++++ 1 file changed, 11 insertions(+) |