summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang/clang/0004-llvm-remove-fopen64-fseeko64-ftello64-tmpfile64-on-m.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-devtools/clang/clang/0004-llvm-remove-fopen64-fseeko64-ftello64-tmpfile64-on-m.patch')
-rw-r--r--recipes-devtools/clang/clang/0004-llvm-remove-fopen64-fseeko64-ftello64-tmpfile64-on-m.patch126
1 files changed, 126 insertions, 0 deletions
diff --git a/recipes-devtools/clang/clang/0004-llvm-remove-fopen64-fseeko64-ftello64-tmpfile64-on-m.patch b/recipes-devtools/clang/clang/0004-llvm-remove-fopen64-fseeko64-ftello64-tmpfile64-on-m.patch
new file mode 100644
index 0000000..7c78e21
--- /dev/null
+++ b/recipes-devtools/clang/clang/0004-llvm-remove-fopen64-fseeko64-ftello64-tmpfile64-on-m.patch
@@ -0,0 +1,126 @@
1From bc8a39484dc4db80baa846438a6908e2f9572572 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 19 May 2016 22:52:05 -0700
4Subject: [PATCH 4/4] llvm: remove fopen64/fseeko64/ftello64/tmpfile64 on musl
5
6They are not available
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 include/llvm/Analysis/TargetLibraryInfo.def | 12 ------------
11 lib/Analysis/TargetLibraryInfo.cpp | 13 -------------
12 lib/Transforms/Utils/BuildLibCalls.cpp | 17 -----------------
13 3 files changed, 42 deletions(-)
14
15diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def
16index b2a593d..7bfafcc 100644
17--- a/include/llvm/Analysis/TargetLibraryInfo.def
18+++ b/include/llvm/Analysis/TargetLibraryInfo.def
19@@ -530,9 +530,6 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
20 /// FILE *fopen(const char *filename, const char *mode);
21 TLI_DEFINE_ENUM_INTERNAL(fopen)
22 TLI_DEFINE_STRING_INTERNAL("fopen")
23-/// FILE *fopen64(const char *filename, const char *opentype)
24-TLI_DEFINE_ENUM_INTERNAL(fopen64)
25-TLI_DEFINE_STRING_INTERNAL("fopen64")
26 /// int fprintf(FILE *stream, const char *format, ...);
27 TLI_DEFINE_ENUM_INTERNAL(fprintf)
28 TLI_DEFINE_STRING_INTERNAL("fprintf")
29@@ -566,9 +563,6 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
30 /// int fseeko(FILE *stream, off_t offset, int whence);
31 TLI_DEFINE_ENUM_INTERNAL(fseeko)
32 TLI_DEFINE_STRING_INTERNAL("fseeko")
33-/// int fseeko64(FILE *stream, off64_t offset, int whence)
34-TLI_DEFINE_ENUM_INTERNAL(fseeko64)
35-TLI_DEFINE_STRING_INTERNAL("fseeko64")
36 /// int fsetpos(FILE *stream, const fpos_t *pos);
37 TLI_DEFINE_ENUM_INTERNAL(fsetpos)
38 TLI_DEFINE_STRING_INTERNAL("fsetpos")
39@@ -590,9 +584,6 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
40 /// off_t ftello(FILE *stream);
41 TLI_DEFINE_ENUM_INTERNAL(ftello)
42 TLI_DEFINE_STRING_INTERNAL("ftello")
43-/// off64_t ftello64(FILE *stream)
44-TLI_DEFINE_ENUM_INTERNAL(ftello64)
45-TLI_DEFINE_STRING_INTERNAL("ftello64")
46 /// int ftrylockfile(FILE *file);
47 TLI_DEFINE_ENUM_INTERNAL(ftrylockfile)
48 TLI_DEFINE_STRING_INTERNAL("ftrylockfile")
49@@ -1055,9 +1046,6 @@ TLI_DEFINE_STRING_INTERNAL("times")
50 /// FILE *tmpfile(void);
51 TLI_DEFINE_ENUM_INTERNAL(tmpfile)
52 TLI_DEFINE_STRING_INTERNAL("tmpfile")
53-/// FILE *tmpfile64(void)
54-TLI_DEFINE_ENUM_INTERNAL(tmpfile64)
55-TLI_DEFINE_STRING_INTERNAL("tmpfile64")
56 /// int toascii(int c);
57 TLI_DEFINE_ENUM_INTERNAL(toascii)
58 TLI_DEFINE_STRING_INTERNAL("toascii")
59diff --git a/lib/Analysis/TargetLibraryInfo.cpp b/lib/Analysis/TargetLibraryInfo.cpp
60index 71f15b15..6d98f06 100644
61--- a/lib/Analysis/TargetLibraryInfo.cpp
62+++ b/lib/Analysis/TargetLibraryInfo.cpp
63@@ -375,16 +375,12 @@ static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T,
64 TLI.setUnavailable(LibFunc::under_IO_getc);
65 TLI.setUnavailable(LibFunc::under_IO_putc);
66 TLI.setUnavailable(LibFunc::memalign);
67- TLI.setUnavailable(LibFunc::fopen64);
68- TLI.setUnavailable(LibFunc::fseeko64);
69 TLI.setUnavailable(LibFunc::fstat64);
70 TLI.setUnavailable(LibFunc::fstatvfs64);
71- TLI.setUnavailable(LibFunc::ftello64);
72 TLI.setUnavailable(LibFunc::lstat64);
73 TLI.setUnavailable(LibFunc::open64);
74 TLI.setUnavailable(LibFunc::stat64);
75 TLI.setUnavailable(LibFunc::statvfs64);
76- TLI.setUnavailable(LibFunc::tmpfile64);
77 }
78
79 // As currently implemented in clang, NVPTX code has no standard library to
80@@ -861,15 +857,6 @@ bool TargetLibraryInfoImpl::isValidProtoForLibFunc(const FunctionType &FTy,
81 case LibFunc::dunder_isoc99_sscanf:
82 return (NumParams >= 1 && FTy.getParamType(0)->isPointerTy() &&
83 FTy.getParamType(1)->isPointerTy());
84- case LibFunc::fopen64:
85- return (NumParams == 2 && FTy.getReturnType()->isPointerTy() &&
86- FTy.getParamType(0)->isPointerTy() &&
87- FTy.getParamType(1)->isPointerTy());
88- case LibFunc::fseeko64:
89- case LibFunc::ftello64:
90- return (NumParams == 0 && FTy.getParamType(0)->isPointerTy());
91- case LibFunc::tmpfile64:
92- return (FTy.getReturnType()->isPointerTy());
93 case LibFunc::fstat64:
94 case LibFunc::fstatvfs64:
95 return (NumParams == 2 && FTy.getParamType(1)->isPointerTy());
96diff --git a/lib/Transforms/Utils/BuildLibCalls.cpp b/lib/Transforms/Utils/BuildLibCalls.cpp
97index f4260a9..a9e673f 100644
98--- a/lib/Transforms/Utils/BuildLibCalls.cpp
99+++ b/lib/Transforms/Utils/BuildLibCalls.cpp
100@@ -638,23 +638,6 @@ bool llvm::inferLibFuncAttributes(Function &F, const TargetLibraryInfo &TLI) {
101 Changed |= setOnlyReadsMemory(F, 1);
102 Changed |= setOnlyReadsMemory(F, 2);
103 return Changed;
104- case LibFunc::fopen64:
105- Changed |= setDoesNotThrow(F);
106- Changed |= setDoesNotAlias(F, 0);
107- Changed |= setDoesNotCapture(F, 1);
108- Changed |= setDoesNotCapture(F, 2);
109- Changed |= setOnlyReadsMemory(F, 1);
110- Changed |= setOnlyReadsMemory(F, 2);
111- return Changed;
112- case LibFunc::fseeko64:
113- case LibFunc::ftello64:
114- Changed |= setDoesNotThrow(F);
115- Changed |= setDoesNotCapture(F, 1);
116- return Changed;
117- case LibFunc::tmpfile64:
118- Changed |= setDoesNotThrow(F);
119- Changed |= setDoesNotAlias(F, 0);
120- return Changed;
121 case LibFunc::fstat64:
122 case LibFunc::fstatvfs64:
123 Changed |= setDoesNotThrow(F);
124--
1252.8.2
126