diff options
author | Ben Elliston <bje@au.ibm.com> | 2001-02-15 21:14:40 +0000 |
---|---|---|
committer | Ben Elliston <bje@au.ibm.com> | 2001-02-15 21:14:40 +0000 |
commit | c43ad8eb1e91da3406b76c24f2711729320e03d8 (patch) | |
tree | b950749c342189f5d1d2739dc2cef3589b0d202d /sim/common | |
parent | 69f03d6521cfad159329614238bb027ec56b0366 (diff) | |
download | gdb-c43ad8eb1e91da3406b76c24f2711729320e03d8.zip gdb-c43ad8eb1e91da3406b76c24f2711729320e03d8.tar.gz gdb-c43ad8eb1e91da3406b76c24f2711729320e03d8.tar.bz2 |
* profiling bug fixes.
2001-02-09 Ben Elliston <bje@redhat.com>
* (profile_print_pc): Write header out in target byte order.
2001-02-09 Ben Elliston <bje@redhat.com>
* sim-profile.c (profile_pc_init): Correct bug in loop logic when
adjusting the pc shift value.
Diffstat (limited to 'sim/common')
-rw-r--r-- | sim/common/ChangeLog | 9 | ||||
-rw-r--r-- | sim/common/sim-profile.c | 10 |
2 files changed, 17 insertions, 2 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 7f1fadf..35830a9 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,12 @@ +2001-02-09 Ben Elliston <bje@redhat.com> + + * (profile_print_pc): Write header out in target byte order. + +2001-02-09 Ben Elliston <bje@redhat.com> + + * sim-profile.c (profile_pc_init): Correct bug in loop logic when + adjusting the pc shift value. + 2001-01-12 Chris Demetriou <cgd@sibyte.com> * aclocal.m4 (SIM_AC_OPTION_SCACHE): Properly handle the case diff --git a/sim/common/sim-profile.c b/sim/common/sim-profile.c index 1ac148d..20d7a54 100644 --- a/sim/common/sim-profile.c +++ b/sim/common/sim-profile.c @@ -1,5 +1,5 @@ /* Default profiling support. - Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc. Contributed by Cygnus Support. This file is part of GDB, the GNU debugger. @@ -564,7 +564,7 @@ profile_pc_init (SIM_DESC sd) + PROFILE_PC_NR_BUCKETS (data) - 1) / PROFILE_PC_NR_BUCKETS (data)); PROFILE_PC_SHIFT (data) = 0; - while (bucket_size < PROFILE_PC_BUCKET_SIZE (data)) + while (bucket_size > PROFILE_PC_BUCKET_SIZE (data)) { PROFILE_PC_SHIFT (data) += 1; } @@ -684,6 +684,12 @@ profile_print_pc (sim_cpu *cpu, int verbose) } /* size of sample buffer (+ header) */ header[2] = PROFILE_PC_NR_BUCKETS (profile) * 2 + sizeof (header); + + /* Header must be written out in target byte order. */ + H2T (header[0]); + H2T (header[1]); + H2T (header[2]); + ok = fwrite (&header, sizeof (header), 1, pf); for (loop = 0; ok && (loop < PROFILE_PC_NR_BUCKETS (profile)); |