Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Gomez <da.gomez@samsung.com>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: "Nathan Chancellor" <nathan@kernel.org>,
	"Nicolas Schier" <nicolas@fjasle.eu>,
	"Lucas De Marchi" <lucas.demarchi@intel.com>,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@gmail.com>,
	"William Hubbs" <w.d.hubbs@gmail.com>,
	"Chris Brannon" <chris@the-brannons.com>,
	"Kirk Reiser" <kirk@reisers.ca>,
	"Samuel Thibault" <samuel.thibault@ens-lyon.org>,
	"Paul Moore" <paul@paul-moore.com>,
	"Stephen Smalley" <stephen.smalley.work@gmail.com>,
	"Ondrej Mosnacek" <omosnace@redhat.com>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>, "Marc Zyngier" <maz@kernel.org>,
	"Oliver Upton" <oliver.upton@linux.dev>,
	"James Morse" <james.morse@arm.com>,
	"Suzuki K Poulose" <suzuki.poulose@arm.com>,
	"Zenghui Yu" <yuzenghui@huawei.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"Nick Desaulniers" <ndesaulniers@google.com>,
	"Bill Wendling" <morbo@google.com>,
	"Justin Stitt" <justinstitt@google.com>,
	"Simona Vetter" <simona.vetter@ffwll.ch>,
	linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org,
	intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	speakup@linux-speakup.org, selinux@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
	linux-serial@vger.kernel.org, llvm@lists.linux.dev,
	"Finn Behrens" <me@kloenk.dev>,
	"Daniel Gomez (Samsung)" <d+samsung@kruces.com>,
	gost.dev@samsung.com
Subject: Re: [PATCH v2 3/8] drm/xe: xe_gen_wa_oob: fix program_invocation_short_name for macos
Date: Thu, 19 Sep 2024 21:12:15 +0200	[thread overview]
Message-ID: <d2726a61-37fa-4c39-aad6-08bf99d8d14b@samsung.com> (raw)
In-Reply-To: <CAK7LNAQDxVGOa5g3f_dqZ5nD_u8_a++T+ussL+AWuOXs-XOsow@mail.gmail.com>

On 9/6/2024 4:39 PM, Masahiro Yamada wrote:
> On Fri, Sep 6, 2024 at 8:01 PM Daniel Gomez via B4 Relay
> <devnull+da.gomez.samsung.com@kernel.org> wrote:
>>
>> From: Daniel Gomez <da.gomez@samsung.com>
>>
>> Use getprogname() [1] instead of program_invocation_short_name() [2]
>> for macOS hosts.
>>
>> [1]:
>> https://www.gnu.org/software/gnulib/manual/html_node/
>> program_005finvocation_005fshort_005fname.html
>>
>> [2]:
>> https://developer.apple.com/library/archive/documentation/System/
>> Conceptual/ManPages_iPhoneOS/man3/getprogname.3.html
>>
>> Fixes build error for macOS hosts:
>>
>> drivers/gpu/drm/xe/xe_gen_wa_oob.c:34:3: error: use of
>> undeclared identifier 'program_invocation_short_name'    34 |
>> program_invocation_short_name);       |                 ^ 1 error
>> generated.
>>
>> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
>> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
>> ---
>>   drivers/gpu/drm/xe/xe_gen_wa_oob.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_gen_wa_oob.c b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
>> index 904cf47925aa..0d933644d8a0 100644
>> --- a/drivers/gpu/drm/xe/xe_gen_wa_oob.c
>> +++ b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
>> @@ -8,6 +8,7 @@
>>   #include <errno.h>
>>   #include <stdbool.h>
>>   #include <stdio.h>
>> +#include <stdlib.h>
>>   #include <string.h>
>>
>>   #define HEADER \
>> @@ -30,6 +31,9 @@
>>
>>   static void print_usage(FILE *f)
>>   {
>> +#ifdef __APPLE__
>> +       const char *program_invocation_short_name = getprogname();
>> +#endif
>>          fprintf(f, "usage: %s <input-rule-file> <generated-c-source-file> <generated-c-header-file>\n",
>>                  program_invocation_short_name);
>>   }
>>
>> --
>> 2.46.0
>>
>>
> 
> 
> 
> Before adding such #ifdef, you should check how other programs do.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Solution 1 : hard-code the program name
> 
> 
> diff --git a/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> index 106ee2b027f0..9e9a29e2cecf 100644
> --- a/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> +++ b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> @@ -30,8 +30,7 @@
> 
>   static void print_usage(FILE *f)
>   {
> -       fprintf(f, "usage: %s <input-rule-file>
> <generated-c-source-file> <generated-c-header-file>\n",
> -               program_invocation_short_name);
> +       fprintf(f, "usage: xe_gen_wa_oob <input-rule-file>
> <generated-c-source-file> <generated-c-header-file>\n");
>   }
> 
>   static void print_parse_error(const char *err_msg, const char *line,
> 
> 
> 
> 
> 
> 
> 
> 
> Solution 2: use argv[0]
> 
> 
> diff --git a/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> index 106ee2b027f0..600c63e88e46 100644
> --- a/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> +++ b/drivers/gpu/drm/xe/xe_gen_wa_oob.c
> @@ -28,10 +28,10 @@
>          "\n" \
>          "#endif\n"
> 
> -static void print_usage(FILE *f)
> +static void print_usage(FILE *f, const char *progname)
>   {
>          fprintf(f, "usage: %s <input-rule-file>
> <generated-c-source-file> <generated-c-header-file>\n",
> -               program_invocation_short_name);
> +               progname);
>   }
> 
>   static void print_parse_error(const char *err_msg, const char *line,
> @@ -136,7 +136,7 @@ int main(int argc, const char *argv[])
> 
>          if (argc < 3) {
>                  fprintf(stderr, "ERROR: wrong arguments\n");
> -               print_usage(stderr);
> +               print_usage(stderr, argv[0]);
>                  return 1;
>          }


This approach looks good to me. I will drop Lucas' tag in favor to this. 
Please, Lucas let me know if you disagree any of the proposals here or 
if you have any preference. Otherwise, I'll resend this with solution 2.



> 
> 
> 
> 
> 
> 
> 
> 


  parent reply	other threads:[~2024-09-19 19:12 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-06 11:01 [PATCH v2 0/8] Enable build system on macOS hosts Daniel Gomez via B4 Relay
2024-09-06 11:01 ` [PATCH v2 1/8] scripts: subarch.include: fix SUBARCH " Daniel Gomez via B4 Relay
2024-09-08 14:05   ` Masahiro Yamada
2024-09-06 11:01 ` [PATCH v2 2/8] file2alias: fix uuid_t definitions for macos Daniel Gomez via B4 Relay
2024-09-07 23:56   ` Masahiro Yamada
2024-09-08 17:40     ` Daniel Gomez (Samsung)
2024-09-09  5:40       ` Masahiro Yamada
2024-10-03 22:32   ` Andy Shevchenko
2024-09-06 11:01 ` [PATCH v2 3/8] drm/xe: xe_gen_wa_oob: fix program_invocation_short_name " Daniel Gomez via B4 Relay
2024-09-06 14:39   ` Masahiro Yamada
2024-09-06 15:32     ` Jani Nikula
2024-09-19 19:12     ` Daniel Gomez [this message]
2024-09-06 11:01 ` [PATCH v2 4/8] arm64: nvhe: add bee-headers support Daniel Gomez via B4 Relay
2024-09-06 14:02   ` Masahiro Yamada
2024-09-07  9:27     ` Daniel Gomez (Samsung)
2024-09-08  1:17       ` Masahiro Yamada
2024-09-06 11:01 ` [PATCH v2 5/8] scripts: " Daniel Gomez via B4 Relay
2024-09-06 14:02   ` Masahiro Yamada
2024-09-06 11:01 ` [PATCH v2 6/8] selinux: do not include <linux/*.h> headers from host programs Daniel Gomez via B4 Relay
2024-09-06 14:56   ` Paul Moore
2024-09-06 15:07     ` Daniel Gomez (Samsung)
2024-09-06 11:01 ` [PATCH v2 7/8] selinux: move genheaders to security/selinux/ Daniel Gomez via B4 Relay
2024-09-06 14:54   ` Paul Moore
2024-09-06 15:06     ` Daniel Gomez (Samsung)
2024-09-06 15:37     ` Masahiro Yamada
2024-09-06 15:47       ` Paul Moore
2024-09-06 11:01 ` [PATCH v2 8/8] Documentation: add howto build in macos Daniel Gomez via B4 Relay
2024-09-07  8:33   ` Masahiro Yamada
2024-09-07  9:32     ` Daniel Gomez (Samsung)
2024-09-08  1:29       ` Masahiro Yamada
2024-09-08  9:03       ` Marc Zyngier
2024-09-24  8:51         ` Daniel Gomez
2024-09-06 11:09 ` ✗ CI.Patch_applied: failure for Enable build system on macOS hosts (rev2) Patchwork
2024-09-12 12:02 ` [PATCH v2 0/8] Enable build system on macOS hosts Jeff Xie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d2726a61-37fa-4c39-aad6-08bf99d8d14b@samsung.com \
    --to=da.gomez@samsung.com \
    --cc=airlied@gmail.com \
    --cc=catalin.marinas@arm.com \
    --cc=chris@the-brannons.com \
    --cc=d+samsung@kruces.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gost.dev@samsung.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=james.morse@arm.com \
    --cc=jirislaby@kernel.org \
    --cc=justinstitt@google.com \
    --cc=kirk@reisers.ca \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=lucas.demarchi@intel.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=masahiroy@kernel.org \
    --cc=maz@kernel.org \
    --cc=me@kloenk.dev \
    --cc=morbo@google.com \
    --cc=mripard@kernel.org \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=nicolas@fjasle.eu \
    --cc=oliver.upton@linux.dev \
    --cc=omosnace@redhat.com \
    --cc=paul@paul-moore.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=selinux@vger.kernel.org \
    --cc=simona.vetter@ffwll.ch \
    --cc=speakup@linux-speakup.org \
    --cc=stephen.smalley.work@gmail.com \
    --cc=suzuki.poulose@arm.com \
    --cc=thomas.hellstrom@linux.intel.com \
    --cc=tzimmermann@suse.de \
    --cc=w.d.hubbs@gmail.com \
    --cc=will@kernel.org \
    --cc=yuzenghui@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox