]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Made VG_(read_millisecond_timer)() available to skins. Also made it cope
authorNicholas Nethercote <njn@valgrind.org>
Tue, 30 Sep 2003 14:03:21 +0000 (14:03 +0000)
committerNicholas Nethercote <njn@valgrind.org>
Tue, 30 Sep 2003 14:03:21 +0000 (14:03 +0000)
with being called from SK_(pre_clo_init)(), before its startup code has been
run (just returns 0).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1868

coregrind/vg_include.h
coregrind/vg_mylibc.c
include/vg_skin.h

index 4bae44fa62a28915208ab28dae3b708840d4211c..06fb5f6ae53315fc52e54c561e64dd33a7ab1db8 100644 (file)
@@ -1038,7 +1038,6 @@ extern Char* VG_(arena_strdup) ( ArenaId aid, const Char* s);
 /* Skins shouldn't need these...(?) */
 extern void VG_(start_rdtsc_calibration) ( void );
 extern void VG_(end_rdtsc_calibration) ( void );
-extern UInt VG_(read_millisecond_timer) ( void );
 
 extern Int VG_(fcntl) ( Int fd, Int cmd, Int arg );
 extern Int VG_(select)( Int n, 
index 60e3b84fe9905bf328dce19be547c0819ea6f542..f42d84529fdb0a683a5689403bf4c02d30f37a0e 100644 (file)
@@ -1327,7 +1327,9 @@ static ULong              rdtsc_cal_end_raw;
 UInt VG_(read_millisecond_timer) ( void )
 {
    ULong rdtsc_now;
-   vg_assert(rdtsc_calibration_state == 2);
+   // If called before rdtsc setup completed (eg. from SK_(pre_clo_init)())
+   // just return 0.
+   if (rdtsc_calibration_state < 2) return 0;
    rdtsc_now = do_rdtsc_insn();
    vg_assert(rdtsc_now > rdtsc_cal_end_raw);
    rdtsc_now -= rdtsc_cal_end_raw;
index d2cae54be2a997217330cee9e97f6716d847cd8d..8b111ce2e273b4869249d760efc411b5df8b06cc 100644 (file)
@@ -495,6 +495,11 @@ extern Int VG_(kkill)        ( Int pid, Int signo );
 extern Int VG_(ksigpending)  ( vki_ksigset_t* set );
 
 
+/* ------------------------------------------------------------------ */
+/* other, randomly useful functions */
+extern UInt VG_(read_millisecond_timer) ( void );
+
+
 /*====================================================================*/
 /*=== UCode definition                                             ===*/
 /*====================================================================*/