0004-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. From e33c9d90d2e9f0abec84fbd009150a4d19cec01c Mon Sep 17 00:00:00 2001
  2. From: Jun Yuan Tan <junyuan.tan@starfivetech.com>
  3. Date: Tue, 9 Nov 2021 10:03:40 +0800
  4. Subject: [PATCH 04/34] llvm: TargetLibraryInfo: Undefine libc functions if
  5. they are macros
  6. musl defines some functions as macros and not inline functions
  7. if this is the case then make sure to undefine them
  8. Rebased to LLVM 14.0.0 by Jun Yuan Tan
  9. Signed-off-by: Khem Raj <raj.khem@gmail.com>
  10. Signed-off-by: Jun Yuan Tan <junyuan.tan@starfivetech.com>
  11. ---
  12. .../llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++
  13. 1 file changed, 21 insertions(+)
  14. diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
  15. index ded53617b304..da612e9b4352 100644
  16. --- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def
  17. +++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
  18. @@ -815,6 +815,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
  19. TLI_DEFINE_ENUM_INTERNAL(fopen)
  20. TLI_DEFINE_STRING_INTERNAL("fopen")
  21. /// FILE *fopen64(const char *filename, const char *opentype)
  22. +#ifdef fopen64
  23. +#undef fopen64
  24. +#endif
  25. TLI_DEFINE_ENUM_INTERNAL(fopen64)
  26. TLI_DEFINE_STRING_INTERNAL("fopen64")
  27. /// int fork();
  28. @@ -862,6 +865,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
  29. /// int fseeko(FILE *stream, off_t offset, int whence);
  30. TLI_DEFINE_ENUM_INTERNAL(fseeko)
  31. TLI_DEFINE_STRING_INTERNAL("fseeko")
  32. +#ifdef fseeko64
  33. +#undef fseeko64
  34. +#endif
  35. /// int fseeko64(FILE *stream, off64_t offset, int whence)
  36. TLI_DEFINE_ENUM_INTERNAL(fseeko64)
  37. TLI_DEFINE_STRING_INTERNAL("fseeko64")
  38. @@ -872,6 +878,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
  39. TLI_DEFINE_ENUM_INTERNAL(fstat)
  40. TLI_DEFINE_STRING_INTERNAL("fstat")
  41. /// int fstat64(int filedes, struct stat64 *buf)
  42. +#ifdef fstat64
  43. +#undef fstat64
  44. +#endif
  45. TLI_DEFINE_ENUM_INTERNAL(fstat64)
  46. TLI_DEFINE_STRING_INTERNAL("fstat64")
  47. /// int fstatvfs(int fildes, struct statvfs *buf);
  48. @@ -887,6 +896,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
  49. TLI_DEFINE_ENUM_INTERNAL(ftello)
  50. TLI_DEFINE_STRING_INTERNAL("ftello")
  51. /// off64_t ftello64(FILE *stream)
  52. +#ifdef ftello64
  53. +#undef ftello64
  54. +#endif
  55. TLI_DEFINE_ENUM_INTERNAL(ftello64)
  56. TLI_DEFINE_STRING_INTERNAL("ftello64")
  57. /// int ftrylockfile(FILE *file);
  58. @@ -1013,6 +1025,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
  59. TLI_DEFINE_ENUM_INTERNAL(lstat)
  60. TLI_DEFINE_STRING_INTERNAL("lstat")
  61. /// int lstat64(const char *path, struct stat64 *buf);
  62. +#ifdef lstat64
  63. +#undef lstat64
  64. +#endif
  65. TLI_DEFINE_ENUM_INTERNAL(lstat64)
  66. TLI_DEFINE_STRING_INTERNAL("lstat64")
  67. /// void *malloc(size_t size);
  68. @@ -1256,6 +1271,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
  69. TLI_DEFINE_ENUM_INTERNAL(stat)
  70. TLI_DEFINE_STRING_INTERNAL("stat")
  71. /// int stat64(const char *path, struct stat64 *buf);
  72. +#ifdef stat64
  73. +#undef stat64
  74. +#endif
  75. TLI_DEFINE_ENUM_INTERNAL(stat64)
  76. TLI_DEFINE_STRING_INTERNAL("stat64")
  77. /// int statvfs(const char *path, struct statvfs *buf);
  78. @@ -1391,6 +1409,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
  79. TLI_DEFINE_ENUM_INTERNAL(tmpfile)
  80. TLI_DEFINE_STRING_INTERNAL("tmpfile")
  81. /// FILE *tmpfile64(void)
  82. +#ifdef tmpfile64
  83. +#undef tmpfile64
  84. +#endif
  85. TLI_DEFINE_ENUM_INTERNAL(tmpfile64)
  86. TLI_DEFINE_STRING_INTERNAL("tmpfile64")
  87. /// int toascii(int c);
  88. --
  89. 2.33.1