public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Move vtimes to a compatibility symbol
@ 2020-10-16 18:08 Adhemerval Zanella
  2020-10-16 18:11 ` Adhemerval Zanella
  2020-10-16 18:57 ` Paul Eggert
  0 siblings, 2 replies; 4+ messages in thread
From: Adhemerval Zanella @ 2020-10-16 18:08 UTC (permalink / raw)
  To: libc-alpha

I couldn't pinpoint which standard has added it, but no other POSIX
system supports it and/or no longer provide it.  The 'struct vtimes'
also has a lot of drawbacks due its limited internal type size.

I couldn't also see find any project that actually uses this symbol,
either in some dignostic way (such as sanitizer).  So I think it should
be safer to just move to compat symbol, instead of deprecated.  The
idea it to avoid new ports to export such broken interface (riscv32
for instance).

Checked on x86_64-linux-gnu and i686-linux-gnu.
---
 include/sys/vtimes.h                          |  1 -
 manual/resource.texi                          | 61 -----------------
 resource/Makefile                             |  2 +-
 resource/sys/vtimes.h                         | 68 -------------------
 resource/vtimes.c                             | 45 +++++++++++-
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  1 -
 6 files changed, 43 insertions(+), 135 deletions(-)
 delete mode 100644 include/sys/vtimes.h
 delete mode 100644 resource/sys/vtimes.h

diff --git a/include/sys/vtimes.h b/include/sys/vtimes.h
deleted file mode 100644
index dd666ca443..0000000000
--- a/include/sys/vtimes.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <resource/sys/vtimes.h>
diff --git a/manual/resource.texi b/manual/resource.texi
index 60e6d61611..37462abc9e 100644
--- a/manual/resource.texi
+++ b/manual/resource.texi
@@ -121,67 +121,6 @@ scheduled).
 @end table
 @end deftp
 
-@code{vtimes} is a historical function that does some of what
-@code{getrusage} does.  @code{getrusage} is a better choice.
-
-@code{vtimes} and its @code{vtimes} data structure are declared in
-@file{sys/vtimes.h}.
-@pindex sys/vtimes.h
-
-@deftypefun int vtimes (struct vtimes *@var{current}, struct vtimes *@var{child})
-@standards{???, sys/vtimes.h}
-@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
-@c Calls getrusage twice.
-
-@code{vtimes} reports resource usage totals for a process.
-
-If @var{current} is non-null, @code{vtimes} stores resource usage totals for
-the invoking process alone in the structure to which it points.  If
-@var{child} is non-null, @code{vtimes} stores resource usage totals for all
-past children (which have terminated) of the invoking process in the structure
-to which it points.
-
-@deftp {Data Type} {struct vtimes}
-This data type contains information about the resource usage of a process.
-Each member corresponds to a member of the @code{struct rusage} data type
-described above.
-
-@table @code
-@item vm_utime
-User CPU time.  Analogous to @code{ru_utime} in @code{struct rusage}
-@item vm_stime
-System CPU time.  Analogous to @code{ru_stime} in @code{struct rusage}
-@item vm_idsrss
-Data and stack memory.  The sum of the values that would be reported as
-@code{ru_idrss} and @code{ru_isrss} in @code{struct rusage}
-@item vm_ixrss
-Shared memory.  Analogous to @code{ru_ixrss} in @code{struct rusage}
-@item vm_maxrss
-Maximent resident set size.  Analogous to @code{ru_maxrss} in
-@code{struct rusage}
-@item vm_majflt
-Major page faults.  Analogous to @code{ru_majflt} in @code{struct rusage}
-@item vm_minflt
-Minor page faults.  Analogous to @code{ru_minflt} in @code{struct rusage}
-@item vm_nswap
-Swap count.  Analogous to @code{ru_nswap} in @code{struct rusage}
-@item vm_inblk
-Disk reads.  Analogous to @code{ru_inblk} in @code{struct rusage}
-@item vm_oublk
-Disk writes.  Analogous to @code{ru_oublk} in @code{struct rusage}
-@end table
-@end deftp
-
-
-The return value is zero if the function succeeds; @code{-1} otherwise.
-
-
-
-@end deftypefun
-An additional historical function for examining resource usage,
-@code{vtimes}, is supported but not documented here.  It is declared in
-@file{sys/vtimes.h}.
-
 @node Limits on Resources
 @section Limiting Resource Usage
 @cindex resource limits
diff --git a/resource/Makefile b/resource/Makefile
index 62e0046ae9..416564207d 100644
--- a/resource/Makefile
+++ b/resource/Makefile
@@ -19,7 +19,7 @@ subdir := resource
 
 include ../Makeconfig
 
-headers	  := sys/resource.h bits/resource.h sys/vlimit.h sys/vtimes.h	\
+headers	  := sys/resource.h bits/resource.h sys/vlimit.h	\
 	     ulimit.h bits/types/struct_rusage.h
 
 routines := getrlimit setrlimit getrlimit64 setrlimit64 getrusage ulimit      \
diff --git a/resource/sys/vtimes.h b/resource/sys/vtimes.h
deleted file mode 100644
index 659f655a8b..0000000000
--- a/resource/sys/vtimes.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_VTIMES_H
-#define _SYS_VTIMES_H	1
-
-#include <features.h>
-
-__BEGIN_DECLS
-
-/* This interface is obsolete; use `getrusage' instead.  */
-
-/* Granularity of the `vm_utime' and `vm_stime' fields of a `struct vtimes'.
-   (This is the frequency of the machine's power supply, in Hz.)  */
-#define	VTIMES_UNITS_PER_SECOND	60
-
-struct vtimes
-{
-  /* User time used in units of 1/VTIMES_UNITS_PER_SECOND seconds.  */
-  int vm_utime;
-  /* System time used in units of 1/VTIMES_UNITS_PER_SECOND seconds.  */
-  int vm_stime;
-
-  /* Amount of data and stack memory used (kilobyte-seconds).  */
-  unsigned int vm_idsrss;
-  /* Amount of text memory used (kilobyte-seconds).  */
-  unsigned int vm_ixrss;
-  /* Maximum resident set size (text, data, and stack) (kilobytes).  */
-  int vm_maxrss;
-
-  /* Number of hard page faults (i.e. those that required I/O).  */
-  int vm_majflt;
-  /* Number of soft page faults (i.e. those serviced by reclaiming
-     a page from the list of pages awaiting reallocation.  */
-  int vm_minflt;
-
-  /* Number of times a process was swapped out of physical memory.  */
-  int vm_nswap;
-
-  /* Number of input operations via the file system.  Note: This
-     and `ru_oublock' do not include operations with the cache.  */
-  int vm_inblk;
-  /* Number of output operations via the file system.  */
-  int vm_oublk;
-};
-
-/* If CURRENT is not NULL, write statistics for the current process into
-   *CURRENT.  If CHILD is not NULL, write statistics for all terminated child
-   processes into *CHILD.  Returns 0 for success, -1 for failure.  */
-extern int vtimes (struct vtimes * __current, struct vtimes * __child) __THROW;
-
-__END_DECLS
-
-#endif /* sys/vtimes.h  */
diff --git a/resource/vtimes.c b/resource/vtimes.c
index 56eed4cb35..a18c8188a6 100644
--- a/resource/vtimes.c
+++ b/resource/vtimes.c
@@ -16,12 +16,48 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <stddef.h>
-#include <sys/vtimes.h>
 #include <sys/resource.h>
+#include <shlib-compat.h>
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_33)
+
+/* Granularity of the `vm_utime' and `vm_stime' fields of a `struct vtimes'.
+   (This is the frequency of the machine's power supply, in Hz.)  */
+# define VTIMES_UNITS_PER_SECOND 60
+
+struct vtimes
+{
+  /* User time used in units of 1/VTIMES_UNITS_PER_SECOND seconds.  */
+  int vm_utime;
+  /* System time used in units of 1/VTIMES_UNITS_PER_SECOND seconds.  */
+  int vm_stime;
+
+  /* Amount of data and stack memory used (kilobyte-seconds).  */
+  unsigned int vm_idsrss;
+  /* Amount of text memory used (kilobyte-seconds).  */
+  unsigned int vm_ixrss;
+  /* Maximum resident set size (text, data, and stack) (kilobytes).  */
+  int vm_maxrss;
+
+  /* Number of hard page faults (i.e. those that required I/O).  */
+  int vm_majflt;
+  /* Number of soft page faults (i.e. those serviced by reclaiming
+     a page from the list of pages awaiting reallocation.  */
+  int vm_minflt;
+
+  /* Number of times a process was swapped out of physical memory.  */
+  int vm_nswap;
+
+  /* Number of input operations via the file system.  Note: This
+     and `ru_oublock' do not include operations with the cache.  */
+  int vm_inblk;
+  /* Number of output operations via the file system.  */
+  int vm_oublk;
+};
 
 /* Return the number of 1/VTIMES_UNITS_PER_SECOND-second
    units in the `struct timeval' TV.  */
-#define TIMEVAL_TO_VTIMES(tv) \
+# define TIMEVAL_TO_VTIMES(tv) \
   ((tv.tv_sec * VTIMES_UNITS_PER_SECOND) \
    + (tv.tv_usec * VTIMES_UNITS_PER_SECOND / 1000000))
 
@@ -53,10 +89,13 @@ vtimes_one (struct vtimes *vt, enum __rusage_who who)
    *CURRENT.  If CHILD is not NULL, write statistics for all terminated child
    processes into *CHILD.  Returns 0 for success, -1 for failure.  */
 int
-vtimes (struct vtimes *current, struct vtimes *child)
+__vtimes (struct vtimes *current, struct vtimes *child)
 {
   if (vtimes_one (current, RUSAGE_SELF) < 0
       || vtimes_one (child, RUSAGE_CHILDREN) < 0)
     return -1;
   return 0;
 }
+compat_symbol (libc, __vtimes, vtimes, GLIBC_2_0);
+
+#endif /* SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_33)  */
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index e977715088..66459efdba 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1839,7 +1839,6 @@ GLIBC_2.33 vsscanf F
 GLIBC_2.33 vswprintf F
 GLIBC_2.33 vswscanf F
 GLIBC_2.33 vsyslog F
-GLIBC_2.33 vtimes F
 GLIBC_2.33 vwarn F
 GLIBC_2.33 vwarnx F
 GLIBC_2.33 vwprintf F
-- 
2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Move vtimes to a compatibility symbol
  2020-10-16 18:08 [PATCH] Move vtimes to a compatibility symbol Adhemerval Zanella
@ 2020-10-16 18:11 ` Adhemerval Zanella
  2020-10-16 20:05   ` Florian Weimer
  2020-10-16 18:57 ` Paul Eggert
  1 sibling, 1 reply; 4+ messages in thread
From: Adhemerval Zanella @ 2020-10-16 18:11 UTC (permalink / raw)
  To: libc-alpha



On 16/10/2020 15:08, Adhemerval Zanella wrote:
> I couldn't pinpoint which standard has added it, but no other POSIX
> system supports it and/or no longer provide it.  The 'struct vtimes'
> also has a lot of drawbacks due its limited internal type size.
> 
> I couldn't also see find any project that actually uses this symbol,
> either in some dignostic way (such as sanitizer).  So I think it should
> be safer to just move to compat symbol, instead of deprecated.  The
> idea it to avoid new ports to export such broken interface (riscv32
> for instance).
> 
> Checked on x86_64-linux-gnu and i686-linux-gnu.

And I noted that I forgot to add NEWS entry:

  * The function vtimes is no longer available to newly linked binaries.
    Applications should use the getrlimit or prlimit.

> ---
>  include/sys/vtimes.h                          |  1 -
>  manual/resource.texi                          | 61 -----------------
>  resource/Makefile                             |  2 +-
>  resource/sys/vtimes.h                         | 68 -------------------
>  resource/vtimes.c                             | 45 +++++++++++-
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  1 -
>  6 files changed, 43 insertions(+), 135 deletions(-)
>  delete mode 100644 include/sys/vtimes.h
>  delete mode 100644 resource/sys/vtimes.h
> 
> diff --git a/include/sys/vtimes.h b/include/sys/vtimes.h
> deleted file mode 100644
> index dd666ca443..0000000000
> --- a/include/sys/vtimes.h
> +++ /dev/null
> @@ -1 +0,0 @@
> -#include <resource/sys/vtimes.h>
> diff --git a/manual/resource.texi b/manual/resource.texi
> index 60e6d61611..37462abc9e 100644
> --- a/manual/resource.texi
> +++ b/manual/resource.texi
> @@ -121,67 +121,6 @@ scheduled).
>  @end table
>  @end deftp
>  
> -@code{vtimes} is a historical function that does some of what
> -@code{getrusage} does.  @code{getrusage} is a better choice.
> -
> -@code{vtimes} and its @code{vtimes} data structure are declared in
> -@file{sys/vtimes.h}.
> -@pindex sys/vtimes.h
> -
> -@deftypefun int vtimes (struct vtimes *@var{current}, struct vtimes *@var{child})
> -@standards{???, sys/vtimes.h}
> -@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
> -@c Calls getrusage twice.
> -
> -@code{vtimes} reports resource usage totals for a process.
> -
> -If @var{current} is non-null, @code{vtimes} stores resource usage totals for
> -the invoking process alone in the structure to which it points.  If
> -@var{child} is non-null, @code{vtimes} stores resource usage totals for all
> -past children (which have terminated) of the invoking process in the structure
> -to which it points.
> -
> -@deftp {Data Type} {struct vtimes}
> -This data type contains information about the resource usage of a process.
> -Each member corresponds to a member of the @code{struct rusage} data type
> -described above.
> -
> -@table @code
> -@item vm_utime
> -User CPU time.  Analogous to @code{ru_utime} in @code{struct rusage}
> -@item vm_stime
> -System CPU time.  Analogous to @code{ru_stime} in @code{struct rusage}
> -@item vm_idsrss
> -Data and stack memory.  The sum of the values that would be reported as
> -@code{ru_idrss} and @code{ru_isrss} in @code{struct rusage}
> -@item vm_ixrss
> -Shared memory.  Analogous to @code{ru_ixrss} in @code{struct rusage}
> -@item vm_maxrss
> -Maximent resident set size.  Analogous to @code{ru_maxrss} in
> -@code{struct rusage}
> -@item vm_majflt
> -Major page faults.  Analogous to @code{ru_majflt} in @code{struct rusage}
> -@item vm_minflt
> -Minor page faults.  Analogous to @code{ru_minflt} in @code{struct rusage}
> -@item vm_nswap
> -Swap count.  Analogous to @code{ru_nswap} in @code{struct rusage}
> -@item vm_inblk
> -Disk reads.  Analogous to @code{ru_inblk} in @code{struct rusage}
> -@item vm_oublk
> -Disk writes.  Analogous to @code{ru_oublk} in @code{struct rusage}
> -@end table
> -@end deftp
> -
> -
> -The return value is zero if the function succeeds; @code{-1} otherwise.
> -
> -
> -
> -@end deftypefun
> -An additional historical function for examining resource usage,
> -@code{vtimes}, is supported but not documented here.  It is declared in
> -@file{sys/vtimes.h}.
> -
>  @node Limits on Resources
>  @section Limiting Resource Usage
>  @cindex resource limits
> diff --git a/resource/Makefile b/resource/Makefile
> index 62e0046ae9..416564207d 100644
> --- a/resource/Makefile
> +++ b/resource/Makefile
> @@ -19,7 +19,7 @@ subdir := resource
>  
>  include ../Makeconfig
>  
> -headers	  := sys/resource.h bits/resource.h sys/vlimit.h sys/vtimes.h	\
> +headers	  := sys/resource.h bits/resource.h sys/vlimit.h	\
>  	     ulimit.h bits/types/struct_rusage.h
>  
>  routines := getrlimit setrlimit getrlimit64 setrlimit64 getrusage ulimit      \
> diff --git a/resource/sys/vtimes.h b/resource/sys/vtimes.h
> deleted file mode 100644
> index 659f655a8b..0000000000
> --- a/resource/sys/vtimes.h
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -/* Copyright (C) 1991-2020 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.
> -
> -   The GNU C Library is free software; you can redistribute it and/or
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -#ifndef _SYS_VTIMES_H
> -#define _SYS_VTIMES_H	1
> -
> -#include <features.h>
> -
> -__BEGIN_DECLS
> -
> -/* This interface is obsolete; use `getrusage' instead.  */
> -
> -/* Granularity of the `vm_utime' and `vm_stime' fields of a `struct vtimes'.
> -   (This is the frequency of the machine's power supply, in Hz.)  */
> -#define	VTIMES_UNITS_PER_SECOND	60
> -
> -struct vtimes
> -{
> -  /* User time used in units of 1/VTIMES_UNITS_PER_SECOND seconds.  */
> -  int vm_utime;
> -  /* System time used in units of 1/VTIMES_UNITS_PER_SECOND seconds.  */
> -  int vm_stime;
> -
> -  /* Amount of data and stack memory used (kilobyte-seconds).  */
> -  unsigned int vm_idsrss;
> -  /* Amount of text memory used (kilobyte-seconds).  */
> -  unsigned int vm_ixrss;
> -  /* Maximum resident set size (text, data, and stack) (kilobytes).  */
> -  int vm_maxrss;
> -
> -  /* Number of hard page faults (i.e. those that required I/O).  */
> -  int vm_majflt;
> -  /* Number of soft page faults (i.e. those serviced by reclaiming
> -     a page from the list of pages awaiting reallocation.  */
> -  int vm_minflt;
> -
> -  /* Number of times a process was swapped out of physical memory.  */
> -  int vm_nswap;
> -
> -  /* Number of input operations via the file system.  Note: This
> -     and `ru_oublock' do not include operations with the cache.  */
> -  int vm_inblk;
> -  /* Number of output operations via the file system.  */
> -  int vm_oublk;
> -};
> -
> -/* If CURRENT is not NULL, write statistics for the current process into
> -   *CURRENT.  If CHILD is not NULL, write statistics for all terminated child
> -   processes into *CHILD.  Returns 0 for success, -1 for failure.  */
> -extern int vtimes (struct vtimes * __current, struct vtimes * __child) __THROW;
> -
> -__END_DECLS
> -
> -#endif /* sys/vtimes.h  */
> diff --git a/resource/vtimes.c b/resource/vtimes.c
> index 56eed4cb35..a18c8188a6 100644
> --- a/resource/vtimes.c
> +++ b/resource/vtimes.c
> @@ -16,12 +16,48 @@
>     <https://www.gnu.org/licenses/>.  */
>  
>  #include <stddef.h>
> -#include <sys/vtimes.h>
>  #include <sys/resource.h>
> +#include <shlib-compat.h>
> +
> +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_33)
> +
> +/* Granularity of the `vm_utime' and `vm_stime' fields of a `struct vtimes'.
> +   (This is the frequency of the machine's power supply, in Hz.)  */
> +# define VTIMES_UNITS_PER_SECOND 60
> +
> +struct vtimes
> +{
> +  /* User time used in units of 1/VTIMES_UNITS_PER_SECOND seconds.  */
> +  int vm_utime;
> +  /* System time used in units of 1/VTIMES_UNITS_PER_SECOND seconds.  */
> +  int vm_stime;
> +
> +  /* Amount of data and stack memory used (kilobyte-seconds).  */
> +  unsigned int vm_idsrss;
> +  /* Amount of text memory used (kilobyte-seconds).  */
> +  unsigned int vm_ixrss;
> +  /* Maximum resident set size (text, data, and stack) (kilobytes).  */
> +  int vm_maxrss;
> +
> +  /* Number of hard page faults (i.e. those that required I/O).  */
> +  int vm_majflt;
> +  /* Number of soft page faults (i.e. those serviced by reclaiming
> +     a page from the list of pages awaiting reallocation.  */
> +  int vm_minflt;
> +
> +  /* Number of times a process was swapped out of physical memory.  */
> +  int vm_nswap;
> +
> +  /* Number of input operations via the file system.  Note: This
> +     and `ru_oublock' do not include operations with the cache.  */
> +  int vm_inblk;
> +  /* Number of output operations via the file system.  */
> +  int vm_oublk;
> +};
>  
>  /* Return the number of 1/VTIMES_UNITS_PER_SECOND-second
>     units in the `struct timeval' TV.  */
> -#define TIMEVAL_TO_VTIMES(tv) \
> +# define TIMEVAL_TO_VTIMES(tv) \
>    ((tv.tv_sec * VTIMES_UNITS_PER_SECOND) \
>     + (tv.tv_usec * VTIMES_UNITS_PER_SECOND / 1000000))
>  
> @@ -53,10 +89,13 @@ vtimes_one (struct vtimes *vt, enum __rusage_who who)
>     *CURRENT.  If CHILD is not NULL, write statistics for all terminated child
>     processes into *CHILD.  Returns 0 for success, -1 for failure.  */
>  int
> -vtimes (struct vtimes *current, struct vtimes *child)
> +__vtimes (struct vtimes *current, struct vtimes *child)
>  {
>    if (vtimes_one (current, RUSAGE_SELF) < 0
>        || vtimes_one (child, RUSAGE_CHILDREN) < 0)
>      return -1;
>    return 0;
>  }
> +compat_symbol (libc, __vtimes, vtimes, GLIBC_2_0);
> +
> +#endif /* SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_33)  */
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index e977715088..66459efdba 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1839,7 +1839,6 @@ GLIBC_2.33 vsscanf F
>  GLIBC_2.33 vswprintf F
>  GLIBC_2.33 vswscanf F
>  GLIBC_2.33 vsyslog F
> -GLIBC_2.33 vtimes F
>  GLIBC_2.33 vwarn F
>  GLIBC_2.33 vwarnx F
>  GLIBC_2.33 vwprintf F
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Move vtimes to a compatibility symbol
  2020-10-16 18:08 [PATCH] Move vtimes to a compatibility symbol Adhemerval Zanella
  2020-10-16 18:11 ` Adhemerval Zanella
@ 2020-10-16 18:57 ` Paul Eggert
  1 sibling, 0 replies; 4+ messages in thread
