Linux: Forward declaration of struct iovec for process_madvise

Message ID 87iloj3gdo.fsf@oldenburg.str.redhat.com
State Committed
Commit ecd0fbebc0ce2818ac87ca1ed2ce46a733e8c839
Headers
Series Linux: Forward declaration of struct iovec for process_madvise |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent
dj/TryBot-32bit success Build for i686

Commit Message

Florian Weimer June 29, 2022, 10:37 a.m. UTC
  This maintains compatibility between <sys/mman.h> and <linux/uio.h>.
Before that, the addition of process_madvise made those two header
files incompatible.  This has been observed resulting in a build
failure in LLDB's Process/Linux/NativeRegisterContextLinux_s390x.cpp
source file.

Fixes commit d19ee3473d68ca0e794f3a8b7677a0983ae1342e
("linux: Add process_madvise").

Tested on i686-linux-gnu, x86_64-linux-gnu.  Built with
build-many-glibs.py.

---
 sysdeps/unix/sysv/linux/bits/mman_ext.h | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)
  

Comments

Adhemerval Zanella Netto June 29, 2022, 11:40 a.m. UTC | #1
> On 29 Jun 2022, at 07:37, Florian Weimer <fweimer@redhat.com> wrote:
> 
> This maintains compatibility between <sys/mman.h> and <linux/uio.h>.
> Before that, the addition of process_madvise made those two header
> files incompatible.  This has been observed resulting in a build
> failure in LLDB's Process/Linux/NativeRegisterContextLinux_s390x.cpp
> source file.
> 
> Fixes commit d19ee3473d68ca0e794f3a8b7677a0983ae1342e
> ("linux: Add process_madvise").
> 
> Tested on i686-linux-gnu, x86_64-linux-gnu.  Built with
> build-many-glibs.py.

LGTM, thanks.

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

> 
> ---
> sysdeps/unix/sysv/linux/bits/mman_ext.h | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/sysdeps/unix/sysv/linux/bits/mman_ext.h b/sysdeps/unix/sysv/linux/bits/mman_ext.h
> index 97234a7adf..5612852e64 100644
> --- a/sysdeps/unix/sysv/linux/bits/mman_ext.h
> +++ b/sysdeps/unix/sysv/linux/bits/mman_ext.h
> @@ -21,11 +21,8 @@
> #endif
> 
> #ifdef __USE_GNU
> -#include <bits/types/struct_iovec.h>
> -
> -/*
> - */
> -extern __ssize_t process_madvise (int __pid_fd, const struct iovec* __iov,
> +struct iovec;
> +extern __ssize_t process_madvise (int __pid_fd, const struct iovec *__iov,
> 				  size_t __count, int __advice,
> 				  unsigned __flags)
>   __THROW;
>
  

Patch

diff --git a/sysdeps/unix/sysv/linux/bits/mman_ext.h b/sysdeps/unix/sysv/linux/bits/mman_ext.h
index 97234a7adf..5612852e64 100644
--- a/sysdeps/unix/sysv/linux/bits/mman_ext.h
+++ b/sysdeps/unix/sysv/linux/bits/mman_ext.h
@@ -21,11 +21,8 @@ 
 #endif
 
 #ifdef __USE_GNU
-#include <bits/types/struct_iovec.h>
-
-/*
- */
-extern __ssize_t process_madvise (int __pid_fd, const struct iovec* __iov,
+struct iovec;
+extern __ssize_t process_madvise (int __pid_fd, const struct iovec *__iov,
 				  size_t __count, int __advice,
 				  unsigned __flags)
   __THROW;