006-Fix-build-on-aarch64-musl.patch 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. From 578f370c7e7a9f056aefa062b34590b0aa13bce5 Mon Sep 17 00:00:00 2001
  2. From: Hongxu Jia <[email protected]>
  3. Date: Tue, 15 Aug 2017 17:27:30 +0800
  4. Subject: [PATCH] Fix build on aarch64/musl
  5. Errors
  6. invalid operands to binary & (have 'long double' and 'unsigned int')
  7. error: redefinition
  8. of 'struct iovec'
  9. struct iovec { void *iov_base; size_t iov_len; };
  10. ^
  11. Upstream-Status: Pending
  12. Signed-off-by: Khem Raj <[email protected]>
  13. Rebase to 0.170
  14. Signed-off-by: Hongxu Jia <[email protected]>
  15. ---
  16. backends/aarch64_initreg.c | 4 ++--
  17. backends/arm_initreg.c | 2 +-
  18. 2 files changed, 3 insertions(+), 3 deletions(-)
  19. --- a/backends/aarch64_initreg.c
  20. +++ b/backends/aarch64_initreg.c
  21. @@ -33,7 +33,7 @@
  22. #include "system.h"
  23. #include <assert.h>
  24. #if defined(__aarch64__) && defined(__linux__)
  25. -# include <linux/uio.h>
  26. +# include <sys/uio.h>
  27. # include <sys/user.h>
  28. # include <sys/ptrace.h>
  29. # include <asm/ptrace.h>
  30. @@ -94,7 +94,7 @@ aarch64_set_initial_registers_tid (pid_t
  31. Dwarf_Word dwarf_fregs[32];
  32. for (int r = 0; r < 32; r++)
  33. - dwarf_fregs[r] = fregs.vregs[r] & 0xFFFFFFFF;
  34. + dwarf_fregs[r] = (unsigned int)fregs.vregs[r] & 0xFFFFFFFF;
  35. if (! setfunc (64, 32, dwarf_fregs, arg))
  36. return false;
  37. --- a/backends/arm_initreg.c
  38. +++ b/backends/arm_initreg.c
  39. @@ -38,7 +38,7 @@
  40. #endif
  41. #ifdef __aarch64__
  42. -# include <linux/uio.h>
  43. +# include <sys/uio.h>
  44. # include <sys/user.h>
  45. # include <sys/ptrace.h>
  46. /* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */