1

tty: vt: conmakehash: remove non-portable code printing comment header

Commit 6e20753da6 ("tty: vt: conmakehash: cope with abs_srctree no
longer in env") included <linux/limits.h>, which invoked another
(wrong) patch that tried to address a build error on macOS.

According to the specification [1], the correct header to use PATH_MAX
is <limits.h>.

The minimal fix would be to replace <linux/limits.h> with <limits.h>.

However, the following commits seem questionable to me:

 - 3bd85c6c97 ("tty: vt: conmakehash: Don't mention the full path of the input in output")
 - 6e20753da6 ("tty: vt: conmakehash: cope with abs_srctree no longer in env")

These commits made too many efforts to cope with a comment header in
drivers/tty/vt/consolemap_deftbl.c:

  /*
   * Do not edit this file; it was automatically generated by
   *
   * conmakehash drivers/tty/vt/cp437.uni > [this file]
   *
   */

With this commit, the header part of the generate C file will be
simplified as follows:

  /*
   * Automatically generated file; Do not edit.
   */

BTW, another series of excessive efforts for a comment header can be
seen in the following:

 - 5ef6dc08cf ("lib/build_OID_registry: don't mention the full path of the script in output")
 - 2fe29fe945 ("lib/build_OID_registry: avoid non-destructive substitution for Perl < 5.13.2 compat")

[1]: https://pubs.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html

Fixes: 6e20753da6 ("tty: vt: conmakehash: cope with abs_srctree no longer in env")
Cc: stable <stable@kernel.org>
Reported-by: Daniel Gomez <da.gomez@samsung.com>
Closes: https://lore.kernel.org/all/20240807-macos-build-support-v1-11-4cd1ded85694@samsung.com/
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/r/20240809160853.1269466-1-masahiroy@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Masahiro Yamada 2024-08-10 01:07:20 +09:00 committed by Greg Kroah-Hartman
parent dc98d76a15
commit 7258fdd7d7

View File

@ -11,8 +11,6 @@
* Copyright (C) 1995-1997 H. Peter Anvin * Copyright (C) 1995-1997 H. Peter Anvin
*/ */
#include <libgen.h>
#include <linux/limits.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <sysexits.h> #include <sysexits.h>
@ -79,7 +77,6 @@ int main(int argc, char *argv[])
{ {
FILE *ctbl; FILE *ctbl;
const char *tblname; const char *tblname;
char base_tblname[PATH_MAX];
char buffer[65536]; char buffer[65536];
int fontlen; int fontlen;
int i, nuni, nent; int i, nuni, nent;
@ -245,20 +242,15 @@ int main(int argc, char *argv[])
for ( i = 0 ; i < fontlen ; i++ ) for ( i = 0 ; i < fontlen ; i++ )
nuni += unicount[i]; nuni += unicount[i];
strncpy(base_tblname, tblname, PATH_MAX);
base_tblname[PATH_MAX - 1] = 0;
printf("\ printf("\
/*\n\ /*\n\
* Do not edit this file; it was automatically generated by\n\ * Automatically generated file; Do not edit.\n\
*\n\
* conmakehash %s > [this file]\n\
*\n\
*/\n\ */\n\
\n\ \n\
#include <linux/types.h>\n\ #include <linux/types.h>\n\
\n\ \n\
u8 dfont_unicount[%d] = \n\ u8 dfont_unicount[%d] = \n\
{\n\t", basename(base_tblname), fontlen); {\n\t", fontlen);
for ( i = 0 ; i < fontlen ; i++ ) for ( i = 0 ; i < fontlen ; i++ )
{ {