{"id":2224788,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2224788/?format=json","web_url":"http://patchwork.ozlabs.org/project/buildroot/patch/20260418163153.17519-1-chakrabortyshubham66@gmail.com/","project":{"id":27,"url":"http://patchwork.ozlabs.org/api/1.1/projects/27/?format=json","name":"Buildroot development","link_name":"buildroot","list_id":"buildroot.buildroot.org","list_email":"buildroot@buildroot.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260418163153.17519-1-chakrabortyshubham66@gmail.com>","date":"2026-04-18T16:31:53","name":"[v3] package/make: fix conflicting prototypes for getenv and getopt","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"fd1f917cdcc480577876dce63c6ef65c9e678d7a","submitter":{"id":92564,"url":"http://patchwork.ozlabs.org/api/1.1/people/92564/?format=json","name":"Shubham Chakraborty","email":"chakrabortyshubham66@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/buildroot/patch/20260418163153.17519-1-chakrabortyshubham66@gmail.com/mbox/","series":[{"id":500453,"url":"http://patchwork.ozlabs.org/api/1.1/series/500453/?format=json","web_url":"http://patchwork.ozlabs.org/project/buildroot/list/?series=500453","date":"2026-04-18T16:31:53","name":"[v3] package/make: fix conflicting prototypes for getenv and getopt","version":3,"mbox":"http://patchwork.ozlabs.org/series/500453/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2224788/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2224788/checks/","tags":{},"headers":{"Return-Path":"<buildroot-bounces@buildroot.org>","X-Original-To":["incoming-buildroot@patchwork.ozlabs.org","buildroot@buildroot.org"],"Delivered-To":["patchwork-incoming-buildroot@legolas.ozlabs.org","buildroot@buildroot.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=buildroot.org header.i=@buildroot.org\n header.a=rsa-sha256 header.s=default header.b=kt6FJvAy;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org\n (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org;\n envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org)"],"Received":["from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fycjL5lYNz1yGt\n\tfor <incoming-buildroot@patchwork.ozlabs.org>;\n Sun, 19 Apr 2026 02:32:21 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 59C6980E79;\n\tSat, 18 Apr 2026 16:32:19 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id a24Z531HSifQ; Sat, 18 Apr 2026 16:32:18 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 562A180E81;\n\tSat, 18 Apr 2026 16:32:18 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n by lists1.osuosl.org (Postfix) with ESMTP id 6A4CC35B\n for <buildroot@buildroot.org>; Sat, 18 Apr 2026 16:32:16 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id 5028440DE2\n for <buildroot@buildroot.org>; Sat, 18 Apr 2026 16:32:16 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id tpHZMGDIKxhu for <buildroot@buildroot.org>;\n Sat, 18 Apr 2026 16:32:15 +0000 (UTC)","from mail-pf1-x433.google.com (mail-pf1-x433.google.com\n [IPv6:2607:f8b0:4864:20::433])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 7498B40DDE\n for <buildroot@buildroot.org>; Sat, 18 Apr 2026 16:32:15 +0000 (UTC)","by mail-pf1-x433.google.com with SMTP id\n d2e1a72fcca58-82fa8d6425bso23056b3a.0\n for <buildroot@buildroot.org>; Sat, 18 Apr 2026 09:32:15 -0700 (PDT)","from fedora ([2409:40e5:112e:daba:4994:b597:7615:a059])\n by smtp.gmail.com with ESMTPSA id\n 41be03b00d2f7-c797701d9bfsm3968700a12.16.2026.04.18.09.32.11\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Sat, 18 Apr 2026 09:32:13 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp1.osuosl.org 562A180E81","OpenDKIM Filter v2.11.0 smtp4.osuosl.org 7498B40DDE"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=buildroot.org;\n\ts=default; t=1776529938;\n\tbh=16rcnzDEHQh1i56ubfLEgjEFnuZOGzwLtUZ5x/PDNYE=;\n\th=From:To:Cc:Date:Subject:List-Id:List-Unsubscribe:List-Archive:\n\t List-Post:List-Help:List-Subscribe:From;\n\tb=kt6FJvAy4RJdT/WVGrUcmUGMaQpnXYqTTEf2ehNgdCUbgjJM6Z5KYVxCuQJMwBKbG\n\t lIB1WnEa43/u4KVnegL4wnKf62G52UTMCtmFCMKxJQsgiy3I1/ycRG/924MAX68AaN\n\t 525GmeVIqLPka2ty7T3QA87tX88xOvZA3mbG96WlbSqsiwW2Dc6m9SggTmXymfLUwq\n\t zOpf9JTu36J8mndj+fwnKYgi37D2H1TtzQ8w3Wnkp1Ktf6TOaJmY4s6ztyj8kfJS1f\n\t kpBuHEQbOggF9UCOeAXhaUjCcdCKRO+KAo682euI/w7ik6Y4t4OcrafkCzLZWtDT3G\n\t EDUXn8GrmV9Tw==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2607:f8b0:4864:20::433; helo=mail-pf1-x433.google.com;\n envelope-from=chakrabortyshubham66@gmail.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org 7498B40DDE","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776529934; x=1777134734;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=XY2SunvGo7NNiOElWPEQzcpBnxZBgwy6hfTxm7CNFVQ=;\n b=O9zzQIbU0EiBzgU5iQgrhakSGiiCrAMDFv2OzQIlFKs6eyy5tduXAv2F5teUzkucru\n 6Xz8eaWqrB58zTk1d80B/BIPOkyQn/MropSi9wctR16pmhdmd4rIbWE7udka6VysEhnZ\n PyW4ty7fOn6Jl0d1BZwAZnY8SIl4KaWadNLceQPst+s0fJXL8NZW0jnSkQ8rosuvKZa+\n FEEiGsTwxY76xX1/k/sw6Urk3blNhw8tVlNojpu8Yqr6AOdFq2sqGm5UJlPSjCdeBktf\n EZjqLe27BsrWwKav+1UsKfEw23NBjxzbeaIDVTMwoKTqmZyQXHkxtPyzcEOQsRdEXQo8\n 3bMw==","X-Gm-Message-State":"AOJu0YxtTPBkHCeDcOK1RQYJjq1VWtF2ypbToU4njaf9q6WDMAx5Kj5G\n JFXCPzry5CLNgPCTizQj4GcBNXIPNFFlUhwTY7qZ7U/WmqX73mm5KlLWRqCVIl1u","X-Gm-Gg":"AeBDieuftaXHeaCNbikYMveH7uvrK5mi8FZbKuysp7joBfjeye/trJtPHdCLWtTWKxx\n wUFX6rqfXPCBclrUW4EPIgi7s8ZbME7n7OVucPaYgtpa8X2eCmsL499zKZLv98TCUeH2sbe+fq0\n AWnBXyZvPBGlIIVY2wlCudv1/Mw6wnS5v9ibxAFloUtpzPi0nIneD4t+6Ge4B1Rdiwdc3zmhm38\n sqQ3hzsUvjNVRRUMAaskmgVaLAL8/iYC7vyuwznBklxgNBo44uegC1ZOYB74tbDjLZ98sk6SaEa\n IEjB0TNfk0lSx7QaamzMeaSxcNBYo+qGRiFOqdNYtNZfuksGp9louCU/B3mvBQZFpKNWuP5n40l\n 0dUM7taPljeQysQ37Pm/kGvJyNrSi28e3F6jb8f8Ggd7EQhEcanwgaD04L2K9ig69Vy/zAQV30I\n saW2zyJMCuxO3UipQBwQn/vCHmaaONoFXy9SI3NGJGTgwQMA==","X-Received":"by 2002:a05:6a20:9187:b0:39b:f026:6f64 with SMTP id\n adf61e73a8af0-3a08d8a9d26mr8448941637.32.1776529934071;\n Sat, 18 Apr 2026 09:32:14 -0700 (PDT)","From":"Shubham Chakraborty <chakrabortyshubham66@gmail.com>","To":"buildroot@buildroot.org","Cc":"Shubham Chakraborty <chakrabortyshubham66@gmail.com>","Date":"Sat, 18 Apr 2026 22:01:53 +0530","Message-ID":"<20260418163153.17519-1-chakrabortyshubham66@gmail.com>","X-Mailer":"git-send-email 2.53.0","MIME-Version":"1.0","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776529934; x=1777134734; darn=buildroot.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=XY2SunvGo7NNiOElWPEQzcpBnxZBgwy6hfTxm7CNFVQ=;\n b=cLjvm2gcCKVrSDazmoIwX52PFIEKffGDRLtCLE23hFx6ZXCy8WWkEgTu5FGnL/T9Uo\n T9hSpupd4W4hG84vdP6iJKHlN0Sx+N3QeHpK2I6YrOOFMS8X2LrRxxSn9YVzj2QrmidR\n COsFcxNOVvuT0E0A076QulqNr38WXyMybSBMXLxUXpvfXmSNvjhZ0fS8BVhDuA15b6gP\n pWUDAzbzYXVnJp8Z3l2HjoL3+2jPxn9c6rbXDOBLGp1F/KashOesEuhtMLA938yUs7oU\n 0sZyBH9rZT7APikKm/uJF6sIaxibBusywTofdnGt7gPiXj005h4Wl5o4mKyXWjTP8HQs\n NVAw==","X-Mailman-Original-Authentication-Results":["smtp4.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=gmail.com","smtp4.osuosl.org;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.a=rsa-sha256 header.s=20251104 header.b=cLjvm2gc"],"Subject":"[Buildroot] [PATCH v3] package/make: fix conflicting prototypes for\n getenv and getopt","X-BeenThere":"buildroot@buildroot.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Discussion and development of buildroot <buildroot.buildroot.org>","List-Unsubscribe":"<https://lists.buildroot.org/mailman/options/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=unsubscribe>","List-Archive":"<http://lists.buildroot.org/pipermail/buildroot/>","List-Post":"<mailto:buildroot@buildroot.org>","List-Help":"<mailto:buildroot-request@buildroot.org?subject=help>","List-Subscribe":"<https://lists.buildroot.org/mailman/listinfo/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"buildroot-bounces@buildroot.org","Sender":"\"buildroot\" <buildroot-bounces@buildroot.org>"},"content":"GCC 15 defaults to C23, which rejects old-style K&R empty parameter\nlist declarations that conflict with typed prototypes in system headers.\nThis is particularly visible when using non-glibc C libraries (e.g. musl).\n\nFixes:\nlib/fnmatch.c:124:14: error: conflicting types for 'getenv'; have 'char *(void)'\n|   124 | extern char *getenv ();\n|       |              ^~~~~~\n\nFix getenv() declarations in lib/fnmatch.c and src/getopt.c, and\nfix getopt() declarations in src/getopt.h to match the prototypes\nin <stdlib.h> and <unistd.h>.\n\nUpstream: https://lists.gnu.org/archive/html/bug-make/2025-03/msg00032.html\n\nSigned-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>\n\n---\nv2 -> v3:\n  - Fix whitespace and indentation (check-package)\nv1 -> v2:\n  - Add Upstream: tag with link to bug-make mailing list (Marcus)\n  - Include specific GCC 15 error log in commit message\n  - Improve commit description with more technical context\n  - Update patch headers to standard format\n---\n ...ing-prototypes-for-getenv-and-getopt.patch | 70 +++++++++++++++++++\n 1 file changed, 70 insertions(+)\n create mode 100644 package/make/0001-fix-conflicting-prototypes-for-getenv-and-getopt.patch","diff":"diff --git a/package/make/0001-fix-conflicting-prototypes-for-getenv-and-getopt.patch b/package/make/0001-fix-conflicting-prototypes-for-getenv-and-getopt.patch\nnew file mode 100644\nindex 0000000000..ba0132bcb4\n--- /dev/null\n+++ b/package/make/0001-fix-conflicting-prototypes-for-getenv-and-getopt.patch\n@@ -0,0 +1,70 @@\n+From b64b62d00cb64b62d00cb64b62d00cb64b62d00c Mon Sep 17 00:00:00:00 2001\n+From: Shubham Chakraborty <chakrabortyshubham66@gmail.com>\n+Date: Sat, 21 Feb 2026 12:00:00 +0000\n+Subject: [PATCH] fix conflicting prototypes for getenv and getopt\n+\n+GCC 15 defaults to C23, which rejects old-style K&R empty parameter\n+list declarations that conflict with typed prototypes in system headers.\n+\n+Fix getenv() declarations in lib/fnmatch.c and src/getopt.c, and\n+fix getopt() declarations in src/getopt.h to match the prototypes\n+in <stdlib.h> and <unistd.h>.\n+\n+This fixes build errors like:\n+error: conflicting types for 'getenv'; have 'char *(void)'\n+\n+Upstream: https://lists.gnu.org/archive/html/bug-make/2025-03/msg00032.html\n+Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>\n+---\n+ lib/fnmatch.c | 2 +-\n+ src/getopt.c  | 2 +-\n+ src/getopt.h  | 4 ++--\n+ 3 files changed, 4 insertions(+), 4 deletions(-)\n+\n+diff --git a/lib/fnmatch.c b/lib/fnmatch.c\n+--- a/lib/fnmatch.c\n++++ b/lib/fnmatch.c\n+@@ -121,7 +121,7 @@\n+    whose names are inconsistent.  */\n+\n+ # if !defined _LIBC && !defined getenv\n+-extern char *getenv ();\n++extern char *getenv (const char *__name);\n+ # endif\n+\n+ # ifndef errno\n+diff --git a/src/getopt.c b/src/getopt.c\n+--- a/src/getopt.c\n++++ b/src/getopt.c\n+@@ -202,7 +202,7 @@\n+    whose names are inconsistent.  */\n+\n+ #ifndef getenv\n+-extern char *getenv ();\n++extern char *getenv (const char *__name);\n+ #endif\n+\n+ static char *\n+diff --git a/src/getopt.h b/src/getopt.h\n+--- a/src/getopt.h\n++++ b/src/getopt.h\n+@@ -102,7 +102,7 @@\n+    errors, only prototype getopt for the GNU C library.  */\n+ extern int getopt (int argc, char *const *argv, const char *shortopts);\n+ #else /* not __GNU_LIBRARY__ */\n+-extern int getopt ();\n++extern int getopt (int argc, char *const *argv, const char *shortopts);\n+ #endif /* __GNU_LIBRARY__ */\n+ extern int getopt_long (int argc, char *const *argv, const char *shortopts,\n+\t\t        const struct option *longopts, int *longind);\n+@@ -116,7 +116,7 @@\n+\t\t             const struct option *longopts, int *longind,\n+\t\t\t     int long_only);\n+ #else /* not __STDC__ */\n+-extern int getopt ();\n++extern int getopt (int argc, char *const *argv, const char *shortopts);\n+ extern int getopt_long ();\n+ extern int getopt_long_only ();\n+\n+--\n+2.43.0\n","prefixes":["v3"]}