Re: [PATCH] Make remaining usage strings and string tables const

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 21, 2025 at 01:30:36PM -0700, Junio C Hamano wrote:
> Ahelenia Ziemiańska <nabijaczleweli@xxxxxxxxxxxxxxxxxx> writes:
> > -static const char *blame_opt_usage[] = {
> > +static const char *const blame_opt_usage[] = {
> >  	blame_usage,
> >  	"",
> >  	N_("<rev-opts> are documented in git-rev-list(1)"),
> >  	NULL
> >  };
> much looser to allow swapping the pointers in the array is *not* a
> problem per-se, but as long as the compiler would not barf after
> this patch, we know these callers that use these arrays are not
> doing such mutations to these arrays themselves, so it is good.
This built for me on Debian and the resulting binary worked so there's
no obvious sneaky const-incorrectness; it only resulted in one error,
where one of these variables was assigned to a
  const char *      *opt_usage;
instead of a
  const char *const *opt_usage;
this has been obviously fixed and is part of this submission.

I came across this as I was debugging some other issue
(that ended up as me holding it wrong),
static const char *s in library functions appeared quite pervasive,
but those aren't really possible to identify and close semi-automatically
(and it's unclear to me if a tighter analysis scope allows the compiler
 to actually put the static in .rodata or eliminate it outright).

Best,

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux