diff options
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.patch | 126 |
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 @@ | |||
1 | From bc8a39484dc4db80baa846438a6908e2f9572572 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 19 May 2016 22:52:05 -0700 | ||
4 | Subject: [PATCH 4/4] llvm: remove fopen64/fseeko64/ftello64/tmpfile64 on musl | ||
5 | |||
6 | They are not available | ||
7 | |||
8 | Signed-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 | |||
15 | diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def | ||
16 | index 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") | ||
59 | diff --git a/lib/Analysis/TargetLibraryInfo.cpp b/lib/Analysis/TargetLibraryInfo.cpp | ||
60 | index 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()); | ||
96 | diff --git a/lib/Transforms/Utils/BuildLibCalls.cpp b/lib/Transforms/Utils/BuildLibCalls.cpp | ||
97 | index 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 | -- | ||
125 | 2.8.2 | ||
126 | |||