[PATCH v2] drm/xe: switch to local __basename() helper
Carlos Llamas
cmllamas at google.com
Mon Aug 25 15:49:42 UTC 2025
On Sat, Aug 23, 2025 at 06:56:30AM -0500, Lucas De Marchi wrote:
> On Thu, Aug 21, 2025 at 10:00:53PM +0000, Carlos Llamas wrote:
> > Commit b0a2ee5567ab ("drm/xe: prepare xe_gen_wa_oob to be multi-use")
> > introduced a call to basename(). The GNU version of this function is not
> > portable and fails to build with alternative libc implementations like
> > musl or bionic. This causes the following build error:
> >
> > drivers/gpu/drm/xe/xe_gen_wa_oob.c:130:12: error: assignment to ‘const char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
> > 130 | fn = basename(fn);
> > | ^
> >
> > While a POSIX version of basename() could be used, it would require a
> > separate header plus the behavior differs from GNU version in that it
> > might modify its argument. Not great.
> >
> > Instead, implement a local __basename() helper based on strrchr() that
>
> double underscore is reserved for libc in userspace
> (https://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html):
>
> (...) all identifiers regardless of use that begin with either two
> underscores or an underscore followed by a capital letter are reserved
> names. This is so that the library and header files can define
> functions, variables, and macros for internal purposes without risk of
> conflict with names in user programs.
>
I see, xbasename() it is then...
More information about the Intel-xe
mailing list