From patchwork Tue Aug 9 05:41:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 11180 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id CE19CC3F6B0 for ; Tue, 9 Aug 2022 05:41:25 +0000 (UTC) Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by mx.groups.io with SMTP id smtpd.web08.8536.1660023684599748411 for ; Mon, 08 Aug 2022 22:41:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ASgYOpQa; spf=pass (domain: gmail.com, ip: 209.85.214.181, mailfrom: raj.khem@gmail.com) Received: by mail-pl1-f181.google.com with SMTP id d16so10416791pll.11 for ; Mon, 08 Aug 2022 22:41:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc; bh=/0jxTDA/pPun8zMw2qK1r9kyLJSbkENk+KBzbmref98=; b=ASgYOpQasIgtM+cH0CX8DLnsrpHJiHEP7MRxNlS9UBcyq4vfkuYBrBn6k+fcdA19xi cNB37X8EHIvswKI5gmsuGgp38bbB0h/8w/rReAT2mf0a/nRqHWjAxcd32bav7Qu15xag o2xqr2YfGXAjbwhTmL3h+n0gFZo1vLPzYFhAgf6YwS6QgKe40AwA/RgGALOT06d/VEWc K+UVTEaWkWrpb1WBKVQCNAdq4KZB4xCal2KBKijxoLu+DHvroWQSpafxdkEsnpZKXEuT v2xzYv6YZfwQ1d5EakOaohJ9nq4nPfxW0dHTHKwK/VnvwuBG5NbXtCbabEIrSml/p9fx ahjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc; bh=/0jxTDA/pPun8zMw2qK1r9kyLJSbkENk+KBzbmref98=; b=YmrlTF1kx0F9f6D3pvSk9sdS5buYSXx+Bj8RRo8QG5q0PL0rx+IEAMA6Ebt5xEr92z PuiImzL/HVNVlPNbZmbSpJigpv2FtXqSpeL5cH3RMP5q5YgJj50qN32FNFtW7Qc2yc1m NPRwyx2Y/lT5q3qmJLE4uD1pi11VQL3xbopJGKn3OJ2KN+R545APGl15ShhSBznJdEZa f+lGV8A4sKGVznYemkCwN0kq4EoUSNiln/xFOhUHtmMvKjUi00s/oG3gRWNMKr4Iu3zv r00S/3oaMOtd5/H6RybTMt1m+4LXPJDq2Lg4Q/ztQ1Kx8GgXD1yH82kkQbkVWQPe/Pga UHzQ== X-Gm-Message-State: ACgBeo1TbDp6eWT6nUoSaEtBalrrpgGOB+Yf5JP4hLZpgqVwoCEt2QlI 6h7mk620Z8BKARSPxU57/c4inzay0TU= X-Google-Smtp-Source: AA6agR4aFOidDoeN8c2FatRrL9rNDX5CODVWia2FoqOypjIP7GXV/ejKknv3hvpdrGEGlbTA0v8D6A== X-Received: by 2002:a17:903:120f:b0:15f:99f:9597 with SMTP id l15-20020a170903120f00b0015f099f9597mr21386207plh.45.1660023682947; Mon, 08 Aug 2022 22:41:22 -0700 (PDT) Received: from apollo.hsd1.ca.comcast.net ([2601:646:9200:a0f0::9f45]) by smtp.gmail.com with ESMTPSA id a4-20020a62d404000000b0052553215444sm9684419pfh.101.2022.08.08.22.41.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Aug 2022 22:41:22 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Cc: Khem Raj Subject: [PATCH 1/2] perl-cross: Correct function signatures in configure_func.sh Date: Mon, 8 Aug 2022 22:41:19 -0700 Message-Id: <20220809054120.820562-1-raj.khem@gmail.com> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 Aug 2022 05:41:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/169133 There are latent issues in function detection which were succeeding due to compiler being lenient, but this is fast changing e.g. clang-15 has turned the -Wimplicit-function-declaration into error which ends up failing these tests and rightly so. Therefore try to improve the tests to have proper prototypes known during compilation Signed-off-by: Khem Raj --- ...h-Add-_GNU_SOURCE-define-and-functio.patch | 485 ++++++++++++++++++ .../perl-cross/perlcross_1.4.bb | 1 + 2 files changed, 486 insertions(+) create mode 100644 meta/recipes-devtools/perl-cross/files/0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch diff --git a/meta/recipes-devtools/perl-cross/files/0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch b/meta/recipes-devtools/perl-cross/files/0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch new file mode 100644 index 00000000000..893b55e5acd --- /dev/null +++ b/meta/recipes-devtools/perl-cross/files/0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch @@ -0,0 +1,485 @@ +From 65db86f0161c393fd5b082c10837b278adadbff2 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 7 Aug 2022 23:57:20 -0700 +Subject: [PATCH] configure_func.sh: Add _GNU_SOURCE define and function + signatures + +Modern compilers are getting stricter about include paths and function +signature being known duting compilation e.g. clang-15 now errors out if +a function signature is not found + +try.c:1:18: error: call to undeclared function 'getspnam'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] + +This causes the test of function to fail even though the function is +available in libc. Therefore try to add proper include headers which +define these functions and also define _GNU_SOURCE in every test +since some of GNU/Linux funtions e.g. accept4 are guarged by this define + +Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/137] +Signed-off-by: Khem Raj +--- + cnf/configure_func.sh | 41 +++++++++++++++++++++-------------------- + 1 file changed, 21 insertions(+), 20 deletions(-) + +--- a/cnf/configure_func.sh ++++ b/cnf/configure_func.sh +@@ -5,6 +5,7 @@ checkfunc() { + mstart "Checking for $2" + if not hinted $1 'found' 'missing'; then + try_start ++ try_add '#define _GNU_SOURCE' + funcincludes "$3" "$4" "$includes" + try_add "int main(void) { $2($3); return 0; }" + try_link -O0 -fno-builtin +@@ -42,115 +43,115 @@ checkfunc d_chroot 'chroot' "NULL" 'unis + checkfunc d_chsize 'chsize' "0,0" + checkfunc d_class 'class' + checkfunc d_clearenv 'clearenv' "" 'stdlib.h' +-checkfunc d_closedir 'closedir' "NULL" +-checkfunc d_crypt 'crypt' ++checkfunc d_closedir 'closedir' "NULL" 'dirent.h sys/types.h' ++checkfunc d_crypt 'crypt' "NULL,NULL" 'crypt.h' + checkfunc d_ctermid 'ctermid' + checkfunc d_ctime64 'ctime64' + checkfunc d_cuserid 'cuserid' +-checkfunc d_difftime 'difftime' "0,0" ++checkfunc d_difftime 'difftime' "0,0" 'time.h' + checkfunc d_difftime64 'difftime64' +-checkfunc d_dirfd 'dirfd' ++checkfunc d_dirfd 'dirfd' "NULL" 'dirent.h sys/types.h' + checkfunc d_dladdr 'dladdr' 'NULL, NULL' 'dlfcn.h' +-checkfunc d_dlerror 'dlerror' +-checkfunc d_dlopen 'dlopen' +-checkfunc d_drand48 'drand48' ++checkfunc d_dlerror 'dlerror' "" 'dlfcn.h' ++checkfunc d_dlopen 'dlopen' "NULL,0" "dlfcn.h" ++checkfunc d_drand48 'drand48' "" 'stdlib.h' + checkfunc d_dup2 'dup2' "0,0" 'unistd.h' + checkfunc d_dup3 'dup3' "0,0,0" 'fcntl.h unistd.h' + checkfunc d_duplocale 'duplocale' '0' 'locale.h' +-checkfunc d_eaccess 'eaccess' +-checkfunc d_endgrent 'endgrent' +-checkfunc d_endhent 'endhostent' +-checkfunc d_endnent 'endnetent' +-checkfunc d_endpent 'endprotoent' +-checkfunc d_endpwent 'endpwent' +-checkfunc d_endservent 'endservent' ++checkfunc d_eaccess 'eaccess' "NULL,0" 'unistd.h' ++checkfunc d_endgrent 'endgrent' '' 'grp.h sys/types.h' ++checkfunc d_endhent 'endhostent' "" 'netdb.h' ++checkfunc d_endnent 'endnetent' "" 'netdb.h' ++checkfunc d_endpent 'endprotoent' "" 'netdb.h' ++checkfunc d_endpwent 'endpwent' "" 'sys/types.h pwd.h' ++checkfunc d_endservent 'endservent' "" 'netdb.h' + checkfunc d_fchdir 'fchdir' "0" 'unistd.h' +-checkfunc d_fchmod 'fchmod' "0,0" 'unistd.h' +-checkfunc d_fchmodat 'fchmodat' "0,NULL,0,0" 'unistd.h' ++checkfunc d_fchmod 'fchmod' "0,0" 'unistd.h sys/stat.h' ++checkfunc d_fchmodat 'fchmodat' "0,NULL,0,0" 'unistd.h sys/stat.h' + checkfunc d_fchown 'fchown' "0,0,0" 'unistd.h' + checkfunc d_fcntl 'fcntl' "0,0" 'unistd.h fcntl.h' + checkfunc d_fdclose 'fdclose' +-checkfunc d_ffs 'ffs' 'strings.h' +-checkfunc d_ffsl 'ffsl' 'strings.h' ++checkfunc d_ffs 'ffs' "0" 'strings.h' ++checkfunc d_ffsl 'ffsl' "0" 'strings.h' + checkfunc d_fgetpos 'fgetpos' "NULL, 0" 'stdio.h' +-checkfunc d_flock 'flock' "0,0" 'unistd.h' ++checkfunc d_flock 'flock' "0,0" 'sys/file.h' + checkfunc d_fork 'fork' "" 'unistd.h' + checkfunc d_fp_class 'fp_class' + checkfunc d_fpathconf 'fpathconf' "0,0" 'unistd.h' +-checkfunc d_freelocale 'freelocale' '0' 'locale.h' +-checkfunc d_fseeko 'fseeko' 'NULL,0,0' +-checkfunc d_fsetpos 'fsetpos' 'NULL,0' +-checkfunc d_fstatfs 'fstatfs' +-checkfunc d_fstatvfs 'fstatvfs' +-checkfunc d_fsync 'fsync' +-checkfunc d_ftello 'ftello' +-checkfunc d_futimes 'futimes' ++checkfunc d_freelocale 'freelocale' "0" 'locale.h' ++checkfunc d_fseeko 'fseeko' "NULL,0,0" 'stdio.h' ++checkfunc d_fsetpos 'fsetpos' "NULL,0" 'stdio.h' ++checkfunc d_fstatfs 'fstatfs' "0,NULL" 'sys/vfs.h' ++checkfunc d_fstatvfs 'fstatvfs' "0,NULL" 'sys/statvfs.h' ++checkfunc d_fsync 'fsync' "0" 'unistd.h' ++checkfunc d_ftello 'ftello' "NULL" 'stdio.h' ++checkfunc d_futimes 'futimes' '0,0' 'sys/time.h' + checkfunc d_gai_strerror 'gai_strerror' '0' 'sys/types.h sys/socket.h netdb.h' +-checkfunc d_getaddrinfo 'getaddrinfo' +-checkfunc d_get_current_dir_name 'get_current_dir_name' +-checkfunc d_getcwd 'getcwd' 'NULL,0' ++checkfunc d_getaddrinfo 'getaddrinfo' "NULL,NULL,NULL,NULL" 'sys/types.h sys/socket.h netdb.h' ++checkfunc d_get_current_dir_name 'get_current_dir_name' "" 'unistd.h' ++checkfunc d_getcwd 'getcwd' 'NULL,0' 'unistd.h' + checkfunc d_getespwnam 'getespwnam' + checkfunc d_getfsstat 'getfsstat' +-checkfunc d_getgrent 'getgrent' +-checkfunc d_getgrps 'getgroups' +-checkfunc d_gethbyaddr 'gethostbyaddr' +-checkfunc d_gethbyname 'gethostbyname' ++checkfunc d_getgrent 'getgrent' "" 'sys/types.h grp.h' ++checkfunc d_getgrps 'getgroups' "0,NULL" 'unistd.h' ++checkfunc d_gethbyaddr 'gethostbyaddr' "NULL,0,0" 'netdb.h' ++checkfunc d_gethbyname 'gethostbyname' "NULL" 'netdb.h' + checkfunc d_getnbyaddr 'getnetbyaddr' '0,0' 'netdb.h' + checkfunc d_getnbyname 'getnetbyname' 'NULL' 'netdb.h' +-checkfunc d_gethent 'gethostent' +-checkfunc d_gethname 'gethostname' +-checkfunc d_getitimer 'getitimer' +-checkfunc d_getlogin 'getlogin' ++checkfunc d_gethent 'gethostent' "" 'netdb.h' ++checkfunc d_gethname 'gethostname' "NULL,0" 'unistd.h' ++checkfunc d_getitimer 'getitimer' "0,NULL" 'sys/time.h' ++checkfunc d_getlogin 'getlogin' "" 'unistd.h' + checkfunc d_getmnt 'getmnt' +-checkfunc d_getmntent 'getmntent' +-checkfunc d_getnameinfo 'getnameinfo' +-checkfunc d_getnent 'getnetent' +-checkfunc d_getnetbyaddr 'getnetbyaddr' +-checkfunc d_getnetbyname 'getnetbyname' +-checkfunc d_getpagsz 'getpagesize' ++checkfunc d_getmntent 'getmntent' "NULL" 'stdio.h mntent.h' ++checkfunc d_getnameinfo 'getnameinfo' "NULL,0,NULL,0,NULL,0,0" 'sys/socket.h netdb.h' ++checkfunc d_getnent 'getnetent' "" 'netdb.h' ++checkfunc d_getnetbyaddr 'getnetbyaddr' "0,0" 'netdb.h' ++checkfunc d_getnetbyname 'getnetbyname' "NULL" 'netdb.h' ++checkfunc d_getpagsz 'getpagesize' "" 'unistd.h' + checkfunc d_getpbyaddr 'getprotobyaddr' +-checkfunc d_getpbyname 'getprotobyname' +-checkfunc d_getpbynumber 'getprotobynumber' +-checkfunc d_getpent 'getprotoent' +-checkfunc d_getpgid 'getpgid' ++checkfunc d_getpbyname 'getprotobyname' "NULL" 'netdb.h' ++checkfunc d_getpbynumber 'getprotobynumber' "0" 'netdb.h' ++checkfunc d_getpent 'getprotoent' "" 'netdb.h' ++checkfunc d_getpgid 'getpgid' "0" 'unistd.h' + checkfunc d_getpgrp 'getpgrp' "" 'unistd.h' + checkfunc d_getpgrp2 'getpgrp2' +-checkfunc d_getppid 'getppid' ++checkfunc d_getppid 'getppid' "" 'unistd.h' + checkfunc d_getprior 'getpriority' "0,0" 'sys/time.h sys/resource.h' + checkfunc d_getprpwnam 'getprpwnam' +-checkfunc d_getpwent 'getpwent' ++checkfunc d_getpwent 'getpwent' "" 'sys/types.h pwd.h' + checkfunc d_getsbyaddr 'getservbyaddr' +-checkfunc d_getsbyname 'getservbyname' +-checkfunc d_getsbyport 'getservbyport' +-checkfunc d_getsent 'getservent' +-checkfunc d_setsent 'setservent' +-checkfunc d_endsent 'endservent' +-checkfunc d_getspnam 'getspnam' +-checkfunc d_gettimeod 'gettimeofday' 'NULL,NULL' ++checkfunc d_getsbyname 'getservbyname' "NULL,NULL" 'netdb.h' ++checkfunc d_getsbyport 'getservbyport' "0,NULL" 'netdb.h' ++checkfunc d_getsent 'getservent' "" 'netdb.h' ++checkfunc d_setsent 'setservent' "0" 'netdb.h' ++checkfunc d_endsent 'endservent' "" 'netdb.h' ++checkfunc d_getspnam 'getspnam' "NULL" 'shadow.h' ++checkfunc d_gettimeod 'gettimeofday' 'NULL,NULL' 'sys/time.h' + checkfunc d_gmtime64 'gmtime64' +-checkfunc d_hasmntopt 'hasmntopt' ++checkfunc d_hasmntopt 'hasmntopt' "NULL,NULL" 'stdio.h mntent.h' + checkfunc d_htonl 'htonl' "0" 'stdio.h sys/types.h netinet/in.h arpa/inet.h' +-checkfunc d_ilogbl 'ilogbl' ++checkfunc d_ilogbl 'ilogbl' "0.0" 'math.h' + checkfunc d_index 'index' "NULL,0" 'string.h strings.h' +-checkfunc d_inetaton 'inet_aton' +-checkfunc d_inetntop 'inet_ntop' +-checkfunc d_inetpton 'inet_pton' ++checkfunc d_inetaton 'inet_aton' "NULL,NULL" 'sys/socket.h netinet/in.h arpa/inet.h' ++checkfunc d_inetntop 'inet_ntop' "0,NULL,NULL,0" 'arpa/inet.h' ++checkfunc d_inetpton 'inet_pton' "0,NULL,NULL" 'arpa/inet.h' + checkfunc d_isascii 'isascii' "'A'" 'stdio.h ctype.h' + checkfunc d_isblank 'isblank' "' '" 'stdio.h ctype.h' +-checkfunc d_killpg 'killpg' ++checkfunc d_killpg 'killpg' "0,0" 'signal.h' + checkfunc d_lchown 'lchown' "NULL, 0, 0" 'unistd.h' +-checkfunc d_link 'link' 'NULL,NULL' +-checkfunc d_linkat 'linkat' '0,NULL,0,NULL,0' ++checkfunc d_link 'link' 'NULL,NULL' 'unistd.h' ++checkfunc d_linkat 'linkat' '0,NULL,0,NULL,0' 'unistd.h' + checkfunc d_localtime64 'localtime64' + checkfunc d_localeconv_l 'localeconv_l' 'NULL' 'locale.h' +-checkfunc d_locconv 'localeconv' +-checkfunc d_lockf 'lockf' +-checkfunc d_lstat 'lstat' +-checkfunc d_madvise 'madvise' ++checkfunc d_locconv 'localeconv' "" 'locale.h' ++checkfunc d_lockf 'lockf' "0,0,0" 'unistd.h' ++checkfunc d_lstat 'lstat' "NULL, NULL" 'sys/stat.h' ++checkfunc d_madvise 'madvise' "NULL,0,0" 'sys/mman.h' + checkfunc d_malloc_good_size 'malloc_good_size' + checkfunc d_malloc_size 'malloc_size' + checkfunc d_mblen 'mblen' '"", 0' 'stdlib.h' +-checkfunc d_mbstowcs 'mbstowcs' ++checkfunc d_mbstowcs 'mbstowcs' "NULL,NULL,0" + checkfunc d_mbtowc 'mbtowc' 'NULL, NULL, 0' 'stdlib.h' + checkfunc d_mbrlen 'mbrlen' 'NULL, 0, NULL' 'wchar.h' + checkfunc d_mbrtowc 'mbrtowc' 'NULL, NULL, 0, NULL' 'wchar.h' +@@ -161,152 +162,152 @@ checkfunc d_memmem 'memmem' "NULL, 0, NU + checkfunc d_memmove 'memmove' "NULL, NULL, 0" 'string.h' + checkfunc d_memrchr 'memrchr' "NULL, 0, 0" 'string.h' + checkfunc d_memset 'memset' "NULL, 0, 0" 'string.h' +-checkfunc d_mkdir 'mkdir' 'NULL, 0' +-checkfunc d_mkdtemp 'mkdtemp' +-checkfunc d_mkfifo 'mkfifo' ++checkfunc d_mkdir 'mkdir' 'NULL, 0' 'sys/stat.h' ++checkfunc d_mkdtemp 'mkdtemp' 'NULL' ++checkfunc d_mkfifo 'mkfifo' 'NULL,0' 'sys/types.h sys/stat.h' + checkfunc d_mkostemp 'mkostemp' 'NULL,0' 'stdlib.h' + checkfunc d_mkstemp 'mkstemp' 'NULL' +-checkfunc d_mkstemps 'mkstemps' +-checkfunc d_mktime 'mktime' 'NULL' ++checkfunc d_mkstemps 'mkstemps' 'NULL,0' ++checkfunc d_mktime 'mktime' 'NULL' 'time.h' + checkfunc d_mktime64 'mktime64' +-checkfunc d_mmap 'mmap' +-checkfunc d_mprotect 'mprotect' +-checkfunc d_msgctl 'msgctl' +-checkfunc d_msgget 'msgget' +-checkfunc d_msgrcv 'msgrcv' +-checkfunc d_msgsnd 'msgsnd' +-checkfunc d_msync 'msync' +-checkfunc d_munmap 'munmap' ++checkfunc d_mmap 'mmap' 'NULL,0,0,0,0,0' 'sys/mman.h' ++checkfunc d_mprotect 'mprotect' 'NULL,0,0' 'sys/mman.h' ++checkfunc d_msgctl 'msgctl' '0,0,NULL' 'sys/msg.h' ++checkfunc d_msgget 'msgget' '0,0' 'sys/msg.h' ++checkfunc d_msgrcv 'msgrcv' '0,NULL,0,0,0' 'sys/msg.h' ++checkfunc d_msgsnd 'msgsnd' '0,NULL,0,0' 'sys/msg.h' ++checkfunc d_msync 'msync' 'NULL,0,0' 'sys/mman.h' ++checkfunc d_munmap 'munmap' 'NULL,0' 'sys/mman.h' + checkfunc d_newlocale 'newlocale' '0,NULL,0' 'locale.h' +-checkfunc d_nice 'nice' '0' +-checkfunc d_nl_langinfo 'nl_langinfo' +-checkfunc d_nl_langinfo_l 'nl_langinfo_l' ++checkfunc d_nice 'nice' '0' 'unistd.h' ++checkfunc d_nl_langinfo 'nl_langinfo' '0' 'langinfo.h' ++checkfunc d_nl_langinfo_l 'nl_langinfo_l' '0,0' 'langinfo.h' + checkfunc d_open 'open' "NULL,0,0" 'sys/types.h sys/stat.h fcntl.h' + checkfunc d_openat 'openat' "0,NULL,0,0" 'sys/types.h sys/stat.h fcntl.h' +-checkfunc d_pathconf 'pathconf' +-checkfunc d_pause 'pause' ++checkfunc d_pathconf 'pathconf' 'NULL,0' 'unistd.h' ++checkfunc d_pause 'pause' '' 'unistd.h' + checkfunc d_pipe 'pipe' 'NULL' 'fcntl.h unistd.h' + checkfunc d_pipe2 'pipe' 'NULL,0' 'fcntl.h unistd.h' +-checkfunc d_poll 'poll' +-checkfunc d_prctl 'prctl' +-checkfunc d_pthread_atfork 'pthread_atfork' +-checkfunc d_pthread_attr_setscope 'pthread_attr_setscope' +-checkfunc d_pthread_yield 'pthread_yield' ++checkfunc d_poll 'poll' 'NULL,0,0' 'poll.h' ++checkfunc d_prctl 'prctl' '0,0,0,0,0' 'sys/prctl.h' ++checkfunc d_pthread_atfork 'pthread_atfork' 'NULL,NULL,NULL' 'pthread.h' ++checkfunc d_pthread_attr_setscope 'pthread_attr_setscope' 'NULL,0' 'pthread.h' ++checkfunc d_pthread_yield 'pthread_yield' '' 'pthread.h' + checkfunc d_querylocale 'querylocale' + checkfunc d_qgcvt 'qgcvt' '1.0,1,NULL' +-checkfunc d_rand 'rand' +-checkfunc d_random 'random' +-checkfunc d_re_comp 're_comp' +-checkfunc d_readdir 'readdir' 'NULL' +-checkfunc d_readlink 'readlink' +-checkfunc d_realpath 'realpath' +-checkfunc d_readv 'readv' +-checkfunc d_recvmsg 'recvmsg' ++checkfunc d_rand 'rand' '' 'stdlib.h' ++checkfunc d_random 'random' '' 'stdlib.h' ++checkfunc d_re_comp 're_comp' 'NULL' 'sys/types.h regex.h' ++checkfunc d_readdir 'readdir' 'NULL' 'dirent.h' ++checkfunc d_readlink 'readlink' 'NULL,NULL,0' 'unistd.h' ++checkfunc d_realpath 'realpath' 'NULL,NULL' 'limits.h stdlib.h' ++checkfunc d_readv 'readv' '0,NULL,0' 'sys/uio.h' ++checkfunc d_recvmsg 'recvmsg' '0,NULL,0' 'sys/socket.h' + checkfunc d_regcmp 'regcmp' +-checkfunc d_regcomp 'regcomp' +-checkfunc d_rename 'rename' 'NULL,NULL' +-checkfunc d_renameat 'renameat' '0,NULL,0,NULL' +-checkfunc d_rewinddir 'rewinddir' +-checkfunc d_rmdir 'rmdir' 'NULL' +-checkfunc d_sched_yield 'sched_yield' +-checkfunc d_seekdir 'seekdir' +-checkfunc d_select 'select' '0,NULL,NULL,NULL,NULL' +-checkfunc d_semctl 'semctl' +-checkfunc d_semget 'semget' +-checkfunc d_semop 'semop' +-checkfunc d_sendmsg 'sendmsg' +-checkfunc d_setegid 'setegid' +-checkfunc d_setent 'setservent' +-checkfunc d_setenv 'setenv' +-checkfunc d_seteuid 'seteuid' +-checkfunc d_setgrent 'setgrent' +-checkfunc d_setgrps 'setgroups' +-checkfunc d_sethent 'sethostent' +-checkfunc d_setitimer 'setitimer' +-checkfunc d_setlinebuf 'setlinebuf' ++checkfunc d_regcomp 'regcomp' 'NULL,NULL,0' 'regex.h' ++checkfunc d_rename 'rename' 'NULL,NULL' 'stdio.h' ++checkfunc d_renameat 'renameat' '0,NULL,0,NULL' 'fcntl.h stdio.h' ++checkfunc d_rewinddir 'rewinddir' 'NULL' 'sys/types.h dirent.h' ++checkfunc d_rmdir 'rmdir' 'NULL' 'unistd.h' ++checkfunc d_sched_yield 'sched_yield' '' 'sched.h' ++checkfunc d_seekdir 'seekdir' 'NULL,0' 'dirent.h' ++checkfunc d_select 'select' '0,NULL,NULL,NULL,NULL' 'sys/select.h' ++checkfunc d_semctl 'semctl' '0,0,0, NULL' 'sys/sem.h' ++checkfunc d_semget 'semget' '0,0,0' 'sys/sem.h' ++checkfunc d_semop 'semop' '0,NULL,0' 'sys/sem.h' ++checkfunc d_sendmsg 'sendmsg' '0,NULL,0' 'sys/socket.h' ++checkfunc d_setegid 'setegid' '0' 'unistd.h' ++checkfunc d_setent 'setservent' '0' 'netdb.h' ++checkfunc d_setenv 'setenv' 'NULL,NULL,0' ++checkfunc d_seteuid 'seteuid' '0' 'unistd.h' ++checkfunc d_setgrent 'setgrent' '' 'sys/types.h grp.h' ++checkfunc d_setgrps 'setgroups' '0,NULL' 'unistd.h grp.h' ++checkfunc d_sethent 'sethostent' '0' 'netdb.h' ++checkfunc d_setitimer 'setitimer' '0,NULL,NULL' 'sys/time.h' ++checkfunc d_setlinebuf 'setlinebuf' 'NULL' 'stdio.h' + checkfunc d_setlocale 'setlocale' "0,NULL" 'locale.h' +-checkfunc d_setnent 'setnetent' +-checkfunc d_setpent 'setprotoent' +-checkfunc d_setpgid 'setpgid' +-checkfunc d_setpgrp 'setpgrp' ++checkfunc d_setnent 'setnetent' '0' 'netdb.h' ++checkfunc d_setpent 'setprotoent' '0' 'netdb.h' ++checkfunc d_setpgid 'setpgid' '0,0' 'unistd.h' ++checkfunc d_setpgrp 'setpgrp' '' 'unistd.h' + checkfunc d_setpgrp2 'setpgrp2' +-checkfunc d_setprior 'setpriority' +-checkfunc d_setproctitle 'setproctitle' +-checkfunc d_setpwent 'setpwent' +-checkfunc d_setregid 'setregid' +-checkfunc d_setresgid 'setresgid' +-checkfunc d_setresuid 'setresuid' +-checkfunc d_setreuid 'setreuid' +-checkfunc d_setrgid 'setrgid' ++checkfunc d_setprior 'setpriority' '0,0,0' 'sys/resource.h' ++checkfunc d_setproctitle 'setproctitle' 'NULL,NULL' 'sys/types.h unistd.h' ++checkfunc d_setpwent 'setpwent' '' 'sys/types.h pwd.h' ++checkfunc d_setregid 'setregid' '0,0' 'unistd.h' ++checkfunc d_setresgid 'setresgid' '0,0,0' 'unistd.h' ++checkfunc d_setresuid 'setresuid' '0,0,0' 'unistd.h' ++checkfunc d_setreuid 'setreuid' '0,0' 'unistd.h' ++checkfunc d_setrgid 'setrgid' '' + checkfunc d_setruid 'setruid' +-checkfunc d_setsid 'setsid' +-checkfunc d_setvbuf 'setvbuf' 'NULL,NULL,0,0' ++checkfunc d_setsid 'setsid' '' 'unistd.h' ++checkfunc d_setvbuf 'setvbuf' 'NULL,NULL,0,0' 'stdio.h' + checkfunc d_sfreserve 'sfreserve' "" 'sfio.h' +-checkfunc d_shmat 'shmat' +-checkfunc d_shmctl 'shmctl' +-checkfunc d_shmdt 'shmdt' +-checkfunc d_shmget 'shmget' +-checkfunc d_sigaction 'sigaction' +-checkfunc d_sigprocmask 'sigprocmask' ++checkfunc d_shmat 'shmat' '0,NULL,0' 'sys/shm.h' ++checkfunc d_shmctl 'shmctl' '0,0,NULL' 'sys/shm.h' ++checkfunc d_shmdt 'shmdt' 'NULL' 'sys/shm.h' ++checkfunc d_shmget 'shmget' '0,0,0' 'sys/shm.h' ++checkfunc d_sigaction 'sigaction' '0,NULL,NULL' 'signal.h' ++checkfunc d_sigprocmask 'sigprocmask' '0,NULL,NULL' 'signal.h' + checkfunc d_sigsetjmp 'sigsetjmp' "NULL,0" 'setjmp.h' +-checkfunc d_snprintf 'snprintf' +-checkfunc d_sockatmark 'sockatmark' ++checkfunc d_snprintf 'snprintf' 'NULL,0,NULL' 'stdio.h' ++checkfunc d_sockatmark 'sockatmark' '0' 'sys/socket.h' + checkfunc d_socket 'socket' "0,0,0" 'sys/types.h sys/socket.h' +-checkfunc d_sockpair 'socketpair' ++checkfunc d_sockpair 'socketpair' '0,0,0,NULL' 'sys/socket.h' + checkfunc d_socks5_init 'socks5_init' +-checkfunc d_stat 'stat' +-checkfunc d_statvfs 'statvfs' ++checkfunc d_stat 'stat' 'NULL,NULL' 'sys/stat.h' ++checkfunc d_statvfs 'statvfs' 'NULL,NULL' 'sys/statvfs.h' + checkfunc d_strchr 'strchr' "NULL,0" 'string.h strings.h' + checkfunc d_strcoll 'strcoll' "NULL,NULL" 'string.h' + checkfunc d_strerror 'strerror' "0" 'string.h stdlib.h' +-checkfunc d_strerror_l 'strerror_l' ++checkfunc d_strerror_l 'strerror_l' '0,NULL' 'string.h' + checkfunc d_strftime 'strftime' "NULL,0,NULL,NULL" 'time.h' +-checkfunc d_strlcat 'strlcat' +-checkfunc d_strlcpy 'strlcpy' ++checkfunc d_strlcat 'strlcat' 'NULL,NULL,0' 'string.h' ++checkfunc d_strlcpy 'strlcpy' 'NULL,NULL,0' 'string.h' + checkfunc d_strnlen 'strnlen' '"",0' 'string.h' + checkfunc d_strtod 'strtod' 'NULL,NULL' + checkfunc d_strtod_l 'strtod_l' + checkfunc d_strtol 'strtol' 'NULL,NULL,0' +-checkfunc d_strtold 'strtold' ++checkfunc d_strtold 'strtold' 'NULL,NULL' + checkfunc d_strtold_l 'strtold_l' +-checkfunc d_strtoll 'strtoll' +-checkfunc d_strtoq 'strtoq' ++checkfunc d_strtoll 'strtoll' 'NULL,NULL,0' ++checkfunc d_strtoq 'strtoq' 'NULL,NULL,0' + checkfunc d_strtoul 'strtoul' 'NULL,NULL,0' + checkfunc d_strtoull 'strtoull' 'NULL,NULL,0' +-checkfunc d_strtouq 'strtouq' +-checkfunc d_strxfrm 'strxfrm' +-checkfunc d_strxfrm_l 'strxfrm_l' +-checkfunc d_symlink 'symlink' +-checkfunc d_syscall 'syscall' +-checkfunc d_sysconf 'sysconf' '0' ++checkfunc d_strtouq 'strtouq' 'NULL,NULL,0' ++checkfunc d_strxfrm 'strxfrm' 'NULL,NULL,0' 'string.h' ++checkfunc d_strxfrm_l 'strxfrm_l' 'NULL,NULL,0,NULL' 'string.h' ++checkfunc d_symlink 'symlink' 'NULL,NULL' 'unistd.h' ++checkfunc d_syscall 'syscall' '0,NULL' 'sys/syscall.h unistd.h' ++checkfunc d_sysconf 'sysconf' '0' 'unistd.h' + checkfunc d_system 'system' 'NULL' +-checkfunc d_tcgetpgrp 'tcgetpgrp' +-checkfunc d_tcsetpgrp 'tcsetpgrp' +-checkfunc d_telldir 'telldir' +-checkfunc d_time 'time' 'NULL' +-checkfunc d_timegm 'timegm' +-checkfunc d_times 'times' 'NULL' ++checkfunc d_tcgetpgrp 'tcgetpgrp' '0' 'unistd.h' ++checkfunc d_tcsetpgrp 'tcsetpgrp' '0,0' 'unistd.h' ++checkfunc d_telldir 'telldir' 'NULL' 'dirent.h' ++checkfunc d_time 'time' 'NULL' 'time.h' ++checkfunc d_timegm 'timegm' 'NULL' 'time.h' ++checkfunc d_times 'times' 'NULL' 'sys/times.h' + checkfunc d_towlower 'towlower' '0' 'wctype.h' + checkfunc d_towupper 'towupper' '0' 'wctype.h' +-checkfunc d_truncate 'truncate' 'NULL,0' +-checkfunc d_ualarm 'ualarm' +-checkfunc d_umask 'umask' '0' +-checkfunc d_uname 'uname' +-checkfunc d_unlinkat 'unlinkat' '0,NULL,0' ++checkfunc d_truncate 'truncate' 'NULL,0' 'unistd.h' ++checkfunc d_ualarm 'ualarm' 'NULL,NULL' 'unistd.h' ++checkfunc d_umask 'umask' '0' 'sys/stat.h' ++checkfunc d_uname 'uname' 'NULL' 'sys/utsname.h' ++checkfunc d_unlinkat 'unlinkat' '0,NULL,0' 'unistd.h fcntl.h' + checkfunc d_unordered 'unordered' +-checkfunc d_unsetenv 'unsetenv' ++checkfunc d_unsetenv 'unsetenv' 'NULL' + checkfunc d_uselocale 'uselocale' '0' 'locale.h' +-checkfunc d_usleep 'usleep' +-checkfunc d_ustat 'ustat' ++checkfunc d_usleep 'usleep' '0' 'unistd.h' ++checkfunc d_ustat 'ustat' '0,NULL' 'sys/types.h unistd.h' + define d_vfork 'undef' # unnecessary +-checkfunc d_vprintf 'vprintf' 'NULL,0' +-checkfunc d_vsnprintf 'vsnprintf' +-checkfunc d_wait4 'wait4' +-checkfunc d_waitpid 'waitpid' '0,NULL,0' +-checkfunc d_wcrtomb 'wcrtomb' +-checkfunc d_wcscmp 'wcscmp' +-checkfunc d_wcstombs 'wcstombs' 'NULL,NULL,0' +-checkfunc d_wcsxfrm 'wcsxfrm' +-checkfunc d_wctomb 'wctomb' +-checkfunc d_writev 'writev' ++checkfunc d_vprintf 'vprintf' 'NULL,0' 'stdio.h' ++checkfunc d_vsnprintf 'vsnprintf' 'NULL,0,NULL,NULL' 'stdio.h' ++checkfunc d_wait4 'wait4' '0,NULL,0,NULL' 'sys/wait.h' ++checkfunc d_waitpid 'waitpid' '0,NULL,0' 'sys/wait.h' ++checkfunc d_wcrtomb 'wcrtomb' 'NULL,0,NULL' 'wchar.h' ++checkfunc d_wcscmp 'wcscmp' 'NULL,NULL' 'wchar.h' ++checkfunc d_wcstombs 'wcstombs' 'NULL,NULL,0' 'wchar.h' ++checkfunc d_wcsxfrm 'wcsxfrm' 'NULL,NULL,0' 'wchar.h' ++checkfunc d_wctomb 'wctomb' 'NULL,NULL' 'wchar.h' ++checkfunc d_writev 'writev' '0,NULL,0' 'sys/uio.h' + unset includes diff --git a/meta/recipes-devtools/perl-cross/perlcross_1.4.bb b/meta/recipes-devtools/perl-cross/perlcross_1.4.bb index 2704976e17e..9b2889647f3 100644 --- a/meta/recipes-devtools/perl-cross/perlcross_1.4.bb +++ b/meta/recipes-devtools/perl-cross/perlcross_1.4.bb @@ -17,6 +17,7 @@ SRC_URI = "https://github.com/arsv/perl-cross/releases/download/${PV}/perl-cross file://0001-Makefile-check-the-file-if-patched-or-not.patch \ file://0001-Makefile-correctly-list-modules-when-cleaning-them.patch \ file://0001-Makefile-do-not-clean-config.h-xconfig.h.patch \ + file://0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch \ " UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/" From patchwork Tue Aug 9 05:41:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 11179 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD4A0C19F2D for ; Tue, 9 Aug 2022 05:41:25 +0000 (UTC) Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by mx.groups.io with SMTP id smtpd.web12.8488.1660023684910663978 for ; Mon, 08 Aug 2022 22:41:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=lXXB2C3X; spf=pass (domain: gmail.com, ip: 209.85.214.174, mailfrom: raj.khem@gmail.com) Received: by mail-pl1-f174.google.com with SMTP id m2so10450025pls.4 for ; Mon, 08 Aug 2022 22:41:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=wtQjfwV9jF9CyplBpF79OVTLbjxB7OCa01biNS2UWYc=; b=lXXB2C3XeYYkmF6M/9QrGpzdOaqn4Pc35qHAColCOHpkz6rGXMq9qoFqbNgAXOFW/b O0StEJyxrp46Cm4E6HhHnAKmv6loJ89zuhyaZv7Ea59vRnRAxp3ZJYaQDwtGTwW6X40n agvCHYjCB7ic4oKPemHku9RLiiibR8vs2ksu8vGG0XyEKOgjo2IYeKCGCWBPIUHbulvI AqOSfU7EgxYapV7XenlDqdY5F/gKw4QIJPlVXGuNFxfODLVRgIkOTve05pdBhZ5c4TMQ WdNJlVXQi/ugOU/HYnyb3Az3ZAhDyjFG4pRvkmgCJ26eLMS9xCXpqQX5LkEDWgTjtJO0 W78w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=wtQjfwV9jF9CyplBpF79OVTLbjxB7OCa01biNS2UWYc=; b=T7U3zsJrolNslxIGRUSZZnxPwGrOBXtzvmGCi/S3SokbppyEFqhkUgPZQneEXrcDHf FOk+tBl5oTRl1Td2f3X+fv7/4By+FBnLbNf0jDJxN1ClsNwrkCu6gxb81BY9wN/73bi0 fxLeP521Yu9GhbNl2gS51sKUaQ/UMLGPtfxJimxwFofKPFver+V6W1evJCw8uz7yROeL eXEkzwyCD7gA0zoPbhqkyMdnc14VY+hfoD1mDQlDLRi7iQ4NQj4YFbn0iatbltvgpu4r h3Ros5kOetPs3LdCbQy1Va13e0Lo6f+sRPnDWUC+uKBDM0IHvHxR+6dwUG7IbNpfuBjv cUhA== X-Gm-Message-State: ACgBeo3oFJ3+Qn4jEn7gtucq6cdeiiFVlj2d6cYqa2ztEFHCSIbsUMyw HSV9DfXhaDX9tj4AFb5+gTz/jAq2lNw= X-Google-Smtp-Source: AA6agR5xMENTLphw/IC8LYPzf9p1ld/qxhZkX1jkgTFnttx6r+/KuMNLcDhFH1ApFaFYiQLbX5/A1w== X-Received: by 2002:a17:902:f711:b0:170:9e3c:1540 with SMTP id h17-20020a170902f71100b001709e3c1540mr9863076plo.22.1660023683994; Mon, 08 Aug 2022 22:41:23 -0700 (PDT) Received: from apollo.hsd1.ca.comcast.net ([2601:646:9200:a0f0::9f45]) by smtp.gmail.com with ESMTPSA id a4-20020a62d404000000b0052553215444sm9684419pfh.101.2022.08.08.22.41.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Aug 2022 22:41:23 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Cc: Khem Raj Subject: [PATCH 2/2] perl: Pass additional flags to enable lfs and gnu source Date: Mon, 8 Aug 2022 22:41:20 -0700 Message-Id: <20220809054120.820562-2-raj.khem@gmail.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220809054120.820562-1-raj.khem@gmail.com> References: <20220809054120.820562-1-raj.khem@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 Aug 2022 05:41:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/169134 These defines are needed to enable some GNU APIs and large file support is default in OE anyway Signed-off-by: Khem Raj --- meta/recipes-devtools/perl/perl_5.36.0.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/perl/perl_5.36.0.bb b/meta/recipes-devtools/perl/perl_5.36.0.bb index 4456cdbcfba..ead7dace165 100644 --- a/meta/recipes-devtools/perl/perl_5.36.0.bb +++ b/meta/recipes-devtools/perl/perl_5.36.0.bb @@ -45,6 +45,8 @@ PACKAGECONFIG[gdbm] = ",-Ui_gdbm,gdbm" # Don't generate comments in enc2xs output files. They are not reproducible export ENC2XS_NO_COMMENTS = "1" +CFLAGS += "-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" + do_configure:prepend() { cp -rfp ${STAGING_DATADIR_NATIVE}/perl-cross/* ${S} }