public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: Carlos O'Donell <carlos@redhat.com>, libc-alpha@sourceware.org
Subject: Re: [PATCH v5 12/13] string: Add sigabbrev_np and sigdescr_np
Date: Fri, 3 Jul 2020 17:23:52 -0300	[thread overview]
Message-ID: <abf2519c-3cfe-c62b-3840-9c121f7ae846@linaro.org> (raw)
In-Reply-To: <05744028-6434-5c9f-7498-12965f0b793c@redhat.com>



On 02/07/2020 18:13, Carlos O'Donell wrote:
> On 6/19/20 9:43 AM, Adhemerval Zanella wrote:
>> The sigabbrev_np returns the abbreviated signal name (i.g. "HUP" for
>> SIGHUP) while sigdescr_np returns string describing error number
> 
> s/returns string/returns the string/g
> s/ error/ the error/g

Ack.

> 
>> (i.g "Hangup" for SIGHUP).  Different than strsignal, sigdescr_np
>> does not attempt to translate the return description and both
>> functions return NULL for an invalid signal number.
>>
>> They should be used instead of sys_siglist or sys_sigabbrev and they
>> are both thread and async-signal safe.  They are added as GNU
>> extensions on string.h header (same as strsignal).
> 
> These are perfect functions to use in place of sys_siglist and
> sys_sigabbrev. Thus we now have functions to access the old data in
> a way that avoids exposing the data to COPY relocations (and the
> size encoded in that ABI). Thanks for fixing this up.
>  
>> Checked on x86-64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu,
>> and s390x-linux-gnu.
> 
> OK for master if you accept the manual suggestions and commit message
> changes.

Done, I also extended a bit the release wiki with a simple example on
how to use these interfaces.

> 
> No regressions on x86_64 and i686.
> 
> Tested-by: Carlos O'Donell <carlos@redhat.com>
> Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> 

>>
>> diff --git a/NEWS b/NEWS
>> index ec39b6e056..f504772eb6 100644
>> --- a/NEWS
>> +++ b/NEWS
>> @@ -31,6 +31,16 @@ Major new features:
>>    pthread_attr_getsigmask_np have been added.  They allow applications
>>    to specify the signal mask of a thread created with pthread_create.
>>  
>> +* The functions sigabbrev_np and sigdescr_np have been added.  The
>> +  sigabbrev_np returns the abbreviated signal name (i.g. "HUP" for SIGHUP)
>> +  while sigdescr_np returns string describing signal number (i.g "Hangup"
> 
> s/returns string/returns a string/g
> s/ signal/ the signal/g

Ack.

> 
>> +  for SIGHUP).  Different than strsignal, sigdescr_np does not attempt
>> +  to translate the return description and both functions return NULL for
>> +  an invalid signal number.
>> +
>> +  They should be used instead of sys_siglist or sys_sigabbrev and they
>> +  are both thread and async-signal safe.  These functions are GNU extensions.
> 
> OK.
> 
>> +
>>  Deprecated and removed features, and other changes affecting compatibility:
>>  
>>  * The deprecated <sys/sysctl.h> header and the sysctl function have been
>> diff --git a/include/signal.h b/include/signal.h
>> index 3d6315b741..b4ee02d153 100644
>> --- a/include/signal.h
>> +++ b/include/signal.h
>> @@ -16,7 +16,8 @@ libc_hidden_proto (__libc_current_sigrtmin)
>>  libc_hidden_proto (__libc_current_sigrtmax)
>>  extern const char * const __sys_siglist[_NSIG];
>>  libc_hidden_proto (__sys_siglist)
>> -
>> +extern const char * const __sys_sigabbrev[_NSIG];
>> +libc_hidden_proto (__sys_sigabbrev)
> 
> OK.
> 
>>  
>>  /* Now define the internal interfaces.  */
>>  extern __sighandler_t __bsd_signal (int __sig, __sighandler_t __handler);
>> diff --git a/include/string.h b/include/string.h
>> index ce01ad8254..f4ce138622 100644
>> --- a/include/string.h
>> +++ b/include/string.h
>> @@ -53,6 +53,9 @@ extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen);
>>  
>>  extern char *__strerror_l (int __errnum, locale_t __loc);
>>  
>> +extern const char *__sigdescr_np (int __errnum);
>> +libc_hidden_proto (__sigdescr_np)
> 
> OK.
> 
>> +
>>  /* Get _STRING_ARCH_unaligned.  */
>>  #include <string_private.h>
>>  #endif
>> diff --git a/manual/signal.texi b/manual/signal.texi
>> index 34def1c06c..a19dff85f8 100644
>> --- a/manual/signal.texi
>> +++ b/manual/signal.texi
>> @@ -880,6 +880,30 @@ to @var{signum}.
>>  This function is a BSD feature, declared in the header file @file{signal.h}.
>>  @end deftypefun
>>  
>> +@deftypefun void sigdescr_np (int @var{signum})
>> +@standards{GNU, string.h}
>> +@safety{@prelim{}@mtsafe{@mtssigintr{}}@assafe{}@acsafe{}}
> 
> Use @mtsafe{}, because the function does not touch _sigintr at all.

Ack.

> 
>> +This function returns the message describing the signal @var{signum} or
>> +@code{NULL} for invalid signal number (i.g "Hangup" for @code{SIGHUP}).
> 
> s/i.g/e.g./g

Ack.

> 
>> +Different than @code{strsignal} the returned description is not translated.
>> +The message porints to a static storage whose lifetime is the whole lifetime
> 
> s/porints/points/g

ACk.

> 
>> +of the program.
>> +
>> +@pindex string.h
>> +This function is a GNU extension, declared in the header file @file{string.h}.
>> +@end deftypefun
>> +
>> +@deftypefun void sigabbrev_np (int @var{signum})
>> +@standards{GNU, string.h}
>> +@safety{@prelim{}@mtsafe{@mtssigintr{}}@assafe{}@acsafe{}}
> 
> Use @mtsafe{}, because the function does not touch _sigintr at all.

Ack.

> 
>> +This function returns the abbreviation describing the signal @var{signum} or
>> +@code{NULL} for invalid signal number.  The message porints to a static
> 
> s/porints/points/g

Ack.

  reply	other threads:[~2020-07-03 20:23 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-19 13:43 [PATCH v5 01/13] signal: Add signum-{generic,arch}.h Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 02/13] signal: Move sys_siglist to a compat symbol Adhemerval Zanella
2020-07-02 18:32   ` Carlos O'Donell
2020-07-03 17:58     ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 03/13] signal: Move sys_errlist " Adhemerval Zanella
2020-07-02 18:48   ` Carlos O'Donell
2020-07-03 19:17     ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 04/13] linux: Fix __NSIG_WORDS and add __NSIG_BYTES Adhemerval Zanella
2020-07-02 19:08   ` Carlos O'Donell
2020-07-03 19:23     ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 05/13] string: Remove old TLS usage on strsignal Adhemerval Zanella
2020-07-02 19:32   ` Carlos O'Donell
2020-07-03 19:26     ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 06/13] string: Implement strerror in terms of strerror_l Adhemerval Zanella
2020-07-02 19:44   ` Carlos O'Donell
2020-07-03 19:53     ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 07/13] string: Use tls-internal on strerror_l Adhemerval Zanella
2020-07-02 19:48   ` Carlos O'Donell
2020-06-19 13:43 ` [PATCH v5 08/13] string: Simplify strerror_r Adhemerval Zanella
2020-07-02 19:51   ` Carlos O'Donell
2020-06-19 13:43 ` [PATCH v5 09/13] string: Add strsignal test Adhemerval Zanella
2020-07-02 19:55   ` Carlos O'Donell
2020-07-02 20:01   ` Carlos O'Donell
2020-07-03 20:06     ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 10/13] string: Add strerror, strerror_r, and strerror_l test Adhemerval Zanella
2020-07-02 20:02   ` Carlos O'Donell
2020-06-19 13:43 ` [PATCH v5 11/13] string: Add strerror_l on test-strerror-errno Adhemerval Zanella
2020-07-02 20:05   ` Carlos O'Donell
2020-06-19 13:43 ` [PATCH v5 12/13] string: Add sigabbrev_np and sigdescr_np Adhemerval Zanella
2020-07-02 21:13   ` Carlos O'Donell
2020-07-03 20:23     ` Adhemerval Zanella [this message]
     [not found]       ` <VI1PR08MB532546AD22FA628741788C5BFF670@VI1PR08MB5325.eurprd08.prod.outlook.com>
2020-07-08 11:18         ` Tamar Christina
2020-07-08 11:36           ` Florian Weimer
2020-07-08 11:48             ` Tamar Christina
2020-07-08 11:52               ` Florian Weimer
2020-07-08 12:16                 ` Tamar Christina
2020-07-08 12:23                   ` Adhemerval Zanella
2020-06-19 13:43 ` [PATCH v5 13/13] string: Add strerrorname and strerrordesc Adhemerval Zanella
2020-07-02 21:43   ` Carlos O'Donell
2020-07-03 21:01     ` Adhemerval Zanella
2020-07-03 21:19       ` Carlos O'Donell
2020-07-03 22:34         ` Adhemerval Zanella
2020-07-06 12:43           ` Carlos O'Donell
2020-07-06 13:57             ` [PATCH v6] string: Add strerrorname_np and strerrordesc_np Adhemerval Zanella
2020-07-06 14:04               ` Andreas Schwab
2020-07-06 14:06                 ` Adhemerval Zanella
2020-07-06 15:07               ` Carlos O'Donell
2020-07-02 18:26 ` [PATCH v5 01/13] signal: Add signum-{generic,arch}.h Carlos O'Donell

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=abf2519c-3cfe-c62b-3840-9c121f7ae846@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=carlos@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).