diff mbox series

login: Add nonstring attributes to struct utmpx [BZ #24899]

Message ID 87sgq6o5oq.fsf@oldenburg2.str.redhat.com
State New
Headers show
Series login: Add nonstring attributes to struct utmpx [BZ #24899] | expand

Commit Message

Florian Weimer Aug. 12, 2019, 1:48 p.m. UTC
Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
-Wstringop-truncation option new in GCC 8 detects common misuses")
added __attribute_nonstring__ to bits/utmp.h, but it did not update
the parallel bits/utmpx.h header.

2019-08-12  Florian Weimer  <fweimer@redhat.com>

	[BZ #24899]
	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
	__attribute_nonstring__ to ut_line, ut_user, ut_host.

Comments

Florian Weimer Aug. 13, 2019, 11:16 a.m. UTC | #1
* Florian Weimer:

> Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
> -Wstringop-truncation option new in GCC 8 detects common misuses")
> added __attribute_nonstring__ to bits/utmp.h, but it did not update
> the parallel bits/utmpx.h header.
>
> 2019-08-12  Florian Weimer  <fweimer@redhat.com>
>
> 	[BZ #24899]
> 	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
> 	__attribute_nonstring__ to ut_line, ut_user, ut_host.

I forgot to update the s390 header.  The patch below fixes this.

Thanks,
Florian

login: Add nonstring attributes to struct utmpx [BZ #24899]

Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
-Wstringop-truncation option new in GCC 8 detects common misuses")
added __attribute_nonstring__ to bits/utmp.h, but it did not update
the parallel bits/utmpx.h header.

2019-08-13  Florian Weimer  <fweimer@redhat.com>

	[BZ #24899]
	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
	__attribute_nonstring__ to ut_line, ut_user, ut_host.
	* sysdeps/unix/sysv/linux/s390/bits/utmpx.h (struct utmpx):
	Likewise.

diff --git a/sysdeps/gnu/bits/utmpx.h b/sysdeps/gnu/bits/utmpx.h
index 472a7d57d3..36259dbae1 100644
--- a/sysdeps/gnu/bits/utmpx.h
+++ b/sysdeps/gnu/bits/utmpx.h
@@ -56,10 +56,13 @@ struct utmpx
 {
   short int ut_type;		/* Type of login.  */
   __pid_t ut_pid;		/* Process ID of login process.  */
-  char ut_line[__UT_LINESIZE];	/* Devicename.  */
+  char ut_line[__UT_LINESIZE]
+    __attribute_nonstring__;	/* Devicename.  */
   char ut_id[4];		/* Inittab ID. */
-  char ut_user[__UT_NAMESIZE];	/* Username.  */
-  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
+  char ut_user[__UT_NAMESIZE]
+    __attribute_nonstring__;	/* Username.  */
+  char ut_host[__UT_HOSTSIZE]
+    __attribute_nonstring__;	/* Hostname for remote login.  */
   struct __exit_status ut_exit;	/* Exit status of a process marked
 				   as DEAD_PROCESS.  */
 
diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h b/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
index ea3e860a2d..dab099994a 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
@@ -56,10 +56,13 @@ struct utmpx
 {
   short int ut_type;		/* Type of login.  */
   __pid_t ut_pid;		/* Process ID of login process.  */
-  char ut_line[__UT_LINESIZE];	/* Devicename.  */
+  char ut_line[__UT_LINESIZE]
+    __attribute_nonstring__;	/* Devicename.  */
   char ut_id[4];		/* Inittab ID. */
-  char ut_user[__UT_NAMESIZE];	/* Username.  */
-  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
+  char ut_user[__UT_NAMESIZE]
+    __attribute_nonstring__;	/* Username.  */
+  char ut_host[__UT_HOSTSIZE]
+    __attribute_nonstring__;	/* Hostname for remote login.  */
   struct __exit_status ut_exit;	/* Exit status of a process marked
 				   as DEAD_PROCESS.  */
Adhemerval Zanella Aug. 13, 2019, 3:01 p.m. UTC | #2
On 13/08/2019 08:16, Florian Weimer wrote:
> * Florian Weimer:
> 
>> Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
>> -Wstringop-truncation option new in GCC 8 detects common misuses")
>> added __attribute_nonstring__ to bits/utmp.h, but it did not update
>> the parallel bits/utmpx.h header.
>>
>> 2019-08-12  Florian Weimer  <fweimer@redhat.com>
>>
>> 	[BZ #24899]
>> 	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
>> 	__attribute_nonstring__ to ut_line, ut_user, ut_host.
> 
> I forgot to update the s390 header.  The patch below fixes this.
> 
> Thanks,
> Florian
> 
> login: Add nonstring attributes to struct utmpx [BZ #24899]
> 
> Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
> -Wstringop-truncation option new in GCC 8 detects common misuses")
> added __attribute_nonstring__ to bits/utmp.h, but it did not update
> the parallel bits/utmpx.h header.
> 
> 2019-08-13  Florian Weimer  <fweimer@redhat.com>
> 
> 	[BZ #24899]
> 	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
> 	__attribute_nonstring__ to ut_line, ut_user, ut_host.
> 	* sysdeps/unix/sysv/linux/s390/bits/utmpx.h (struct utmpx):
> 	Likewise.

LGTM, thanks.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>

> 
> diff --git a/sysdeps/gnu/bits/utmpx.h b/sysdeps/gnu/bits/utmpx.h
> index 472a7d57d3..36259dbae1 100644
> --- a/sysdeps/gnu/bits/utmpx.h
> +++ b/sysdeps/gnu/bits/utmpx.h
> @@ -56,10 +56,13 @@ struct utmpx
>  {
>    short int ut_type;		/* Type of login.  */
>    __pid_t ut_pid;		/* Process ID of login process.  */
> -  char ut_line[__UT_LINESIZE];	/* Devicename.  */
> +  char ut_line[__UT_LINESIZE]
> +    __attribute_nonstring__;	/* Devicename.  */
>    char ut_id[4];		/* Inittab ID. */
> -  char ut_user[__UT_NAMESIZE];	/* Username.  */
> -  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
> +  char ut_user[__UT_NAMESIZE]
> +    __attribute_nonstring__;	/* Username.  */
> +  char ut_host[__UT_HOSTSIZE]
> +    __attribute_nonstring__;	/* Hostname for remote login.  */
>    struct __exit_status ut_exit;	/* Exit status of a process marked
>  				   as DEAD_PROCESS.  */
>  
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h b/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
> index ea3e860a2d..dab099994a 100644
> --- a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
> +++ b/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
> @@ -56,10 +56,13 @@ struct utmpx
>  {
>    short int ut_type;		/* Type of login.  */
>    __pid_t ut_pid;		/* Process ID of login process.  */
> -  char ut_line[__UT_LINESIZE];	/* Devicename.  */
> +  char ut_line[__UT_LINESIZE]
> +    __attribute_nonstring__;	/* Devicename.  */
>    char ut_id[4];		/* Inittab ID. */
> -  char ut_user[__UT_NAMESIZE];	/* Username.  */
> -  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
> +  char ut_user[__UT_NAMESIZE]
> +    __attribute_nonstring__;	/* Username.  */
> +  char ut_host[__UT_HOSTSIZE]
> +    __attribute_nonstring__;	/* Hostname for remote login.  */
>    struct __exit_status ut_exit;	/* Exit status of a process marked
>  				   as DEAD_PROCESS.  */
>  
>
Florian Weimer Aug. 15, 2019, 1:49 p.m. UTC | #3
* Adhemerval Zanella:

> On 13/08/2019 08:16, Florian Weimer wrote:
>> * Florian Weimer:
>> 
>>> Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
>>> -Wstringop-truncation option new in GCC 8 detects common misuses")
>>> added __attribute_nonstring__ to bits/utmp.h, but it did not update
>>> the parallel bits/utmpx.h header.
>>>
>>> 2019-08-12  Florian Weimer  <fweimer@redhat.com>
>>>
>>> 	[BZ #24899]
>>> 	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
>>> 	__attribute_nonstring__ to ut_line, ut_user, ut_host.
>> 
>> I forgot to update the s390 header.  The patch below fixes this.
>> 
>> Thanks,
>> Florian
>> 
>> login: Add nonstring attributes to struct utmpx [BZ #24899]
>> 
>> Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
>> -Wstringop-truncation option new in GCC 8 detects common misuses")
>> added __attribute_nonstring__ to bits/utmp.h, but it did not update
>> the parallel bits/utmpx.h header.
>> 
>> 2019-08-13  Florian Weimer  <fweimer@redhat.com>
>> 
>> 	[BZ #24899]
>> 	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
>> 	__attribute_nonstring__ to ut_line, ut_user, ut_host.
>> 	* sysdeps/unix/sysv/linux/s390/bits/utmpx.h (struct utmpx):
>> 	Likewise.
>
> LGTM, thanks.
>
> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>

Sorry, I noticed late that the ut_id nonstring attribute was missing as
well (see __utmp_equal).

Thanks,
Florian

login: Add nonstring attributes to struct utmp, struct utmpx [BZ #24899]

Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
-Wstringop-truncation option new in GCC 8 detects common misuses")
added __attribute_nonstring__ to bits/utmp.h, but it did not update
the parallel bits/utmpx.h header.  In struct utmp, the nonstring
attribute for ut_id was missing.

2019-08-13  Florian Weimer  <fweimer@redhat.com>

	[BZ #24899]
	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
	__attribute_nonstring__ to ut_line, ut_id, ut_user, ut_host.
	* sysdeps/unix/sysv/linux/s390/bits/utmpx.h (struct utmpx):
	Likewise.
	* sysdeps/gnu/bits/utmp.h (struct utmp): Add
	__attribute_nonstring__ to ut_id.
	* sysdeps/unix/sysv/linux/s390/bits/utmpx.h (struct utmp):
	Likewise.

diff --git a/bits/utmp.h b/bits/utmp.h
index 3c02dd4f3f..854b342164 100644
--- a/bits/utmp.h
+++ b/bits/utmp.h
@@ -61,7 +61,8 @@ struct utmp
   pid_t ut_pid;			/* Process ID of login process.  */
   char ut_line[UT_LINESIZE]
     __attribute_nonstring__;	/* Devicename.  */
-  char ut_id[4];		/* Inittab ID.  */
+  char ut_id[4]
+    __attribute_nonstring__;	/* Inittab ID.  */
   char ut_user[UT_NAMESIZE]
     __attribute_nonstring__;	/* Username.  */
   char ut_host[UT_HOSTSIZE]
diff --git a/sysdeps/gnu/bits/utmpx.h b/sysdeps/gnu/bits/utmpx.h
index 472a7d57d3..2beadbf587 100644
--- a/sysdeps/gnu/bits/utmpx.h
+++ b/sysdeps/gnu/bits/utmpx.h
@@ -56,10 +56,14 @@ struct utmpx
 {
   short int ut_type;		/* Type of login.  */
   __pid_t ut_pid;		/* Process ID of login process.  */
-  char ut_line[__UT_LINESIZE];	/* Devicename.  */
-  char ut_id[4];		/* Inittab ID. */
-  char ut_user[__UT_NAMESIZE];	/* Username.  */
-  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
+  char ut_line[__UT_LINESIZE]
+    __attribute_nonstring__;	/* Devicename.  */
+  char ut_id[4]
+    __attribute_nonstring__;	/* Inittab ID.  */
+  char ut_user[__UT_NAMESIZE]
+    __attribute_nonstring__;	/* Username.  */
+  char ut_host[__UT_HOSTSIZE]
+    __attribute_nonstring__;	/* Hostname for remote login.  */
   struct __exit_status ut_exit;	/* Exit status of a process marked
 				   as DEAD_PROCESS.  */
 
diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmp.h b/sysdeps/unix/sysv/linux/s390/bits/utmp.h
index 862115c6f8..0569c3b784 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h
@@ -61,7 +61,8 @@ struct utmp
   pid_t ut_pid;			/* Process ID of login process.  */
   char ut_line[UT_LINESIZE]
      __attribute_nonstring__;	/* Devicename.  */
-  char ut_id[4];		/* Inittab ID.  */
+  char ut_id[4]
+    __attribute_nonstring__;	/* Inittab ID.  */
   char ut_user[UT_NAMESIZE]
      __attribute_nonstring__;	/* Username.  */
   char ut_host[UT_HOSTSIZE]
diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h b/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
index ea3e860a2d..737d9dca05 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
@@ -56,10 +56,14 @@ struct utmpx
 {
   short int ut_type;		/* Type of login.  */
   __pid_t ut_pid;		/* Process ID of login process.  */
-  char ut_line[__UT_LINESIZE];	/* Devicename.  */
-  char ut_id[4];		/* Inittab ID. */
-  char ut_user[__UT_NAMESIZE];	/* Username.  */
-  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
+  char ut_line[__UT_LINESIZE]
+    __attribute_nonstring__;	/* Devicename.  */
+  char ut_id[4]
+    __attribute_nonstring__;	/* Inittab ID.  */
+  char ut_user[__UT_NAMESIZE]
+    __attribute_nonstring__;	/* Username.  */
+  char ut_host[__UT_HOSTSIZE]
+    __attribute_nonstring__;	/* Hostname for remote login.  */
   struct __exit_status ut_exit;	/* Exit status of a process marked
 				   as DEAD_PROCESS.  */
Adhemerval Zanella Aug. 15, 2019, 1:59 p.m. UTC | #4
On 15/08/2019 10:49, Florian Weimer wrote:
> * Adhemerval Zanella:
> 
>> On 13/08/2019 08:16, Florian Weimer wrote:
>>> * Florian Weimer:
>>>
>>>> Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
>>>> -Wstringop-truncation option new in GCC 8 detects common misuses")
>>>> added __attribute_nonstring__ to bits/utmp.h, but it did not update
>>>> the parallel bits/utmpx.h header.
>>>>
>>>> 2019-08-12  Florian Weimer  <fweimer@redhat.com>
>>>>
>>>> 	[BZ #24899]
>>>> 	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
>>>> 	__attribute_nonstring__ to ut_line, ut_user, ut_host.
>>>
>>> I forgot to update the s390 header.  The patch below fixes this.
>>>
>>> Thanks,
>>> Florian
>>>
>>> login: Add nonstring attributes to struct utmpx [BZ #24899]
>>>
>>> Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
>>> -Wstringop-truncation option new in GCC 8 detects common misuses")
>>> added __attribute_nonstring__ to bits/utmp.h, but it did not update
>>> the parallel bits/utmpx.h header.
>>>
>>> 2019-08-13  Florian Weimer  <fweimer@redhat.com>
>>>
>>> 	[BZ #24899]
>>> 	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
>>> 	__attribute_nonstring__ to ut_line, ut_user, ut_host.
>>> 	* sysdeps/unix/sysv/linux/s390/bits/utmpx.h (struct utmpx):
>>> 	Likewise.
>>
>> LGTM, thanks.
>>
>> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> 
> Sorry, I noticed late that the ut_id nonstring attribute was missing as
> well (see __utmp_equal).
> 
> Thanks,
> Florian
> 
> login: Add nonstring attributes to struct utmp, struct utmpx [BZ #24899]
> 
> Commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c ("The
> -Wstringop-truncation option new in GCC 8 detects common misuses")
> added __attribute_nonstring__ to bits/utmp.h, but it did not update
> the parallel bits/utmpx.h header.  In struct utmp, the nonstring
> attribute for ut_id was missing.
> 
> 2019-08-13  Florian Weimer  <fweimer@redhat.com>
> 
> 	[BZ #24899]
> 	* sysdeps/gnu/bits/utmpx.h (struct utmpx): Add
> 	__attribute_nonstring__ to ut_line, ut_id, ut_user, ut_host.
> 	* sysdeps/unix/sysv/linux/s390/bits/utmpx.h (struct utmpx):
> 	Likewise.
> 	* sysdeps/gnu/bits/utmp.h (struct utmp): Add
> 	__attribute_nonstring__ to ut_id.
> 	* sysdeps/unix/sysv/linux/s390/bits/utmpx.h (struct utmp):
> 	Likewise.

Still LTGM. And we really need to consolidate the utmpx.h header.

> 
> diff --git a/bits/utmp.h b/bits/utmp.h
> index 3c02dd4f3f..854b342164 100644
> --- a/bits/utmp.h
> +++ b/bits/utmp.h
> @@ -61,7 +61,8 @@ struct utmp
>    pid_t ut_pid;			/* Process ID of login process.  */
>    char ut_line[UT_LINESIZE]
>      __attribute_nonstring__;	/* Devicename.  */
> -  char ut_id[4];		/* Inittab ID.  */
> +  char ut_id[4]
> +    __attribute_nonstring__;	/* Inittab ID.  */
>    char ut_user[UT_NAMESIZE]
>      __attribute_nonstring__;	/* Username.  */
>    char ut_host[UT_HOSTSIZE]
> diff --git a/sysdeps/gnu/bits/utmpx.h b/sysdeps/gnu/bits/utmpx.h
> index 472a7d57d3..2beadbf587 100644
> --- a/sysdeps/gnu/bits/utmpx.h
> +++ b/sysdeps/gnu/bits/utmpx.h
> @@ -56,10 +56,14 @@ struct utmpx
>  {
>    short int ut_type;		/* Type of login.  */
>    __pid_t ut_pid;		/* Process ID of login process.  */
> -  char ut_line[__UT_LINESIZE];	/* Devicename.  */
> -  char ut_id[4];		/* Inittab ID. */
> -  char ut_user[__UT_NAMESIZE];	/* Username.  */
> -  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
> +  char ut_line[__UT_LINESIZE]
> +    __attribute_nonstring__;	/* Devicename.  */
> +  char ut_id[4]
> +    __attribute_nonstring__;	/* Inittab ID.  */
> +  char ut_user[__UT_NAMESIZE]
> +    __attribute_nonstring__;	/* Username.  */
> +  char ut_host[__UT_HOSTSIZE]
> +    __attribute_nonstring__;	/* Hostname for remote login.  */
>    struct __exit_status ut_exit;	/* Exit status of a process marked
>  				   as DEAD_PROCESS.  */
>  
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmp.h b/sysdeps/unix/sysv/linux/s390/bits/utmp.h
> index 862115c6f8..0569c3b784 100644
> --- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h
> +++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h
> @@ -61,7 +61,8 @@ struct utmp
>    pid_t ut_pid;			/* Process ID of login process.  */
>    char ut_line[UT_LINESIZE]
>       __attribute_nonstring__;	/* Devicename.  */
> -  char ut_id[4];		/* Inittab ID.  */
> +  char ut_id[4]
> +    __attribute_nonstring__;	/* Inittab ID.  */
>    char ut_user[UT_NAMESIZE]
>       __attribute_nonstring__;	/* Username.  */
>    char ut_host[UT_HOSTSIZE]
> diff --git a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h b/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
> index ea3e860a2d..737d9dca05 100644
> --- a/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
> +++ b/sysdeps/unix/sysv/linux/s390/bits/utmpx.h
> @@ -56,10 +56,14 @@ struct utmpx
>  {
>    short int ut_type;		/* Type of login.  */
>    __pid_t ut_pid;		/* Process ID of login process.  */
> -  char ut_line[__UT_LINESIZE];	/* Devicename.  */
> -  char ut_id[4];		/* Inittab ID. */
> -  char ut_user[__UT_NAMESIZE];	/* Username.  */
> -  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
> +  char ut_line[__UT_LINESIZE]
> +    __attribute_nonstring__;	/* Devicename.  */
> +  char ut_id[4]
> +    __attribute_nonstring__;	/* Inittab ID.  */
> +  char ut_user[__UT_NAMESIZE]
> +    __attribute_nonstring__;	/* Username.  */
> +  char ut_host[__UT_HOSTSIZE]
> +    __attribute_nonstring__;	/* Hostname for remote login.  */
>    struct __exit_status ut_exit;	/* Exit status of a process marked
>  				   as DEAD_PROCESS.  */
>  
>
diff mbox series

Patch

diff --git a/sysdeps/gnu/bits/utmpx.h b/sysdeps/gnu/bits/utmpx.h
index 472a7d57d3..36259dbae1 100644
--- a/sysdeps/gnu/bits/utmpx.h
+++ b/sysdeps/gnu/bits/utmpx.h
@@ -56,10 +56,13 @@  struct utmpx
 {
   short int ut_type;		/* Type of login.  */
   __pid_t ut_pid;		/* Process ID of login process.  */
-  char ut_line[__UT_LINESIZE];	/* Devicename.  */
+  char ut_line[__UT_LINESIZE]
+    __attribute_nonstring__;	/* Devicename.  */
   char ut_id[4];		/* Inittab ID. */
-  char ut_user[__UT_NAMESIZE];	/* Username.  */
-  char ut_host[__UT_HOSTSIZE];	/* Hostname for remote login.  */
+  char ut_user[__UT_NAMESIZE]
+    __attribute_nonstring__;	/* Username.  */
+  char ut_host[__UT_HOSTSIZE]
+    __attribute_nonstring__;	/* Hostname for remote login.  */
   struct __exit_status ut_exit;	/* Exit status of a process marked
 				   as DEAD_PROCESS.  */