Daily bump.
[official-gcc.git] / libsanitizer / ChangeLog
blobfd9b55d516f205288c494cada444107284853c60
1 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
3         PR sanitizer/59061
4         * configure.tgt: Set LSAN_SUPPORTED=yes for x86_64-linux.
5         * configure.ac (LSAN_SUPPORTED): New AM_CONDITIONAL.
6         * configure: Regenerated.
7         * lsan/Makefile.am (toolexeclib_LTLIBRARIES, lsan_files,
8         liblsan_la_SOURCES, liblsan_la_LIBADD, liblsan_la_LDFLAGS): Add.
9         * lsan/Makefile.in: Regenerated.
11 2013-11-22  Mike Stump  <mikestump@comcast.net>
13         * sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one
14         change from upstream to fix build.
16 2013-11-18  Yury Gribov  <y.gribov@samsung.com>
18         PR sanitizer/59106
19         * asan/Makefile.am (AM_CXXFLAGS): Add -fno-rtti.
20         * interception/Makefile.am (AM_CXXFLAGS): Likewise.
21         * lsan/Makefile.am (AM_CXXFLAGS): Likewise.
22         * sanitizer_common/Makefile.am (AM_CXXFLAGS): Likewise.
23         * tsan/Makefile.am (AM_CXXFLAGS): Likewise.
24         * asan/Makefile.in: Regenerate.
25         * interception/Makefile.in: Regenerate.
26         * tsan/Makefile.in: Regenerate.
27         * lsan/Makefile.in: Regenerate.
28         * sanitizer_common/Makefile.in: Regenerate.
30 2013-11-15  Kostya Serebryany  <kcc@google.com>
32         PR sanitizer/58994
33         Backport from upstream revision 194573
34         * asan/asan_interceptors.cc (COMMON_INTERCEPTOR_ENTER): Fall
35         back to the original functions in the common libsanitizer
36         interceptors and the __cxa_atexit() interceptor on Darwin.
38 2013-11-13  Peter Bergner  <bergner@vnet.ibm.com>
40         PR sanitizer/59009
41         * sanitizer_common/sanitizer_platform_limits_posix.cc: Temporarily
42         ifdef out more source.
44 2013-11-12  Jakub Jelinek  <jakub@redhat.com>
46         * sanitizer_common/sanitizer_platform_limits_linux.cc: Temporarily
47         ifdef out almost the whole source.
48         * sanitizer_common/sanitizer_common_syscalls.inc: Likewise.
50 2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>
52         PR sanitizer/59018
53         * sanitizer_common/sanitizer_platform_limits_posix.cc
54         (struct_user_fpxregs_struct_sz): Initialize to 0 if __x86_64__ is
55         defined.
57 2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>
59         PR sanitizer/59018
60         * sanitizer_common/sanitizer_platform_limits_linux.cc
61         (struct_kernel_stat64_sz): Initialize to 0 if __x86_64__ is
62         defined.
63         * sanitizer_common/sanitizer_platform_limits_posix.h
64         (__sanitizer_dirent): Use 64-bit d_ino/d_off if __x86_64__ is
65         defined.
66         (__sanitizer___kernel_uid_t): Typedef as unsigned if __x86_64__
67         is defined.
68         (__sanitizer___kernel_gid_t): Likewise.
69         (__sanitizer___kernel_off_t): Typedef as long long if __x86_64__
70         is defined.
72 2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>
74         PR sanitizer/59018
75         * sanitizer_common/sanitizer_linux.cc (internal_clone): Allocate
76         2 64-bit integers to save and restore fn and arg.  Properly load
77         newtls/child_tidptr into r8/r10.
79 2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>
81         PR sanitizer/59018
82         * sanitizer_common/sanitizer_linux.cc (internal_mmap,
83         internal_munmap, internal_open, internal_read, internal_write,
84         internal_stat, internal_lstat, internal_fstat, internal_readlink,
85         internal_unlink, internal_execve, NanoTime, BlockingMutex::Lock,
86         BlockingMutex::Unlock, internal_ptrace, internal_getdents,
87         internal_sigaltstack): Cast pointers to uptr for 64-bit syscalls.
89 2013-11-04  Kostya Serebryany  <kcc@google.com>
91         * All source files: Merge from upstream r191666.
92         * merge.sh: Added lsan.
93         * configure.ac (AC_CONFIG_FILES): Added lsan.
94         * Makefile.am (SUBDIRS): Added lsan.
95         * sanitizer_common/Makefile.am (sanitizer_common_files): Added new fles.
96         * asan/Makefile.am (asan_files): Added new files.
97         (libasan_la_LIBADD): Added a dependency on lsan.
98         * lsan/Makefile.am: New file.
99         * asan/Makefile.in: Regenerate.
100         * lsan/Makefile.in: Regenerate.
101         * Makefile.in: Regenerate.
102         * configure: Regenerate.
103         * sanitizer_common/Makefile.in: Regenerate.
105 2013-09-20  Alan Modra  <amodra@gmail.com>
107         * configure: Regenerate.
109 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
111         * ubsan/Makefile.am (libubsan_la_LIBADD): Revise to omit
112         libinterception.la for Darwin.
113         * ubsan/Makefile.in: Regenerate.
115 2013-08-30  Jakub Jelinek  <jakub@redhat.com>
117         * Makefile.am (SUBDIRS): Add ubsan.
118         * configure.ac (AC_CONFIG_FILES): Add ubsan/Makefile.
119         * merge.sh: Merge ubsan.
120         * sanitizer_common/sanitizer_report_decorator.h: Partial merge from trunk.
121         * sanitizer_common/sanitizer_printf.cc: Likewise.
122         * sanitizer_common/sanitizer_common.h: Likewise.
123         * ubsan: New directory. Import ubsan runtime from llvm.
125 2013-06-03  Christophe Lyon  <christophe.lyon@linaro.org>
127         * sanitizer_common/sanitizer_linux.cc (MemoryMappingLayout::Next):
128         Cherry pick upstream r182922.
130 2013-05-07  Christophe Lyon  <christophe.lyon@linaro.org>
132         * configure.tgt: Add ARM pattern.
134 2013-03-22  Jakub Jelinek  <jakub@redhat.com>
136         PR other/43620
137         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
138         * Makefile.in: Regenerated.
139         * asan/Makefile.in: Regenerated.
140         * interception/Makefile.in: Regenerated.
141         * sanitizer_common/Makefile.in: Regenerated.
142         * tsan/Makefile.in: Regenerated.
144 2013-02-28  Jakub Jelinek  <jakub@redhat.com>
146         * asan/asan_mapping.h (kMidMemEnd): Increase to 0x4fffffffffULL.
147         * asan/asan_rtl.cc (__asan_init): Increase kMidMemEnd to
148         0x4fffffffffULL.
150 2013-02-22  Jakub Jelinek  <jakub@redhat.com>
152         PR sanitizer/56393
153         * asan/Makefile.am (nodist_toolexeclib_HEADERS): Set to
154         libasan_preinit.o.
155         (libasan_preinit.o): Depend on asan_preinit.o.
156         * asan/Makefile.in: Regenerated.
157         * asan/asan_preinit.cc: New file, synced from upstream.
158         * asan/asan_rtl.cc: Remove preinit stuff, synced from upstream.
160 2013-02-21  Jack Howarth  <howarth@bromo.med.uc.edu>
162         * asan/Makefile.am (libasan_la_SOURCES): Remove deprecated
163         dynamic/asan_interceptors_dynamic.cc.
164         * asan/Makefile.in: Regenerated.
165         * merge.sh: Remove merge of deprecated lib/asan/dynamic.
167 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
169         * asan/asan_rtl.cc (__asan_preinit): Don't add if PIC macro is
170         defined.  Add used attribute.
172 2013-02-21  Kostya Serebryany  <kcc@google.com>
174         * All source files: Merge from upstream r175733.
175         * sanitizer_common/Makefile.am: Added a new file.
176         * sanitizer_common/Makefile.in: Regenerated.
178 2013-02-14  H.J. Lu  <hongjiu.lu@intel.com>
180         PR bootstrap/56327
181         * interception/interception.h (OFF_T): Merged from upstream
182         r175140.
184 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
186         * asan/asan_mapping.h (SHADOW_OFFSET): Set to (1ULL << 44) on x86-64.
188 2013-02-13  Kostya Serebryany  <kcc@google.com>
190         PR sanitizer/56128
191         * All source files: Merge from upstream r175049.
192         * interception/Makefile.am: added include path.
193         * interception/Makefile.in: Regenerated.
195 2013-02-11  Jack Howarth  <howarth@bromo.med.uc.edu>
197         * configure.tgt: Disable build on darwin9 and earlier.
199 2013-01-23  Kostya Serebryany  <kcc@google.com>
201         PR sanitizer/55989
202         * All source files: Merge from upstream r173241.
203         * merge.sh: Support merging .inc files.
205 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
207         * sanitizer_common/Makefile.am (AM_CXXFLAGS): Remove
208         -Wno-c99-extensions.
209         * interception/Makefile.am (AM_CXXFLAGS): Likewise.
210         * asan/Makefile.am (AM_CXXFLAGS): Likewise.
211         * sanitizer_common/Makefile.in: Regenerated.
212         * interception/Makefile.in: Regenerated.
213         * asan/Makefile.in: Regenerated.
215 2013-01-10  Wei Mi  <wmi@google.com>
217         PR sanitizer/55488
218         * tsan/Makefile.am: Add tsan_rtl_amd64.S.
219         * tsan/Makefile.in: Regenerated.
220         * tsan/tsan_rtl.h: Enable HACKY_CALL.
222 2013-01-10  Kostya Serebryany  <kcc@google.com>
224         * All source files: Merge from upstream r171973.
225         * sanitizer_common/Makefile.am: Added new files.
226         * asan/Makefile.am: Likewise.
227         * tsan/Makefile.am: Likewise.
228         * sanitizer_common/Makefile.in: Regenerated.
229         * asan/Makefile.in: Likewise.
230         * tsan/Makefile.in: Likewise.
232 2013-01-07  H.J. Lu  <hongjiu.lu@intel.com>
234         * asan/Makefile.am (libasan_la_LIBADD): Replace
235         LIBSTDCXX_RAW_CXX_LDLAGS with LIBSTDCXX_RAW_CXX_LDFLAGS.
236         * tsan/Makefile.am (libtsan_la_LIBADD): Likewise.
237         * Makefile.in: Regenerated.
238         * configure: Likewise.
239         * asan/Makefile.in: Likewise.
240         * interception/Makefile.in: Likewise.
241         * sanitizer_common/Makefile.in: Likewise.
242         * tsan/Makefile.in: Likewise.
244 2012-12-12  H.J. Lu  <hongjiu.lu@intel.com>
246         * Makefile.am (AM_MAKEFLAGS): Restored.
247         * interception/Makefile.am: Likewise.
248         * sanitizer_common/Makefile.am: Likewise.
249         * tsan/Makefile.am: Likewise.
250         * Makefile.in: Regenerated.
251         * asan/Makefile.in: Likewise.
252         * interception/Makefile.in: Likewise.
253         * sanitizer_common/Makefile.in: Likewise.
254         * tsan/Makefile.in: Likewise.
256 2012-12-12  H.J. Lu  <hongjiu.lu@intel.com>
258         * Makefile.am (MAKEOVERRIDES): Restored.
259         * asan/Makefile.am: Likewise.
260         * interception/Makefile.am: Likewise.
261         * sanitizer_common/Makefile.am: Likewise.
262         * tsan/Makefile.am: Likewise.
263         * Makefile.in: Regenerated.
264         * asan/Makefile.in: Likewise.
265         * interception/Makefile.in: Likewise.
266         * sanitizer_common/Makefile.in: Likewise.
267         * tsan/Makefile.in: Likewise.
269 2012-12-12  H.J. Lu  <hongjiu.lu@intel.com>
271         * asan/Makefile.am (libasan_la_LIBADD): Use $(LIBSTDCXX_RAW_CXX_LDLAGS).
272         * tsan/Makefile.am (libtsan_la_LIBADD): Likewise.
273         * Makefile.in: Regenerated.
274         * configure: Likewise.
275         * asan/Makefile.in: Likewise.
276         * interception/Makefile.in: Likewise.
277         * sanitizer_common/Makefile.in: Likewise.
278         * tsan/Makefile.in: Likewise.
280 2012-12-12  H.J. Lu  <hongjiu.lu@intel.com>
282         * Makefile.am (AM_MAKEFLAGS): Removed.
283         (MAKEOVERRIDES): Likewise.
284         * asan/Makefile.am: Likewise.
285         * interception/Makefile.am: Likewise.
286         * sanitizer_common/Makefile.am: Likewise.
287         * tsan/Makefile.am: Likewise.
288         * Makefile.in: Regenerated.
289         * asan/Makefile.in: Likewise.
290         * interception/Makefile.in: Likewise.
291         * sanitizer_common/Makefile.in: Likewise.
292         * tsan/Makefile.in: Likewise.
294 2012-12-11  H.J. Lu  <hongjiu.lu@intel.com>
296         PR sanitizer/55533
297         * Makefile.am (AM_MAKEFLAGS): Remove CC and CXX.
298         * configure.ac (GCC_LIBSTDCXX_RAW_CXX_FLAGS): New.
299         * asan/Makefile.am (AM_CXXFLAGS): Add $(LIBSTDCXX_RAW_CXX_CXXFLAGS).
300         (AM_MAKEFLAGS): Remove CC and CXX.
301         * interception/Makefile.am: Likewise.
302         * sanitizer_common/Makefile.am: Likewise.
303         * tsan/Makefile.am: Likewise.
304         * Makefile.in: Regenerated.
305         * aclocal.m4: Likewise.
306         * configure: Likewise.
307         * asan/Makefile.in: Likewise.
308         * interception/Makefile.in: Likewise.
309         * sanitizer_common/Makefile.in: Likewise.
310         * tsan/Makefile.in: Likewise.
312 2012-12-06  Peter Bergner  <bergner@vnet.ibm.com>
314         * configure.tgt: Enable build on powerpc*-linux.
316 2012-12-06  Jack Howarth  <howarth@bromo.med.uc.edu>
318         PR 55599/sanitizer
319         * configure.ac: Set enable_static=no on darwin.
320         * configure: Regenerated.
322 2012-12-06  Kostya Serebryany  <kcc@google.com>
324         * All files: Merge from upstream r169392.
326 2012-12-05  Kostya Serebryany  <kcc@google.com>
328         * All files: Merge from upstream r169371.
330 2012-12-04  Kostya Serebryany  <kcc@google.com>
331             Jack Howarth  <howarth@bromo.med.uc.edu>
333         PR 55521/sanitizer
334         * configure.ac: Define USING_MAC_INTERPOSE when on darwin.
335         * Makefile.am: Don't build interception subdir when
336         USING_MAC_INTERPOSE defined.
337         * asan/Makefile.am: Pass -DMAC_INTERPOSE_FUNCTIONS and
338         -DMISSING_BLOCKS_SUPPORT when USING_MAC_INTERPOSE defined.
339         Compile asan_interceptors_dynamic.cc but not libinterception
340         when USING_MAC_INTERPOSE defined.
341         * interception/Makefile.am: Remove usage of USING_MACH_OVERRIDE.
342         * configure: Regenerated.
343         * Makefile.in: Likewise.
344         * asan/Makefile.in: Likewise.
345         * interception/Makefile.in: Likewise.
346         * asan/asan_intercepted_functions.h: Use MISSING_BLOCKS_SUPPORT.
347         * asan/asan_mac.cc: Likewise.
348         * asan/dynamic/asan_interceptors_dynamic.cc: Migrate from llvm
349         and use MISSING_BLOCKS_SUPPORT.
350         * merge.sh: Merge lib/asan/dynamic into asan/dynamic.
351         * interception/mach_override/LICENSE.txt: Remove unused file.
352         * interception/mach_override/mach_override.c: Likewise.
353         * interception/mach_override/mach_override.h: Likewise.
354         * interception/mach_override: Remove unused directory.
356 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
358         * Makefile.am (AM_MAKEFLAGS): Restore CC and CXX.
359         * configure.ac (ACX_NONCANONICAL_TARGET): Removed.
360         * asan/Makefile.am (AM_CXXFLAGS): Remove -I for libstdc++-v3 header
361         files.
362         (AM_MAKEFLAGS): Restore CC and CXX.
363         * interception/Makefile.am: Likewise.
364         * sanitizer_common/Makefile.am: Likewise.
365         * tsan/Makefile.am: Likewise.
366         * Makefile.in: Regenerated.
367         * aclocal.m4: Likewise.
368         * configure: Likewise.
369         * asan/Makefile.in: Likewise.
370         * interception/Makefile.in: Likewise.
371         * sanitizer_common/Makefile.in: Likewise.
372         * tsan/Makefile.in: Likewise.
374 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
376         * Makefile.am (AM_MAKEFLAGS): Remove CC and CXX.
377         * configure.ac (ACX_NONCANONICAL_TARGET): New.
378         * asan/Makefile.am (AM_CXXFLAGS): Add -I for libstdc++-v3 header
379         files.
380         (AM_MAKEFLAGS): Remove CC and CXX.
381         * interception/Makefile.am: Likewise.
382         * sanitizer_common/Makefile.am: Likewise.
383         * tsan/Makefile.am: Likewise.
384         * Makefile.in: Regenerated.
385         * aclocal.m4: Likewise.
386         * configure: Likewise.
387         * asan/Makefile.in: Likewise.
388         * interception/Makefile.in: Likewise.
389         * sanitizer_common/Makefile.in: Likewise.
390         * tsan/Makefile.in: Likewise.
392 2012-11-27  Kostya Serebryany  <kcc@google.com>
394         * All files: Merge from upstream r168699.
396 2012-11-24  Kostya Serebryany  <kcc@google.com>
397             Jack Howarth  <howarth@bromo.med.uc.edu>
399         * interception/mach_override/mach_override.c: Migrate from llvm.
400         * interception/mach_override/mach_override.h: Likewise.
401         * interception/mach_override/LICENSE.txt: Likewise.
402         * configure.tgt: Add darwin to supported targets.
403         * configure.ac: Define USING_MACH_OVERRIDE when on darwin.
404         * interception/Makefile.am: Compile mach_override.c when
405         USING_MACH_OVERRIDE defined.
406         * configure: Regenerated.
407         * interception/Makefile.in: Likewise.
409 2012-11-23  H.J. Lu  <hongjiu.lu@intel.com>
411         PR sanitizer/55450
412         * tsan/Makefile.am (gcc_version): New.
413         * tsan/Makefile.in: Regenerated.
415 2012-11-23  Kostya Serebryany  <kcc@google.com>
417         * merge.sh: Support tsan, support added/removed files.
418         * tsan/Makefile.am: Remove tsan_printf.cc.
419         * tsan/Makefile.in: Regenerated.
420         * other files: Merge from upstream r168514.
422 2012-11-23  Kostya Serebryany  <kcc@google.com>
424         * merge.sh: New file.
426 2012-11-23  Jakub Jelinek  <jakub@redhat.com>
428         * tsan/Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.
429         * Makefile.am (SUBDIRS): Guard tsan addition with TSAN_SUPPORTED
430         automake conditional instead of !MULTISUBDIR32.
431         * configure.tgt: Set TSAN_SUPPORTED=yes for x86_64/i686-linux
432         for 64-bit multilib.
433         * configure.ac: Check for void * size, source in configure.tgt,
434         define TSAN_SUPPORTED conditional instead of MULTILIBDIR32.
435         * configure: Regenerated.
436         * Makefile.in: Regenerated.
437         * tsan/Makefile.in: Regenerated.
439 2012-11-22  Wei Mi  <wmi@google.com>
441         * tsan: New directory. Import tsan runtime from llvm.
442         * configure.ac: Add 64 bits tsan build.
443         * Makefile.am: Likewise.
444         * configure: Regenerated.
445         * Makefile.in: Likewise.
447 2012-11-21  Kostya Serebryany  <kcc@google.com>
449         * README.gcc: Extend the README.gcc with mode details.
451 2012-11-20  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
453         * sanitizer_common/sanitizer_linux.cc
454         (SANITIZER_LINUX_USES_64BIT_SYSCALLS): Define.
455         (internal_mmap): Use it.
456         (internal_filesize): Likewise.
458 2012-11-16  Tom Tromey  <tromey@redhat.com>
460         * configure.ac: Invoke AM_MAINTAINER_MODE.
461         * aclocal.m4, configure, Makefile.in, asan/Makefile.in,
462         interception/Makefile.in, sanitizer_common/Makefile.in: Rebuild.
464 2012-11-16  H.J. Lu  <hongjiu.lu@intel.com>
466         PR other/55333
467         * include/sanitizer/common_interface_defs.h (uhwptr): New type
468         for hardware pointer.
469         * sanitizer_common/sanitizer_stacktrace.cc (StackTrace::FastUnwindStack):
470         Replace uptr with uhwptr for stack unwind.
472 2012-11-16  Dodji Seketeli  <dodji@redhat.com>
474         * configure.tgt: Enable build on sparc linux.
476 2012-11-15  H.J. Lu  <hongjiu.lu@intel.com>
478         * configure.ac: Properly set MULTISUBDIR.
479         * asan/Makefile.am (gcc_version): New.
480         * interception/Makefile.am (gcc_version): Likewise.
481         * sanitizer_common/Makefile.am (gcc_version): Likewise.
482         * configure: Regenerated.
483         * asan/Makefile.in: Likewise.
484         * interception/Makefile.in: Likewise.
485         * sanitizer_common/Makefile.in: Likewise.
487 2012-11-14  H.J. Lu  <hongjiu.lu@intel.com>
489         PR other/55291
490         * configure.ac (--enable-version-specific-runtime-libs): New option.
491         (AC_CANONICAL_SYSTEM): New.
492         (AM_ENABLE_MULTILIB): Moved right after AM_INIT_AUTOMAKE.
493         (toolexecdir): Support multilib.
494         (toolexeclibdir): Likewise.
495         (multilib_arg): New.
496         * Makefile.in: Regenerated.
497         * aclocal.m4: Likewise.
498         * configure: Likewise.
499         * asan/Makefile.in: Likewise.
500         * interception/Makefile.in: Likewise.
501         * sanitizer_common/Makefile.in: Likewise.
503 2012-11-14  H.J. Lu  <hongjiu.lu@intel.com>
505         PR other/55292
506         Backport from upstream revision 167883
507         * sanitizer_common/sanitizer_linux.cc (internal_mmap): Check
508         __x86_64__ instead of __WORDSIZE.
509         (internal_filesize): Likwise.
511 2012-11-14  H.J. Lu  <hongjiu.lu@intel.com>
513         * configure.ac (AC_CONFIG_AUX_DIR): Removed.
514         * Makefile.in: Regenerated.
515         * configure: Likewise.
517 2012-11-13  H.J. Lu  <hongjiu.lu@intel.com>
519         PR other/55304
520         * acinclude.m4: New file.
521         * Makefile.am (ACLOCAL_AMFLAGS): New.
522         * configure.ac (AC_PREREQ): Set to 2.64.
523         (AC_CONFIG_AUX_DIR): Set to "..".
524         * Makefile.in: Regenerated.
525         * aclocal.m4: Likewise.
526         * configure: Likewise.
527         * asan/Makefile.in: Likewise.
528         * interception/Makefile.in: Likewise.
529         * sanitizer_common/Makefile.in: Likewise.
531         * config.guess: Removed.
532         * config.sub: Likewise.
533         * depcomp: Likewise.
534         * install-sh: Likewise.
535         * ltmain.sh: Likewise.
536         * missing: Likewise.
538 2012-11-13  Richard Henderson  <rth@redhat.com>
540         * configure.tgt: New file.
542 2012-11-12  David S. Miller  <davem@davemloft.net>
544         * asan/asan_linux.cc (GetPcSpBp): Add sparc support.
546 2012-10-29  Wei Mi  <wmi@google.com>
548         Initial checkin: migrate asan runtime from llvm.