From: Paul Eggert @ 2020-10-16 18:57 UTC (permalink / raw)
  To: Adhemerval Zanella; +Cc: libc-alpha

On 10/16/20 11:08 AM, Adhemerval Zanella via Libc-alpha wrote:
> I couldn't pinpoint which standard has added it, but no other POSIX
> system supports it and/or no longer provide it.

I don't recall the old BSD vtimes function ever being part of any POSIX 
standard. It is not in the online copies of POSIX-2001 and POSIX-2008.

The patch looks good to me, with the addition of the NEWS entry you later mentioned.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Move vtimes to a compatibility symbol
  2020-10-16 18:11 ` Adhemerval Zanella
@ 2020-10-16 20:05   ` Florian Weimer
  0 siblings, 0 replies; 4+ messages in thread
From: Florian Weimer @ 2020-10-16 20:05 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> And I noted that I forgot to add NEWS entry:
>
>   * The function vtimes is no longer available to newly linked binaries.
>     Applications should use the getrlimit or prlimit.

Please also mention the removal of <sys/vtimes.h>.

The actual patch looks okay to me.

Thanks,
Florian
-- 
Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-10-16 20:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-16 18:08 [PATCH] Move vtimes to a compatibility symbol Adhemerval Zanella
2020-10-16 18:11 ` Adhemerval Zanella
2020-10-16 20:05   ` Florian Weimer
2020-10-16 18:57 ` Paul Eggert

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).