diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-03-20 00:46:01 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-03-20 00:46:01 +0000 |
commit | 460adbb8475bffc72e749fe841e737e18154b8f5 (patch) | |
tree | 540e228ac1a0ae5edc8bc0bfa4d65a034b357562 /sysdeps/unix/sysv/linux/i386/sys | |
parent | 4cec02b2ba18a18203c2a0008de8d35f46f92de8 (diff) | |
download | glibc-460adbb8475bffc72e749fe841e737e18154b8f5.tar.gz glibc-460adbb8475bffc72e749fe841e737e18154b8f5.tar.xz glibc-460adbb8475bffc72e749fe841e737e18154b8f5.zip |
Update comment about _SLOWDOWN flags.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/sys')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sys/debugreg.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sys/debugreg.h b/sysdeps/unix/sysv/linux/i386/sys/debugreg.h index 8aafd670b4..e2ca11e1e0 100644 --- a/sysdeps/unix/sysv/linux/i386/sys/debugreg.h +++ b/sysdeps/unix/sysv/linux/i386/sys/debugreg.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -71,8 +71,18 @@ #define DR_GLOBAL_ENABLE_MASK (0xAA) /* Set global bits for all 4 regs */ /* The second byte to the control register has a few special things. - We can slow the instruction pipeline for instructions coming via the - gdt or the ldt if we want to. I am not sure why this is an advantage */ + + On the i386, you should set the DR_LOCAL_SLOWDOWN or + DR_GLOBAL_SLOWDOWN bits if you want to know exactly which + instruction triggered the watchpoint. Setting these bits causes + the processor to run more slowly, but leaving them clear makes it + treat watchpoint hits as imprecise exceptions, so you can't + reliably determine which instruction caused the hit. + + The i486 and all later IA-32 processors ignore DR_LOCAL_SLOWDOWN + and DR_GLOBAL_SLOWDOWN. They always report the exception + precisely, except in some rare cases, which the user can't do + anything about. */ #define DR_CONTROL_RESERVED (0xFC00) /* Reserved by Intel */ #define DR_LOCAL_SLOWDOWN (0x100) /* Local slow the pipeline */ |