index
:
riscv-gnu-toolchain/gdb.git
FSF
add-fakeroots-dir
arc-20081103-branch
arc-insight_6_8-branch
binutils-2_10-branch
binutils-2_11-branch
binutils-2_12-branch
binutils-2_13-branch
binutils-2_14-branch
binutils-2_15-branch
binutils-2_16-branch
binutils-2_17-branch
binutils-2_18-branch
binutils-2_19-branch
binutils-2_20-branch
binutils-2_21-branch
binutils-2_22-branch
binutils-2_22_branch
binutils-2_23-branch
binutils-2_24-branch
binutils-2_25-branch
binutils-2_26-branch
binutils-2_27-branch
binutils-2_28-branch
binutils-2_29-branch
binutils-2_30-branch
binutils-2_31-branch
binutils-2_32-branch
binutils-2_33-branch
binutils-2_34-branch
binutils-2_35-branch
binutils-2_36-branch
binutils-2_37-branch
binutils-2_38-branch
binutils-2_39-branch
binutils-2_40-branch
binutils-2_41-branch
binutils-2_41-release-point
binutils-2_42-branch
binutils-2_43-branch
binutils-arc-20080908-branch
binutils-arc-20081103-branch
binutils-csl-2_17-branch
binutils-csl-arm-2005q1-branch
binutils-csl-gxxpro-3_4-branch
cagney-unwind-20030108-branch
cagney_bfdfile-20040213-branch
cagney_bigcore-20040122-branch
cagney_convert-20030606-branch
cagney_fileio-20030521-branch
cagney_frameaddr-20030403-branch
cagney_framebase-20030326-branch
cagney_lazyid-20030317-branch
cagney_offbyone-20030303-branch
cagney_regbuf-20020515-branch
cagney_sysregs-20020825-branch
cagney_tramp-20040309-branch
cagney_writestrings-20030508-branch
cagney_x86i386-20030821-branch
carlton_dictionary-branch
cgen-1_1-branch
cr-0x5f1
csl-arm-20050325-branch
cygnus
cygwin-64bit-branch
cygwin-64bit-premerge-branch
dberlin-typesystem-branch
dje-cgen-play1-branch
drow-cplus-branch
drow-reverse-20070409-branch
drow_intercu-20040221-branch
ezannoni_pie-20030916-branch
ezannoni_pie-20040323-branch
gdb-10-branch
gdb-11-branch
gdb-12-branch
gdb-13-branch
gdb-14-branch
gdb-15-branch
gdb-16-branch
gdb-4_18-branch
gdb-7.10-branch
gdb-7.11-branch
gdb-7.12-branch
gdb-7.7-branch
gdb-7.8-branch
gdb-7.9-branch
gdb-8.0-branch
gdb-8.1-branch
gdb-8.2-branch
gdb-8.3-branch
gdb-9-branch
gdb-csl-20060226-branch
gdb-csl-arm-20051020-branch
gdb-csl-available-20060303-branch
gdb-csl-gxxpro-6_3-branch
gdb-csl-symbian-20060226-branch
gdb-premipsmulti-2000-06-06-branch
gdb_5_0-2000-04-10-branch
gdb_5_1-2001-07-29-branch
gdb_5_1_0_1-2002-01-03-branch
gdb_5_2-branch
gdb_5_3-branch
gdb_6_0-branch
gdb_6_1-branch
gdb_6_2-branch
gdb_6_3-branch
gdb_6_4-branch
gdb_6_5-branch
gdb_6_6-branch
gdb_6_7-branch
gdb_6_8-branch
gdb_7_0-branch
gdb_7_1-branch
gdb_7_2-branch
gdb_7_3-branch
gdb_7_4-branch
gdb_7_5-branch
gdb_7_6-branch
gdb_s390-2001-09-26-branch
insight_6_8-branch
interps-20030202-branch
jimb-dwarf-compression-021023-branch
jimb-macro-020506-branch
jimb-ppc64-linux-20030509-branch
jimb-ppc64-linux-20030528-branch
jimb-ppc64-linux-20030613-branch
jimb-rda-nptl-branch
jimb-separate-debug-021125-branch
jimb-separate-debug-021223-branch
jimb_gnu_v3_branch
kettenis-i386newframe-20030308-branch
kettenis_i386newframe-20030406-branch
kettenis_i386newframe-20030419-branch
kettenis_sparc-20030918-branch
kseitz_interps-20020528-branch
master
msnyder-checkpoint-072509-branch
msnyder-fork-checkpoint-branch
msnyder-reverse-20060331-branch
msnyder-reverse-20060502-branch
msnyder-reverse-20080609-branch
msnyder-tracepoint-checkpoint-branch
multiprocess-20081120-branch
newlib-1_17_0-arc
newlib-autotools-branch
newlib-csl-20060320-branch
nickrob-async-20060513-branch
offbyone-20030313-branch
readline_4_3-import-branch
readline_5_1-import-branch
reverse-20080717-branch
reverse-20080930-branch
reverse-20081226-branch
sid-20020905-branch
tcltk840-20020924-branch
users/ARM/binutils-2_43-branch
users/ARM/efi-aarch64-support-binutils
users/ARM/embedded-binutils-2_26-branch
users/ARM/embedded-gdb-7.10-branch
users/ARM/gcs
users/ARM/gcs-binutils-gdb-master
users/ARM/morello-binutils-gdb-master
users/ARM/sve
users/aburgess/bp-inferior-calls
users/aburgess/gdb-opt-code-debug
users/aburgess/try-core-file-pid0
users/aburgess/try-fix-i386-tdesc-issue
users/aburgess/try-gdb-block-entry-pc
users/aburgess/try-gdbserver-pass-osabi
users/aburgess/try-mips-disasm-styling
users/ahajkova/try-frob
users/ahayward/variable_sve
users/ahayward/variable_sve2
users/ahayward/xml
users/ahayward/xml3
users/ahayward/xml4
users/alahay01/targetregcache
users/amerey/debuginfod
users/amerey/debuginfod-size
users/amerey/index-download
users/amerey/try-index-download
users/aoliva/SFN
users/apinski/gdb-ilp32-gdbserver
users/arnez/lk
users/arnez/lk3
users/azanella/aarch64-split-stack
users/bheckel/fortran-entry-point-nested-subroutines
users/bheckel/fortran-oop-extend-type
users/bheckel/fortran-strides
users/bheckel/fortran-vla-strings
users/cbiesinger/all-perf-patches
users/cbiesinger/arm-nbsd
users/cbiesinger/demangle-mutex
users/cbiesinger/hashtable
users/cbiesinger/minidump
users/cbiesinger/minsym-hash-one-thread
users/cbiesinger/parallel-minsyms-mutex
users/cbiesinger/stl_minsyms_hash
users/cbiesinger/threadpool
users/ccoutant/experimental-relr
users/ccoutant/gold-record
users/ccoutant/two-level-line-150331
users/ccoutant/two-level-line-tables
users/chigot/try-lto-board-flags
users/clyon/arm-fdpic
users/clyon/arm-fdpic-wip-gdb-8.2
users/clyon/gdb-7.5-fdpic
users/dje/google-7.10
users/fche/try-xxhash-plus
users/gentoo/2.27
users/gentoo/2.28
users/gwen/try-frame-unwind-c++-ification
users/gwen/try-frame-unwind-c++-ification-fixed
users/helflym/try-aarch64nto
users/hjl/binutils-2_25-branch
users/hjl/branch
users/hjl/cache
users/hjl/compress
users/hjl/dynobj
users/hjl/gold-test
users/hjl/got
users/hjl/indbr
users/hjl/link_assignments
users/hjl/linux/applied
users/hjl/linux/track
users/hjl/mmap/write
users/hjl/mpx/master
users/hjl/old-lto-mixed
users/hjl/output
users/hjl/pr12639
users/hjl/pr17878
users/hjl/pr19553/binutils-2_26-branch
users/hjl/pr19818
users/hjl/pr19827/binutils-2_26-branch
users/hjl/pr22032
users/hjl/pr22101
users/hjl/pr22393/master
users/hjl/pr22393/relro
users/hjl/pr25355/binutils-2_34-branch
users/hjl/relocs
users/hjl/sharable
users/hjl/sizeof
users/hjl/tls
users/hjl/try-pr30002
users/hjl/version
users/ibhagat/libsframe-versioning
users/ibhagat/sframe-stacktracer-testsuite
users/ibhagat/try-scfi-aarch64-v2
users/ibhagat/try-scfi-aarch64-v4
users/ibhagat/try-scfi-aarch64-v5
users/ibhagat/try-scfi-next
users/ibhagat/try-sframe-plt-fixes
users/ibhagat/try-sframe-scfi-next
users/ibm/binutils-2_24
users/ibm/binutils-2_25
users/jemarch/gdb-libtool
users/jemarch/new-bpf-atomics
users/jemarch/poke-gdb
users/jhb/cheri-gdb-12-branch
users/jremus/sframe-stacktracer-testsuite-s390x
users/jv/feature-py-jit-api-gen2
users/keiths/c++compile-submit
users/keiths/inline-func-bp-for-pedro
users/keiths/intelligent-breakpoint_re_set
users/keiths/template-completion
users/keiths/try-constify-target_desc2
users/linaro/binutils-2_25-branch
users/linaro/binutils-2_27-branch
users/linaro/binutils-2_28-branch
users/linaro/gdb-aarch64-ilp32
users/lsix/poke-gdb
users/lsix/try-require-c++17
users/luisgpm/aarch64-mte-v1
users/luisgpm/aarch64-mte-v2
users/luisgpm/aarch64-mte-v3
users/luisgpm/test
users/marxin/startswith-v2
users/maskray/gold-relr
users/mmetzger/fsgs
users/mmetzger/pr19340
users/mmetzger/pr31353
users/mmetzger/record-goto-mi
users/mnabipoor/poke-gdb
users/mwk/s390-relro
users/mwk/s390-relro-old
users/mwk/s390-relro-rel
users/nalcock/road-to-ctfv4
users/nalcock/try-enum-reloosening
users/palves/advance-until-fixes
users/palves/catch_exceptions
users/palves/cli-options
users/palves/config.h
users/palves/core-prstatus-rework
users/palves/ctrl-c
users/palves/detach-step-over
users/palves/enum-flags-rewrite
users/palves/fix-objc-tests
users/palves/fix-var-update-for-registers
users/palves/gdbserver-extract-unsigned-integer
users/palves/gnulib-largefile
users/palves/info_breakpoints_improvements
users/palves/interrupt-while-step-over
users/palves/interrupt-while-step-over-v1
users/palves/jit-speedup
users/palves/make_function_view
users/palves/packed
users/palves/per_ui_repeat
users/palves/pr26199-busy-loop-target-events
users/palves/runto_main
users/palves/scoped_ignore_signal
users/palves/stat
users/palves/step-over-thread-exit
users/palves/step-over-thread-exit-test-race
users/palves/step-over-thread-exit-v3
users/palves/step-over-thread-exit-v3.1
users/palves/tls-nonthreaded
users/palves/value_string
users/palves/windows-non-stop
users/pinskia/gdb-aarch64-ilp32
users/pkoning/multi-target
users/pmuldoon/c++compile
users/ppalka/readline-6.3-update
users/ppalka/readline-7.0-update
users/qiyao/frame-unwind-unavailable-3
users/qiyao/regcache-split-3
users/qiyao/regcache-split-4
users/qiyao/regcache-split-4-1
users/qiyao/regcache-split-4-2
users/qiyao/target-desc-2
users/qiyao/target-desc-3
users/qiyao/target-desc-4
users/riscv/binutils-integration-2.37
users/riscv/binutils-integration-branch
users/roland/2.31/gold-narrowing-switch
users/roland/2.34/objcopy-merge-notes-qsort
users/roland/ar-qL
users/roland/gold-narrowing-switch
users/roland/gprofng-zlib
users/roland/objcopy-merge-notes-qsort
users/roland/osabi
users/roland/riscv64-elf-shared
users/rth/x86-seg
users/sergiodj/bitpos
users/simark/amdgpu-readelf
users/simark/arm-none-core-file
users/simark/autoconf-warnings
users/simark/autotools-bump
users/simark/black
users/simark/btrace-cleanups
users/simark/clang-format
users/simark/fix-leading-whitespace
users/simark/fortran
users/simark/frame-debug
users/simark/mi-symbols-output
users/simark/ptid-in-fetch-store-regs
users/simark/refactor-typesafe-var
users/simark/regcache-for-alan
users/simark/regcache-multimap-v2
users/simark/split-dwarf2read
users/simark/submit/share-dwarf-partial-symtabs-v2
users/simark/template-suffix
users/simark/test
users/simark/try-cxx-hash-table
users/simark/try-gdbserver-unordered-map
users/simark/try-remove-unused-includes-tui
users/simark/try-remove-vla
users/simark/try-remove-vlas
users/simark/try-remove-vlas-2
users/simark/update-gnulib
users/simark/user-selection-rfc
#define bfd_mach_i386_i386 0
#define bfd_mach_i386_i8086 1
#define bfd_mach_i386_i386_intel_syntax 2
#define bfd_mach_x86_64 3
#define bfd_mach_x86_64_intel_syntax 4
bfd_arch_we32k
,
/* AT&T WE32xxx */
bfd_arch_tahoe
,
/* CCI/Harris Tahoe */
bfd_arch_i860
,
/* Intel 860 */
bfd_arch_romp
,
/* IBM ROMP PC/RT */
bfd_arch_alliant
,
/* Alliant */
bfd_arch_convex
,
/* Convex */
bfd_arch_m88k
,
/* Motorola 88xxx */
bfd_arch_pyramid
,
/* Pyramid Technology */
bfd_arch_h8300
,
/* Hitachi H8/300 */
#define bfd_mach_h8300 1
#define bfd_mach_h8300h 2
#define bfd_mach_h8300s 3
bfd_arch_powerpc
,
/* PowerPC */
#define bfd_mach_ppc 0
#define bfd_mach_ppc64 1
#define bfd_mach_ppc_403 403
#define bfd_mach_ppc_403gc 4030
#define bfd_mach_ppc_e500 500
#define bfd_mach_ppc_505 505
#define bfd_mach_ppc_601 601
#define bfd_mach_ppc_602 602
#define bfd_mach_ppc_603 603
#define bfd_mach_ppc_ec603e 6031
#define bfd_mach_ppc_604 604
#define bfd_mach_ppc_620 620
#define bfd_mach_ppc_630 630
#define bfd_mach_ppc_750 750
#define bfd_mach_ppc_860 860
#define bfd_mach_ppc_a35 35
#define bfd_mach_ppc_rs64ii 642
#define bfd_mach_ppc_rs64iii 643
#define bfd_mach_ppc_7400 7400
bfd_arch_rs6000
,
/* IBM RS/6000 */
bfd_arch_hppa
,
/* HP PA RISC */
#define bfd_mach_hppa10 10
#define bfd_mach_hppa11 11
#define bfd_mach_hppa20 20
#define bfd_mach_hppa20w 25
bfd_arch_d10v
,
/* Mitsubishi D10V */
bfd_arch_z8k
,
/* Zilog Z8000 */
#define bfd_mach_z8001 1
#define bfd_mach_z8002 2
bfd_arch_h8500
,
/* Hitachi H8/500 */
bfd_arch_sh
,
/* Hitachi SH */
#define bfd_mach_sh 1
#define bfd_mach_sh2 0x20
#define bfd_mach_sh_dsp 0x2d
#define bfd_mach_sh2a 0x2a
#define bfd_mach_sh2a_nofpu 0x2b
#define bfd_mach_sh2e 0x2e
#define bfd_mach_sh3 0x30
#define bfd_mach_sh3_nommu 0x31
#define bfd_mach_sh3_dsp 0x3d
#define bfd_mach_sh3e 0x3e
#define bfd_mach_sh4 0x40
#define bfd_mach_sh4_nofpu 0x41
#define bfd_mach_sh4_nommu_nofpu 0x42
#define bfd_mach_sh4a 0x4a
#define bfd_mach_sh4a_nofpu 0x4b
#define bfd_mach_sh4al_dsp 0x4d
#define bfd_mach_sh5 0x50
bfd_arch_alpha
,
/* Dec Alpha */
#define bfd_mach_alpha 1
bfd_arch_arm
,
/* Advanced Risc Machines ARM */
#define bfd_mach_arm_unknown 0
#define bfd_mach_arm_2 1
#define bfd_mach_arm_2a 2
#define bfd_mach_arm_3 3
#define bfd_mach_arm_3M 4
#define bfd_mach_arm_4 5
#define bfd_mach_arm_4T 6
#define bfd_mach_arm_5 7
#define bfd_mach_arm_5T 8
#define bfd_mach_arm_5TE 9
#define bfd_mach_arm_XScale 10
#define bfd_mach_arm_ep9312 11
#define bfd_mach_arm_iWMMXt 12
#define bfd_mach_arm_iWMMXt2 13
bfd_arch_ns32k
,
/* National Semiconductors ns32000 */
bfd_arch_w65
,
/* WDC 65816 */
bfd_arch_tic30
,
/* Texas Instruments TMS320C30 */
bfd_arch_v850
,
/* NEC V850 */
#define bfd_mach_v850 0
bfd_arch_arc
,
/* Argonaut RISC Core */
#define bfd_mach_arc_base 0
bfd_arch_m32r
,
/* Mitsubishi M32R/D */
#define bfd_mach_m32r 0
/* backwards compatibility */
bfd_arch_mn10200
,
/* Matsushita MN10200 */
bfd_arch_mn10300
,
/* Matsushita MN10300 */
bfd_arch_cris
,
/* Axis CRIS */
#define bfd_mach_cris_v0_v10 255
#define bfd_mach_cris_v32 32
#define bfd_mach_cris_v10_v32 1032
bfd_arch_microblaze
,
/* Xilinx MicroBlaze. */
bfd_arch_last
};
#define bfd_mach_s390_31 31
#define bfd_mach_s390_64 64
typedef
struct
symbol_cache_entry
{
const char
*
name
;
union
{
PTR p
;
bfd_vma i
;
}
udata
;
}
asymbol
;
typedef
int
(*
fprintf_ftype
) (
FILE
*,
const char/* Remote notification in GDB protocol
Copyright (C) 1988-2013 Free Software Foundation, Inc.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef REMOTE_NOTIF_H
#define REMOTE_NOTIF_H
#include
"queue.h"
/* An event of a type of async remote notification. */
struct
notif_event
{
/* Destructor. Release everything from SELF, but not SELF
itself. */
void
(*
dtr
) (
struct
notif_event
*
self
);
};
/* ID of the notif_client. */
enum
REMOTE_NOTIF_ID
{
REMOTE_NOTIF_STOP
=
0
,
REMOTE_NOTIF_LAST
,
};
/* A client to a sort of async remote notification. */
typedef
struct
notif_client
{
/* The name of notification packet. */
const char
*
name
;
/* The packet to acknowledge a previous reply. */
const char
*
ack_command
;
/* Parse BUF to get the expected event and update EVENT. This
function may throw exception if contents in BUF is not the
expected event. */
void
(*
parse
) (
struct
notif_client
*
self
,
char
*
buf
,
struct
notif_event
*
event
);
/* Send field <ack_command> to remote, and do some checking. If
something wrong, throw an exception. */
void
(*
ack
) (
struct
notif_client
*
self
,
char
*
buf
,
struct
notif_event
*
event
);
/* Check this notification client can get pending events in
'remote_notif_process'. */
int
(*
can_get_pending_events
) (
struct
notif_client
*
self
);
/* Allocate an event. */
struct
notif_event
*(*
alloc_event
) (
void
);
/* Id of this notif_client. */
const enum
REMOTE_NOTIF_ID id
;
} *
notif_client_p
;
DECLARE_QUEUE_P
(
notif_client_p
);
/* State on remote async notification. */
struct
remote_notif_state
{
/* Notification queue. */
QUEUE
(
notif_client_p
) *
notif_queue
;
/* Asynchronous signal handle registered as event loop source for when
the remote sent us a notification. The registered callback
will do a ACK sequence to pull the rest of the events out of
the remote side into our event queue. */
struct
async_event_handler
*
get_pending_events_token
;
/* One pending event for each notification client. This is where we
keep it until it is acknowledged. When there is a notification
packet, parse it, and create an object of 'struct notif_event' to
assign to it. This field is unchanged until GDB starts to ack
this notification (which is done by
remote.c:remote_notif_pending_replies). */
struct
notif_event
*
pending_event
[
REMOTE_NOTIF_LAST
];
};
void
remote_notif_ack
(
struct
notif_client
*
nc
,
char
*
buf
);
struct
notif_event
*
remote_notif_parse
(
struct
notif_client
*
nc
,
char
*
buf
);
void
notif_event_xfree
(
struct
notif_event
*
event
);
void
handle_notification
(
struct
remote_notif_state
*
notif_state
,
char
*
buf
);
void
remote_notif_process
(
struct
remote_notif_state
*
state
,
struct
notif_client
*
except
);
struct
remote_notif_state
*
remote_notif_state_allocate
(
void
);
void
remote_notif_state_xfree
(
struct
remote_notif_state
*
state
);
extern
struct
notif_client notif_client_stop
;
extern
int
notif_debug
;
#endif
/* REMOTE_NOTIF_H */