Home | History | Annotate | Download | only in info

Lines Matching full:architecture

57 * Target Architecture Definition::
156 architecture and register representation, and added the section on
256 debug support for a specific target architecture (sparc, mips, etc).
488 instructions that may be jump targets; perhaps there is an architecture
789 bytes long. The ia32 architecture requires that each watched region be
1560 Since `libgdb' development is on-going, its architecture is still
1781 The architecture registers a list of frame unwinders (`struct
2371 File: gdbint.info, Node: Host Definition, Next: Target Architecture Definition, Prev: Language Support, Up: Top
2496 File: gdbint.info, Node: Target Architecture Definition, Next: Target Descriptions, Prev: Host Definition, Up: Top
2498 11 Target Architecture Definition
2501 GDB's target architecture defines what sort of machine-language
2504 The target architecture object is implemented as the C structure
2511 * Initialize New Architecture::
2519 * Defining Other Architecture Features::
2523 File: gdbint.info, Node: OS ABI Variant Handling, Next: Initialize New Architecture, Up: Target Architecture Definition
2530 architecture definition. There are two major components in the OS ABI
2533 A "sniffer" examines a file matching a BFD architecture/flavour pair
2534 (the architecture may be wildcarded) in an attempt to determine the OS
2535 ABI of that file. Sniffers with a wildcarded architecture are
2536 considered to be "generic", while sniffers for a specific architecture
2539 architecture/flavour may exist, in order to differentiate between two
2547 each BFD architecture.
2556 settings for the architecture will be used.
2626 architecture, machine type and OS ABI specified by ARCH, MACHINE
2628 which implies the architecture's default machine type, will
2635 architecture/flavour pair specified by ARCH and FLAVOUR. If ARCH
2638 architecture.
2650 architecture, a warning will be issued and the debugging session
2661 File: gdbint.info, Node: Initialize New Architecture, Next: Registers and Memory, Prev: OS ABI Variant Handling, Up: Target Architecture Definition
2663 11.2 Initializing a New Architecture
2668 * How an Architecture is Represented::
2669 * Looking Up an Existing Architecture::
2670 * Creating a New Architecture::
2673 File: gdbint.info, Node: How an Architecture is Represented, Next: Looking Up an Existing Architecture, Up: Initialize New Architecture
2675 11.2.1 How an Architecture is Represented
2678 Each `gdbarch' is associated with a single BFD architecture, via a
2682 called during GDB startup. The arguments are a BFD architecture
2685 A GDB description for a new architecture, ARCH is created by
2698 void gdbarch_register (enum bfd_architecture ARCHITECTURE,
2702 The ARCHITECTURE will identify the unique BFD to be associated with
2705 target specific details associated with this architecture.
2708 architecture for 32-bit OpenRISC 1000 architectures by calling:
2713 File: gdbint.info, Node: Looking Up an Existing Architecture, Next: Creating a New Architecture, Prev: How an Architecture is Represented, Up: Initialize New Architecture
2715 11.2.2 Looking Up an Existing Architecture
2725 architecture, and ARCHES is a list of architectures which have already
2732 architecture based on INFO and return it.
2736 gdbarch_info', INFO, and returns the first matching architecture it
2737 finds, or `NULL' if none are found. If an architecture is found it can
2754 architecture. The `byte_order' member is a value in an enumeration
2758 specific ABIs are used by this architecture and the `target_desc'
2765 of existing architectures, ARCHES to see if a suitable architecture
2770 architecture
2776 File: gdbint.info, Node: Creating a New Architecture, Prev: Looking Up an Existing Architecture, Up: Initialize New Architecture
2778 11.2.3 Creating a New Architecture
2781 If no architecture is found, then a new architecture must be created,
2803 architecture. Many of the functions and variables are described in the
2806 This is the main work in defining a new architecture. Implementing
2812 example with the OpenRISC 1000 architecture it is used to hold the
2820 File: gdbint.info, Node: Registers and Memory, Next: Pointers and Addresses, Prev: Initialize New Architecture, Up: Target Architecture Definition
2839 File: gdbint.info, Node: Pointers and Addresses, Next: Address Classes, Prev: Registers and Memory, Up: Target Architecture Definition
2878 appropriate way for the current architecture.
2882 each time you port GDB to an architecture which does distinguish
2884 architecture-independent code.
2892 current architecture. This yields an address GDB can use to read
2896 For example, if the current architecture is the Intel x86, this
2899 architecture is the D10V, this function will return a 16-bit
2909 of type TYPE in the current architecture. Note that BUF refers to
2912 For example, if the current architecture is the Intel x86, this
2914 appropriate length in BUF. However, if the current architecture
2923 as appropriate for the current architecture.
2926 pointers. For pointers, it performs architecture-specific
2932 the address ADDR, as appropriate for the current architecture.
2933 This function performs architecture-specific conversions as
2944 format for the current architecture. Return the byte address the
2953 in the appropriate format for the current architecture.
2966 File: gdbint.info, Node: Address Classes, Next: Register Representation, Prev: Pointers and Addresses, Up: Target Architecture Definition
3002 Consider a hypothetical architecture in which addresses are normally
3004 suppose that the DWARF 2 information for this architecture simply uses
3049 File: gdbint.info, Node: Register Representation, Next: Frame Interpretation, Prev: Address Classes, Up: Target Architecture Definition
3057 * Register Architecture Functions & Variables::
3063 File: gdbint.info, Node: Raw and Cooked Registers, Next: Register Architecture Functions & Variables, Up: Register Representation
3072 of information within the architecture. For example the OpenRISC 1000
3073 architecture has up to 32 general purpose registers, which are
3079 For any architecture, the implementer will decide on a mapping from
3086 File: gdbint.info, Node: Register Architecture Functions & Variables, Next: Register Information Functions, Prev: Raw and Cooked Registers, Up: Register Representation
3088 11.6.2 Functions and Variables Specifying the Register Architecture
3092 type of registers in the architecture.
3094 -- Architecture Function: CORE_ADDR read_pc (struct regcache *REGCACHE)
3096 -- Architecture Function: void write_pc (struct regcache *REGCACHE,
3111 -- Architecture Function: void pseudo_register_read (struct gdbarch
3115 -- Architecture Function: void pseudo_register_write (struct gdbarch
3128 The access should be for the specified architecture, GDBARCH. Any
3133 -- Architecture
3142 -- Architecture Variable: int pc_regnum
3153 -- Architecture Variable: int ps_regnum
3162 -- Architecture Variable: int fp0_regnum
3169 File: gdbint.info, Node: Register Information Functions, Next: Register and Memory Data, Prev: Register Architecture Functions & Variables, Up: Register Representation
3176 -- Architecture Function: const char * register_name (struct gdbarch
3196 The access should be for the specified architecture, GDBARCH.
3199 -- Architecture Function: struct type * register_type (struct gdbarch
3218 -- Architecture Function: void print_registers_info (struct gdbarch
3228 The access should be for the specified architecture, GDBARCH, with
3245 -- Architecture Function: void print_float_info (struct gdbarch
3261 -- Architecture Function: void print_vector_info (struct gdbarch
3276 -- Architecture Function: int register_reggroup_p (struct gdbarch
3283 The information should be for the specified architecture, GDBARCH
3297 a frame pointer. However if an architecture does have a frame pointer
3312 * The Alpha architecture can represent 32 bit integer values in
3315 * The x86 architecture supports 80-bit floating-point registers. The
3321 by the architecture, or GDB's interface to the architecture, while the
3326 However, they do occasionally differ. An architecture may define the
3330 -- Architecture Function: int gdbarch_convert_register_p (struct
3345 -- Architecture Function: void gdbarch_register_to_value (struct
3361 -- Architecture Function: void gdbarch_value_to_register (struct
3395 necessary to access the underlying target architecture. In general
3408 File: gdbint.info, Node: Frame Interpretation, Next: Inferior Call Setup, Prev: Register Representation, Up: Target Architecture Definition
3438 "frame pointer"). The specific arrangements for an architecture are a
3520 32-bit architecture) from the stack pointer is the return address.
3648 -- Architecture Function: CORE_ADDR skip_prologue (struct gdbarch
3667 -- Architecture Function: int inner_than (CORE_ADDR LHS, CORE_ADDR RHS)
3682 -- Architecture Function: CORE_ADDR frame_align (struct gdbarch
3684 The architecture may have constraints on how its frames are
3686 to be double-word aligned, but 32-bit versions of the architecture
3694 defined for any architecture where it is possible the stack could
3700 -- Architecture Variable: int frame_red_zone_size
3709 The default value is 0. Set this field if the architecture has
3724 -- Architecture Function: CORE_ADDR unwind_pc (struct gdbarch
3740 -- Architecture Function: CORE_ADDR unwind_sp (struct gdbarch
3756 -- Architecture Function: int frame_num_args (struct gdbarch *GDBARCH,
3778 Each architecture requires appropriate sniffers, but they do not form
3795 are associated with a specific architecture. They are usually called
3841 Functions and Variables Specifying the Register Architecture:
3842 Register Architecture Functions & Variables.).
3890 File: gdbint.info, Node: Inferior Call Setup, Next: Adding support for debugging core files, Prev: Frame Interpretation, Up: Target Architecture Definition
3925 -- Architecture Function: CORE_ADDR push_dummy_call (struct gdbarch
3952 -- Architecture Function: struct frame_id unwind_dummy_id (struct
3969 -- Architecture Function: CORE_ADDR push_dummy_code (struct gdbarch
4001 File: gdbint.info, Node: Adding support for debugging core files, Next: Defining Other Architecture Features, Prev: Inferior Call Setup, Up: Target Architecture Definition
4010 `regset_from_core_section' architecture function should be all that is
4014 File: gdbint.info, Node: Defining Other Architecture Features, Next: Adding a New Target, Prev: Adding support for debugging core files, Up: Target Architecture Definition
4016 11.10 Defining Other Architecture Features
4021 architecture.
4030 Hewlett-Packard PA 2.0 architecture contain the privilege level of
4049 Address Classes: Target Architecture Definition.
4061 values or'd together. *Note Address Classes: Target Architecture
4075 *Note Address Classes: Target Architecture Definition.
4079 in the appropriate format for the current architecture. This
4082 Architecture Definition.
4106 architecture.
4130 shortest instruction of the architecture.
4164 is a VLIW architecture in which a number of RISC-like instructions
4210 Memory Data Representations: Target Architecture Definition.
4287 Define this when the architecture needs to handle non-pointer to
4301 an architecture method like `gdbarch_integer_to_address' certainly
4304 *Note Pointers Are Not Always Addresses: Target Architecture
4309 format for the current architecture. Return the byte address the
4311 Target Architecture Definition.
4316 Representations: Target Architecture Definition.
4321 Architecture Definition.
4326 Architecture Definition.
4432 such a parameter should not be added. If an architecture that
4474 Non-zero if `char' is normally signed on this architecture; zero if
4544 Target Architecture Definition.
4558 File: gdbint.info, Node: Adding a New Target, Prev: Defining Other Architecture Features, Up: Target Architecture Definition
4573 shared among many targets that use the same processor architecture.
4579 A GDB description for a new architecture, arch is created by
4591 _Note:_ If the architecture requires multiple source files, the
4597 A new struct gdbarch, defining the new architecture, is created
4601 void gdbarch_register (enum bfd_architecture architecture,
4606 How an Architecture is Represented: How an Architecture is Represented.
4612 processor architecture.
4615 File: gdbint.info, Node: Target Descriptions, Next: Target Vector Definition, Prev: Target Architecture Definition, Up: Top
4620 The target architecture definition (*note Target Architecture
4622 architecture. For some platforms, it is handy to have more flexible
4623 knowledge about a specific instance of the architecture--for instance,
4657 `<architecture>' element is handled first, to determine which
4658 architecture's gdbarch initialization routine is called to create the
4659 new architecture. Then the initialization routine is called, and has a
4660 chance to adjust the constructed architecture based on the contents of
4672 instance of the target. But it takes a little work in the architecture
4677 the target defined registers. It is the architecture's responsibility
4679 To keep architecture code simple, the same mechanism is used to assign
4683 registers. The architecture's `gdbarch_init' routine should:
4707 After `tdesc_use_registers' has been called, the architecture's
4715 * Using `tdesc_numbered_register' allows the architecture to give
4723 architecture must call `set_tdesc_pseudo_register_name',
5571 17.2 Per-architecture module data
5575 specific per-architecture data-pointers to the `struct gdbarch'
5576 architecture object.
5578 A module registers one or more per-architecture data-pointers using:
5580 -- Architecture Function: struct gdbarch_data *
5583 per-architecture data-pointer using the architecture's obstack
5585 architecture creation, it is not parameterized with the
5586 architecture. and must not call modules that use per-architecture
5589 -- Architecture Function: struct gdbarch_data *
5593 per-architecture data-pointer _after_. Since POST_INIT is always
5594 called after architecture creation, it both receives the fully
5595 initialized architecture and is free to call modules that use
5596 per-architecture data (care needs to be taken to ensure that those
5601 identify the per-architecture data-pointer added for that module.
5603 The per-architecture data-pointer is accessed using the function:
5605 -- Architecture Function: void * gdbarch_data (struct gdbarch
5607 Given the architecture ARCH and module data handle DATA_HANDLE
5610 current value of the per-architecture data-pointer. If the data
5619 A module can extend the architecture vector, adding additional
5620 per-architecture data, using the PRE_INIT method. The module's
5621 per-architecture data is then initialized during architecture creation.
5623 In the below, the module's per-architecture _nozel_ is added. An
5624 architecture can specify its nozel by calling `set_gdbarch_nozel' from
5641 A module can on-demand create architecture dependent data structures
5645 `nozel_post_init' using information obtained from the architecture.
5924 architecture to GDB can be broken into a number of steps.
5926 * Ensure a BFD exists for executables of the target architecture in
5930 * Implement a disassembler for the target architecture in the
5933 * Define the target architecture in the `gdb' directory (*note
5936 contain the code. By convention the target architecture
5937 definition for an architecture ARCH is placed in `ARCH-tdep.c'.
5941 for the architecture.
5956 * Add a description of the new architecture to the main GDB user
7321 than one architecture and is much faster than using `gdb_mbuild.sh'.
7324 supported and then switches the current architecture to each of those
7325 to get information about the architecture. The test results are stored
7488 The current architecture has changed. The argument NEWARCH is a
7489 pointer to the new architecture.
8017 * $pc: Register Architecture Functions & Variables.
8019 * $ps: Register Architecture Functions & Variables.
8021 * $sp: Register Architecture Functions & Variables.
8024 * _initialize_ARCH_tdep: How an Architecture is Represented.
8045 * address_class_name_to_type_flags: Defining Other Architecture Features.
8047 * address_class_name_to_type_flags_p: Defining Other Architecture Features.
8055 * ARCH-tdep.c: How an Architecture is Represented.
8057 * architecture representation: How an Architecture is Represented.
8065 * bfd_arch_info: Looking Up an Existing Architecture.
8067 * BIG_BREAKPOINT: Defining Other Architecture Features.
8069 * BPT_VECTOR: Defining Other Architecture Features.
8071 * BREAKPOINT: Defining Other Architecture Features.
8073 * breakpoint address adjusted: Defining Other Architecture Features.
8101 * configure.tgt: How an Architecture is Represented.
8105 * converting integers to addresses: Defining Other Architecture Features.
8120 * data-pointer, per-architecture/per-module: Misc Guidelines. (line 100)
8124 * DEPRECATED_IBM6000_TARGET: Defining Other Architecture Features.
8130 * DISABLE_UNSETTABLE_BREAK: Defining Other Architecture Features.
8162 * first floating point register: Register Architecture Functions & Variables.
8165 * fp0_regnum: Register Architecture Functions & Variables.
8216 * GCC2_COMPILED_FLAG_SYMBOL: Defining Other Architecture Features.
8218 * GCC_COMPILED_FLAG_SYMBOL: Defining Other Architecture Features.
8264 * gdbarch: How an Architecture is Represented.
8266 * gdbarch accessor functions: Creating a New Architecture.
8268 * gdbarch lookup: Looking Up an Existing Architecture.
8270 * gdbarch register architecture functions: Register Architecture Functions & Variables.
8274 * gdbarch_addr_bits_remove: Defining Other Architecture Features.
8277 * gdbarch_address_class_type_flags <1>: Defining Other Architecture Features.
8280 * gdbarch_address_class_type_flags_p: Defining Other Architecture Features.
8282 * gdbarch_address_class_type_flags_to_name <1>: Defining Other Architecture Features.
8285 * gdbarch_address_class_type_flags_to_name_p: Defining Other Architecture Features.
8287 * gdbarch_address_to_pointer <1>: Defining Other Architecture Features.
8291 * gdbarch_adjust_breakpoint_address: Defining Other Architecture Features.
8293 * gdbarch_alloc: Creating a New Architecture.
8295 * gdbarch_believe_pcc_promotion: Defining Other Architecture Features.
8297 * gdbarch_bits_big_endian: Defining Other Architecture Features.
8299 * gdbarch_breakpoint_from_pc: Defining Other Architecture Features.
8301 * gdbarch_call_dummy_location: Defining Other Architecture Features.
8303 * gdbarch_cannot_fetch_register: Defining Other Architecture Features.
8305 * gdbarch_cannot_store_register: Defining Other Architecture Features.
8307 * gdbarch_char_signed: Defining Other Architecture Features.
8309 * gdbarch_convert_register_p <1>: Defining Other Architecture Features.
8316 * gdbarch_decr_pc_after_break: Defining Other Architecture Features.
8318 * gdbarch_deprecated_fp_regnum: Defining Other Architecture Features.
8320 * gdbarch_double_bit: Defining Other Architecture Features.
8322 * gdbarch_dummy_id: Defining Other Architecture Features.
8324 * gdbarch_dwarf2_reg_to_regnum: Defining Other Architecture Features.
8326 * gdbarch_ecoff_reg_to_regnum: Defining Other Architecture Features.
8328 * gdbarch_float_bit: Defining Other Architecture Features.
8330 * gdbarch_fp0_regnum: Defining Other Architecture Features.
8332 * gdbarch_get_longjmp_target <1>: Defining Other Architecture Features.
8336 * gdbarch_in_function_epilogue_p: Defining Other Architecture Features.
8338 * gdbarch_in_solib_return_trampoline: Defining Other Architecture Features.
8340 * gdbarch_info: Looking Up an Existing Architecture.
8344 * gdbarch_int_bit: Defining Other Architecture Features.
8346 * gdbarch_integer_to_address: Defining Other Architecture Features.
8348 * gdbarch_list_lookup_by_info: Looking Up an Existing Architecture.
8350 * gdbarch_long_bit: Defining Other Architecture Features.
8352 * gdbarch_long_double_bit: Defining Other Architecture Features.
8354 * gdbarch_long_long_bit: Defining Other Architecture Features.
8358 * gdbarch_memory_insert_breakpoint: Defining Other Architecture Features.
8360 * gdbarch_memory_remove_breakpoint: Defining Other Architecture Features.
8364 * gdbarch_pointer_to_address <1>: Defining Other Architecture Features.
8368 * gdbarch_print_insn: Defining Other Architecture Features.
8370 * gdbarch_ptr_bit: Defining Other Architecture Features.
8372 * gdbarch_push_dummy_call: Defining Other Architecture Features.
8374 * gdbarch_push_dummy_code: Defining Other Architecture Features.
8377 * gdbarch_register: How an Architecture is Represented.
8383 * gdbarch_register_to_value <1>: Defining Other Architecture Features.
8387 * gdbarch_return_value: Defining Other Architecture Features.
8389 * gdbarch_sdb_reg_to_regnum: Defining Other Architecture Features.
8391 * gdbarch_short_bit: Defining Other Architecture Features.
8393 * gdbarch_skip_permanent_breakpoint: Defining Other Architecture Features.
8395 * gdbarch_skip_trampoline_code: Defining Other Architecture Features.
8397 * gdbarch_stab_reg_to_regnum: Defining Other Architecture Features.
8399 * gdbarch_stabs_argument_has_addr: Defining Other Architecture Features.
8401 * gdbarch_tdep definition: Creating a New Architecture.
8403 * gdbarch_tdep when allocating new gdbarch: Creating a New Architecture.
8405 * gdbarch_value_to_register <1>: Defining Other Architecture Features.
8409 * gdbarch_virtual_frame_pointer: Defining Other Architecture Features.
8437 * in_dynsym_resolve_code: Defining Other Architecture Features.
8464 * LITTLE_BREAKPOINT: Defining Other Architecture Features.
8505 * pc_regnum: Register Architecture Functions & Variables.
8508 * per-architecture module data: Misc Guidelines. (line 100)
8525 * processor status register: Register Architecture Functions & Variables.
8527 * program counter <1>: Register Architecture Functions & Variables.
8535 * ps_regnum: Register Architecture Functions & Variables.
8538 * pseudo_register_read: Register Architecture Functions & Variables.
8540 * pseudo_register_write: Register Architecture Functions & Variables.
8549 * read_pc: Register Architecture Functions & Variables.
8564 * REGISTER_CONVERT_TO_RAW: Defining Other Architecture Features.
8566 * REGISTER_CONVERT_TO_VIRTUAL: Defining Other Architecture Features.
8574 * regset_from_core_section: Defining Other Architecture Features.
8580 * REMOTE_BPT_VECTOR: Defining Other Architecture Features.
8582 * representation of architecture: How an Architecture is Represented.
8599 Architecture.
8601 * set_gdbarch_bits_big_endian: Defining Other Architecture Features.
8603 * set_gdbarch_sofun_address_maybe_missing: Defining Other Architecture Features.
8609 * SKIP_SOLIB_RESOLVER: Defining Other Architecture Features.
8616 * SOFTWARE_SINGLE_STEP: Defining Other Architecture Features.
8618 * SOFTWARE_SINGLE_STEP_P: Defining Other Architecture Features.
8627 * sp_regnum: Register Architecture Functions & Variables.
8648 * stack pointer: Register Architecture Functions & Variables.
8651 * status register: Register Architecture Functions & Variables.
8657 * struct gdbarch creation: Creating a New Architecture.
8667 * SYMBOL_RELOADING_DEFAULT: Defining Other Architecture Features.
8673 * target architecture definition: Target Architecture Definition.
8685 * TARGET_CHAR_BIT: Defining Other Architecture Features.
8766 * write_pc: Register Architecture Functions & Variables.
8791 Node: Target Architecture Definition103996
8793 Node: Initialize New Architecture109661
8794 Node: How an Architecture is Represented110012
8795 Node: Looking Up an Existing Architecture111969
8796 Node: Creating a New Architecture114888
8803 Node: Register Architecture Functions & Variables128765
8822 Node: Defining Other Architecture Features170082