Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Side by Side Diff: gdb/gdbarch.sh

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/gdbarch.c ('k') | gdb/gdbcore.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/sh -u 1 #!/bin/sh -u
2 2
3 # Architecture commands for GDB, the GNU debugger. 3 # Architecture commands for GDB, the GNU debugger.
4 # 4 #
5 # Copyright (C) 1998-2012 Free Software Foundation, Inc. 5 # Copyright (C) 1998-2012 Free Software Foundation, Inc.
6 # 6 #
7 # This file is part of GDB. 7 # This file is part of GDB.
8 # 8 #
9 # This program is free software; you can redistribute it and/or modify 9 # This program is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by 10 # it under the terms of the GNU General Public License as published by
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 # Construct a value representing the contents of register REGNUM in 496 # Construct a value representing the contents of register REGNUM in
497 # frame FRAME, interpreted as type TYPE. The routine needs to 497 # frame FRAME, interpreted as type TYPE. The routine needs to
498 # allocate and return a struct value with all value attributes 498 # allocate and return a struct value with all value attributes
499 # (but not the value contents) filled in. 499 # (but not the value contents) filled in.
500 f:struct value *:value_from_register:struct type *type, int regnum, struct frame _info *frame:type, regnum, frame::default_value_from_register::0 500 f:struct value *:value_from_register:struct type *type, int regnum, struct frame _info *frame:type, regnum, frame::default_value_from_register::0
501 # 501 #
502 m:CORE_ADDR:pointer_to_address:struct type *type, const gdb_byte *buf:type, buf: :unsigned_pointer_to_address::0 502 m:CORE_ADDR:pointer_to_address:struct type *type, const gdb_byte *buf:type, buf: :unsigned_pointer_to_address::0
503 m:void:address_to_pointer:struct type *type, gdb_byte *buf, CORE_ADDR addr:type, buf, addr::unsigned_address_to_pointer::0 503 m:void:address_to_pointer:struct type *type, gdb_byte *buf, CORE_ADDR addr:type, buf, addr::unsigned_address_to_pointer::0
504 M:CORE_ADDR:integer_to_address:struct type *type, const gdb_byte *buf:type, buf 504 M:CORE_ADDR:integer_to_address:struct type *type, const gdb_byte *buf:type, buf
505 505
506 # Return the return-value convention that will be used by FUNCTYPE 506 # Return the return-value convention that will be used by FUNCTION
507 # to return a value of type VALTYPE. FUNCTYPE may be NULL in which 507 # to return a value of type VALTYPE. FUNCTION may be NULL in which
508 # case the return convention is computed based only on VALTYPE. 508 # case the return convention is computed based only on VALTYPE.
509 # 509 #
510 # If READBUF is not NULL, extract the return value and save it in this buffer. 510 # If READBUF is not NULL, extract the return value and save it in this buffer.
511 # 511 #
512 # If WRITEBUF is not NULL, it contains a return value which will be 512 # If WRITEBUF is not NULL, it contains a return value which will be
513 # stored into the appropriate register. This can be used when we want 513 # stored into the appropriate register. This can be used when we want
514 # to force the value returned by a function (see the "return" command 514 # to force the value returned by a function (see the "return" command
515 # for instance). 515 # for instance).
516 M:enum return_value_convention:return_value:struct type *functype, struct type * valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf: functype, valtype, regcache, readbuf, writebuf 516 M:enum return_value_convention:return_value:struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf :function, valtype, regcache, readbuf, writebuf
517
518 # Return true if the return value of function is stored in the first hidden
519 # parameter. In theory, this feature should be language-dependent, specified
520 # by language and its ABI, such as C++. Unfortunately, compiler may
521 # implement it to a target-dependent feature. So that we need such hook here
522 # to be aware of this in GDB.
523 m:int:return_in_first_hidden_param_p:struct type *type:type::default_return_in_f irst_hidden_param_p::0
517 524
518 m:CORE_ADDR:skip_prologue:CORE_ADDR ip:ip:0:0 525 m:CORE_ADDR:skip_prologue:CORE_ADDR ip:ip:0:0
519 M:CORE_ADDR:skip_main_prologue:CORE_ADDR ip:ip 526 M:CORE_ADDR:skip_main_prologue:CORE_ADDR ip:ip
520 f:int:inner_than:CORE_ADDR lhs, CORE_ADDR rhs:lhs, rhs:0:0 527 f:int:inner_than:CORE_ADDR lhs, CORE_ADDR rhs:lhs, rhs:0:0
521 m:const gdb_byte *:breakpoint_from_pc:CORE_ADDR *pcptr, int *lenptr:pcptr, lenpt r::0: 528 m:const gdb_byte *:breakpoint_from_pc:CORE_ADDR *pcptr, int *lenptr:pcptr, lenpt r::0:
522 # Return the adjusted address and kind to use for Z0/Z1 packets. 529 # Return the adjusted address and kind to use for Z0/Z1 packets.
523 # KIND is usually the memory length of the breakpoint, but may have a 530 # KIND is usually the memory length of the breakpoint, but may have a
524 # different target-specific meaning. 531 # different target-specific meaning.
525 m:void:remote_breakpoint_from_pc:CORE_ADDR *pcptr, int *kindptr:pcptr, kindptr:0 :default_remote_breakpoint_from_pc::0 532 m:void:remote_breakpoint_from_pc:CORE_ADDR *pcptr, int *kindptr:pcptr, kindptr:0 :default_remote_breakpoint_from_pc::0
526 M:CORE_ADDR:adjust_breakpoint_address:CORE_ADDR bpaddr:bpaddr 533 M:CORE_ADDR:adjust_breakpoint_address:CORE_ADDR bpaddr:bpaddr
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 # disassembler. Perhaps objdump can handle it? 600 # disassembler. Perhaps objdump can handle it?
594 f:int:print_insn:bfd_vma vma, struct disassemble_info *info:vma, info::0: 601 f:int:print_insn:bfd_vma vma, struct disassemble_info *info:vma, info::0:
595 f:CORE_ADDR:skip_trampoline_code:struct frame_info *frame, CORE_ADDR pc:frame, p c::generic_skip_trampoline_code::0 602 f:CORE_ADDR:skip_trampoline_code:struct frame_info *frame, CORE_ADDR pc:frame, p c::generic_skip_trampoline_code::0
596 603
597 604
598 # If in_solib_dynsym_resolve_code() returns true, and SKIP_SOLIB_RESOLVER 605 # If in_solib_dynsym_resolve_code() returns true, and SKIP_SOLIB_RESOLVER
599 # evaluates non-zero, this is the address where the debugger will place 606 # evaluates non-zero, this is the address where the debugger will place
600 # a step-resume breakpoint to get us past the dynamic linker. 607 # a step-resume breakpoint to get us past the dynamic linker.
601 m:CORE_ADDR:skip_solib_resolver:CORE_ADDR pc:pc::generic_skip_solib_resolver::0 608 m:CORE_ADDR:skip_solib_resolver:CORE_ADDR pc:pc::generic_skip_solib_resolver::0
602 # Some systems also have trampoline code for returning from shared libs. 609 # Some systems also have trampoline code for returning from shared libs.
603 m:int:in_solib_return_trampoline:CORE_ADDR pc, char *name:pc, name::generic_in_s olib_return_trampoline::0 610 m:int:in_solib_return_trampoline:CORE_ADDR pc, const char *name:pc, name::generi c_in_solib_return_trampoline::0
604 611
605 # A target might have problems with watchpoints as soon as the stack 612 # A target might have problems with watchpoints as soon as the stack
606 # frame of the current function has been destroyed. This mostly happens 613 # frame of the current function has been destroyed. This mostly happens
607 # as the first action in a funtion's epilogue. in_function_epilogue_p() 614 # as the first action in a funtion's epilogue. in_function_epilogue_p()
608 # is defined to return a non-zero value if either the given addr is one 615 # is defined to return a non-zero value if either the given addr is one
609 # instruction after the stack destroying instruction up to the trailing 616 # instruction after the stack destroying instruction up to the trailing
610 # return instruction or if we can figure out that the stack frame has 617 # return instruction or if we can figure out that the stack frame has
611 # already been invalidated regardless of the value of addr. Targets 618 # already been invalidated regardless of the value of addr. Targets
612 # which don't suffer from that problem could just let this functionality 619 # which don't suffer from that problem could just let this functionality
613 # untouched. 620 # untouched.
(...skipping 10 matching lines...) Expand all
624 # Fetch the pointer to the ith function argument. 631 # Fetch the pointer to the ith function argument.
625 F:CORE_ADDR:fetch_pointer_argument:struct frame_info *frame, int argi, struct ty pe *type:frame, argi, type 632 F:CORE_ADDR:fetch_pointer_argument:struct frame_info *frame, int argi, struct ty pe *type:frame, argi, type
626 633
627 # Return the appropriate register set for a core file section with 634 # Return the appropriate register set for a core file section with
628 # name SECT_NAME and size SECT_SIZE. 635 # name SECT_NAME and size SECT_SIZE.
629 M:const struct regset *:regset_from_core_section:const char *sect_name, size_t s ect_size:sect_name, sect_size 636 M:const struct regset *:regset_from_core_section:const char *sect_name, size_t s ect_size:sect_name, sect_size
630 637
631 # Supported register notes in a core file. 638 # Supported register notes in a core file.
632 v:struct core_regset_section *:core_regset_sections:const char *name, int len::: :::host_address_to_string (gdbarch->core_regset_sections) 639 v:struct core_regset_section *:core_regset_sections:const char *name, int len::: :::host_address_to_string (gdbarch->core_regset_sections)
633 640
641 # Create core file notes
642 M:char *:make_corefile_notes:bfd *obfd, int *note_size:obfd, note_size
643
644 # Find core file memory regions
645 M:int:find_memory_regions:find_memory_region_ftype func, void *data:func, data
646
634 # Read offset OFFSET of TARGET_OBJECT_LIBRARIES formatted shared libraries list from 647 # Read offset OFFSET of TARGET_OBJECT_LIBRARIES formatted shared libraries list from
635 # core file into buffer READBUF with length LEN. 648 # core file into buffer READBUF with length LEN.
636 M:LONGEST:core_xfer_shared_libraries:gdb_byte *readbuf, ULONGEST offset, LONGEST len:readbuf, offset, len 649 M:LONGEST:core_xfer_shared_libraries:gdb_byte *readbuf, ULONGEST offset, LONGEST len:readbuf, offset, len
637 650
638 # How the core target converts a PTID from a core file to a string. 651 # How the core target converts a PTID from a core file to a string.
639 M:char *:core_pid_to_str:ptid_t ptid:ptid 652 M:char *:core_pid_to_str:ptid_t ptid:ptid
640 653
641 # BFD target to use when generating a core file. 654 # BFD target to use when generating a core file.
642 V:const char *:gcore_bfd_target:::0:0:::pstring (gdbarch->gcore_bfd_target) 655 V:const char *:gcore_bfd_target:::0:0:::pstring (gdbarch->gcore_bfd_target)
643 656
644 # If the elements of C++ vtables are in-place function descriptors rather 657 # If the elements of C++ vtables are in-place function descriptors rather
645 # than normal function pointers (which may point to code or a descriptor), 658 # than normal function pointers (which may point to code or a descriptor),
646 # set this to one. 659 # set this to one.
647 v:int:vtable_function_descriptors:::0:0::0 660 v:int:vtable_function_descriptors:::0:0::0
648 661
649 # Set if the least significant bit of the delta is used instead of the least 662 # Set if the least significant bit of the delta is used instead of the least
650 # significant bit of the pfn for pointers to virtual member functions. 663 # significant bit of the pfn for pointers to virtual member functions.
651 v:int:vbit_in_delta:::0:0::0 664 v:int:vbit_in_delta:::0:0::0
652 665
653 # Advance PC to next instruction in order to skip a permanent breakpoint. 666 # Advance PC to next instruction in order to skip a permanent breakpoint.
654 F:void:skip_permanent_breakpoint:struct regcache *regcache:regcache 667 F:void:skip_permanent_breakpoint:struct regcache *regcache:regcache
655 668
656 # The maximum length of an instruction on this architecture. 669 # The maximum length of an instruction on this architecture in bytes.
657 V:ULONGEST:max_insn_length:::0:0 670 V:ULONGEST:max_insn_length:::0:0
658 671
659 # Copy the instruction at FROM to TO, and make any adjustments 672 # Copy the instruction at FROM to TO, and make any adjustments
660 # necessary to single-step it at that address. 673 # necessary to single-step it at that address.
661 # 674 #
662 # REGS holds the state the thread's registers will have before 675 # REGS holds the state the thread's registers will have before
663 # executing the copied instruction; the PC in REGS will refer to FROM, 676 # executing the copied instruction; the PC in REGS will refer to FROM,
664 # not the copy at TO. The caller should update it to point at TO later. 677 # not the copy at TO. The caller should update it to point at TO later.
665 # 678 #
666 # Return a pointer to data of the architecture's choice to be passed 679 # Return a pointer to data of the architecture's choice to be passed
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
745 # relative branches, and other PC-relative instructions need the 758 # relative branches, and other PC-relative instructions need the
746 # offset adjusted; etc. 759 # offset adjusted; etc.
747 M:void:relocate_instruction:CORE_ADDR *to, CORE_ADDR from:to, from::NULL 760 M:void:relocate_instruction:CORE_ADDR *to, CORE_ADDR from:to, from::NULL
748 761
749 # Refresh overlay mapped state for section OSECT. 762 # Refresh overlay mapped state for section OSECT.
750 F:void:overlay_update:struct obj_section *osect:osect 763 F:void:overlay_update:struct obj_section *osect:osect
751 764
752 M:const struct target_desc *:core_read_description:struct target_ops *target, bf d *abfd:target, abfd 765 M:const struct target_desc *:core_read_description:struct target_ops *target, bf d *abfd:target, abfd
753 766
754 # Handle special encoding of static variables in stabs debug info. 767 # Handle special encoding of static variables in stabs debug info.
755 F:char *:static_transform_name:char *name:name 768 F:const char *:static_transform_name:const char *name:name
756 # Set if the address in N_SO or N_FUN stabs may be zero. 769 # Set if the address in N_SO or N_FUN stabs may be zero.
757 v:int:sofun_address_maybe_missing:::0:0::0 770 v:int:sofun_address_maybe_missing:::0:0::0
758 771
759 # Parse the instruction at ADDR storing in the record execution log 772 # Parse the instruction at ADDR storing in the record execution log
760 # the registers REGCACHE and memory ranges that will be affected when 773 # the registers REGCACHE and memory ranges that will be affected when
761 # the instruction executes, along with their current values. 774 # the instruction executes, along with their current values.
762 # Return -1 if something goes wrong, 0 otherwise. 775 # Return -1 if something goes wrong, 0 otherwise.
763 M:int:process_record:struct regcache *regcache, CORE_ADDR addr:regcache, addr 776 M:int:process_record:struct regcache *regcache, CORE_ADDR addr:regcache, addr
764 777
765 # Save process state after a signal. 778 # Save process state after a signal.
766 # Return -1 if something goes wrong, 0 otherwise. 779 # Return -1 if something goes wrong, 0 otherwise.
767 M:int:process_record_signal:struct regcache *regcache, enum target_signal signal :regcache, signal 780 M:int:process_record_signal:struct regcache *regcache, enum gdb_signal signal:re gcache, signal
768 781
769 # Signal translation: translate inferior's signal (host's) number into 782 # Signal translation: translate inferior's signal (target's) number
770 # GDB's representation. 783 # into GDB's representation. The implementation of this method must
771 m:enum target_signal:target_signal_from_host:int signo:signo::default_target_sig nal_from_host::0 784 # be host independent. IOW, don't rely on symbols of the NAT_FILE
772 # Signal translation: translate GDB's signal number into inferior's host 785 # header (the nm-*.h files), the host <signal.h> header, or similar
773 # signal number. 786 # headers. This is mainly used when cross-debugging core files ---
774 m:int:target_signal_to_host:enum target_signal ts:ts::default_target_signal_to_h ost::0 787 # "Live" targets hide the translation behind the target interface
788 # (target_wait, target_resume, etc.).
789 M:enum gdb_signal:gdb_signal_from_target:int signo:signo
775 790
776 # Extra signal info inspection. 791 # Extra signal info inspection.
777 # 792 #
778 # Return a type suitable to inspect extra signal information. 793 # Return a type suitable to inspect extra signal information.
779 M:struct type *:get_siginfo_type:void: 794 M:struct type *:get_siginfo_type:void:
780 795
781 # Record architecture-specific information from the symbol table. 796 # Record architecture-specific information from the symbol table.
782 M:void:record_special_symbol:struct objfile *objfile, asymbol *sym:objfile, sym 797 M:void:record_special_symbol:struct objfile *objfile, asymbol *sym:objfile, sym
783 798
784 # Function for the 'catch syscall' feature. 799 # Function for the 'catch syscall' feature.
785 800
786 # Get architecture-specific system calls information from registers. 801 # Get architecture-specific system calls information from registers.
787 M:LONGEST:get_syscall_number:ptid_t ptid:ptid 802 M:LONGEST:get_syscall_number:ptid_t ptid:ptid
788 803
804 # SystemTap related fields and functions.
805
806 # Prefix used to mark an integer constant on the architecture's assembly
807 # For example, on x86 integer constants are written as:
808 #
809 # \$10 ;; integer constant 10
810 #
811 # in this case, this prefix would be the character \`\$\'.
812 v:const char *:stap_integer_prefix:::0:0::0:gdbarch->stap_integer_prefix
813
814 # Suffix used to mark an integer constant on the architecture's assembly.
815 v:const char *:stap_integer_suffix:::0:0::0:gdbarch->stap_integer_suffix
816
817 # Prefix used to mark a register name on the architecture's assembly.
818 # For example, on x86 the register name is written as:
819 #
820 # \%eax ;; register eax
821 #
822 # in this case, this prefix would be the character \`\%\'.
823 v:const char *:stap_register_prefix:::0:0::0:gdbarch->stap_register_prefix
824
825 # Suffix used to mark a register name on the architecture's assembly
826 v:const char *:stap_register_suffix:::0:0::0:gdbarch->stap_register_suffix
827
828 # Prefix used to mark a register indirection on the architecture's assembly.
829 # For example, on x86 the register indirection is written as:
830 #
831 # \(\%eax\) ;; indirecting eax
832 #
833 # in this case, this prefix would be the charater \`\(\'.
834 #
835 # Please note that we use the indirection prefix also for register
836 # displacement, e.g., \`4\(\%eax\)\' on x86.
837 v:const char *:stap_register_indirection_prefix:::0:0::0:gdbarch->stap_register_ indirection_prefix
838
839 # Suffix used to mark a register indirection on the architecture's assembly.
840 # For example, on x86 the register indirection is written as:
841 #
842 # \(\%eax\) ;; indirecting eax
843 #
844 # in this case, this prefix would be the charater \`\)\'.
845 #
846 # Please note that we use the indirection suffix also for register
847 # displacement, e.g., \`4\(\%eax\)\' on x86.
848 v:const char *:stap_register_indirection_suffix:::0:0::0:gdbarch->stap_register_ indirection_suffix
849
850 # Prefix used to name a register using GDB's nomenclature.
851 #
852 # For example, on PPC a register is represented by a number in the assembly
853 # language (e.g., \`10\' is the 10th general-purpose register). However,
854 # inside GDB this same register has an \`r\' appended to its name, so the 10th
855 # register would be represented as \`r10\' internally.
856 v:const char *:stap_gdb_register_prefix:::0:0::0:gdbarch->stap_gdb_register_pref ix
857
858 # Suffix used to name a register using GDB's nomenclature.
859 v:const char *:stap_gdb_register_suffix:::0:0::0:gdbarch->stap_gdb_register_suff ix
860
861 # Check if S is a single operand.
862 #
863 # Single operands can be:
864 # \- Literal integers, e.g. \`\$10\' on x86
865 # \- Register access, e.g. \`\%eax\' on x86
866 # \- Register indirection, e.g. \`\(\%eax\)\' on x86
867 # \- Register displacement, e.g. \`4\(\%eax\)\' on x86
868 #
869 # This function should check for these patterns on the string
870 # and return 1 if some were found, or zero otherwise. Please try to match
871 # as much info as you can from the string, i.e., if you have to match
872 # something like \`\(\%\', do not match just the \`\(\'.
873 M:int:stap_is_single_operand:const char *s:s
874
875 # Function used to handle a "special case" in the parser.
876 #
877 # A "special case" is considered to be an unknown token, i.e., a token
878 # that the parser does not know how to parse. A good example of special
879 # case would be ARM's register displacement syntax:
880 #
881 # [R0, #4] ;; displacing R0 by 4
882 #
883 # Since the parser assumes that a register displacement is of the form:
884 #
885 # <number> <indirection_prefix> <register_name> <indirection_suffix>
886 #
887 # it means that it will not be able to recognize and parse this odd syntax.
888 # Therefore, we should add a special case function that will handle this token.
889 #
890 # This function should generate the proper expression form of the expression
891 # using GDB\'s internal expression mechanism (e.g., \`write_exp_elt_opcode\'
892 # and so on). It should also return 1 if the parsing was successful, or zero
893 # if the token was not recognized as a special token (in this case, returning
894 # zero means that the special parser is deferring the parsing to the generic
895 # parser), and should advance the buffer pointer (p->arg).
896 M:int:stap_parse_special_token:struct stap_parse_info *p:p
897
898
789 # True if the list of shared libraries is one and only for all 899 # True if the list of shared libraries is one and only for all
790 # processes, as opposed to a list of shared libraries per inferior. 900 # processes, as opposed to a list of shared libraries per inferior.
791 # This usually means that all processes, although may or may not share 901 # This usually means that all processes, although may or may not share
792 # an address space, will see the same set of symbols at the same 902 # an address space, will see the same set of symbols at the same
793 # addresses. 903 # addresses.
794 v:int:has_global_solist:::0:0::0 904 v:int:has_global_solist:::0:0::0
795 905
796 # On some targets, even though each inferior has its own private 906 # On some targets, even though each inferior has its own private
797 # address space, the debug interface takes care of making breakpoints 907 # address space, the debug interface takes care of making breakpoints
798 # visible to all address spaces automatically. For such cases, 908 # visible to all address spaces automatically. For such cases,
(...skipping 24 matching lines...) Expand all
823 # considered a directory separator. 933 # considered a directory separator.
824 v:int:has_dos_based_file_system:::0:0::0 934 v:int:has_dos_based_file_system:::0:0::0
825 935
826 # Generate bytecodes to collect the return address in a frame. 936 # Generate bytecodes to collect the return address in a frame.
827 # Since the bytecodes run on the target, possibly with GDB not even 937 # Since the bytecodes run on the target, possibly with GDB not even
828 # connected, the full unwinding machinery is not available, and 938 # connected, the full unwinding machinery is not available, and
829 # typically this function will issue bytecodes for one or more likely 939 # typically this function will issue bytecodes for one or more likely
830 # places that the return address may be found. 940 # places that the return address may be found.
831 m:void:gen_return_address:struct agent_expr *ax, struct axs_value *value, CORE_A DDR scope:ax, value, scope::default_gen_return_address::0 941 m:void:gen_return_address:struct agent_expr *ax, struct axs_value *value, CORE_A DDR scope:ax, value, scope::default_gen_return_address::0
832 942
943 # Implement the "info proc" command.
944 M:void:info_proc:char *args, enum info_proc_what what:args, what
945
946 # Iterate over all objfiles in the order that makes the most sense
947 # for the architecture to make global symbol searches.
948 #
949 # CB is a callback function where OBJFILE is the objfile to be searched,
950 # and CB_DATA a pointer to user-defined data (the same data that is passed
951 # when calling this gdbarch method). The iteration stops if this function
952 # returns nonzero.
953 #
954 # CB_DATA is a pointer to some user-defined data to be passed to
955 # the callback.
956 #
957 # If not NULL, CURRENT_OBJFILE corresponds to the objfile being
958 # inspected when the symbol search was requested.
959 m:void:iterate_over_objfiles_in_search_order:iterate_over_objfiles_in_search_ord er_cb_ftype *cb, void *cb_data, struct objfile *current_objfile:cb, cb_data, cur rent_objfile:0:default_iterate_over_objfiles_in_search_order::0
960
833 EOF 961 EOF
834 } 962 }
835 963
836 # 964 #
837 # The .log file 965 # The .log file
838 # 966 #
839 exec > new-gdbarch.log 967 exec > new-gdbarch.log
840 function_list | while do_read 968 function_list | while do_read
841 do 969 do
842 cat <<EOF 970 cat <<EOF
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 struct disassemble_info; 1066 struct disassemble_info;
939 struct target_ops; 1067 struct target_ops;
940 struct obstack; 1068 struct obstack;
941 struct bp_target_info; 1069 struct bp_target_info;
942 struct target_desc; 1070 struct target_desc;
943 struct displaced_step_closure; 1071 struct displaced_step_closure;
944 struct core_regset_section; 1072 struct core_regset_section;
945 struct syscall; 1073 struct syscall;
946 struct agent_expr; 1074 struct agent_expr;
947 struct axs_value; 1075 struct axs_value;
1076 struct stap_parse_info;
948 1077
949 /* The architecture associated with the connection to the target. 1078 /* The architecture associated with the connection to the target.
950 1079
951 The architecture vector provides some information that is really 1080 The architecture vector provides some information that is really
952 a property of the target: The layout of certain packets, for instance; 1081 a property of the target: The layout of certain packets, for instance;
953 or the solib_ops vector. Etc. To differentiate architecture accesses 1082 or the solib_ops vector. Etc. To differentiate architecture accesses
954 to per-target properties from per-thread/per-frame/per-objfile properties, 1083 to per-target properties from per-thread/per-frame/per-objfile properties,
955 accesses to per-target properties should be made through target_gdbarch. 1084 accesses to per-target properties should be made through target_gdbarch.
956 1085
957 Eventually, when support for multiple targets is implemented in 1086 Eventually, when support for multiple targets is implemented in
958 GDB, this global should be made target-specific. */ 1087 GDB, this global should be made target-specific. */
959 extern struct gdbarch *target_gdbarch; 1088 extern struct gdbarch *target_gdbarch;
1089
1090 /* Callback type for the 'iterate_over_objfiles_in_search_order'
1091 gdbarch method. */
1092
1093 typedef int (iterate_over_objfiles_in_search_order_cb_ftype)
1094 (struct objfile *objfile, void *cb_data);
960 EOF 1095 EOF
961 1096
962 # function typedef's 1097 # function typedef's
963 printf "\n" 1098 printf "\n"
964 printf "\n" 1099 printf "\n"
965 printf "/* The following are pre-initialized by GDBARCH. */\n" 1100 printf "/* The following are pre-initialized by GDBARCH. */\n"
966 function_list | while do_read 1101 function_list | while do_read
967 do 1102 do
968 if class_is_info_p 1103 if class_is_info_p
969 then 1104 then
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
1268 1403
1269 #include "floatformat.h" 1404 #include "floatformat.h"
1270 1405
1271 #include "gdb_assert.h" 1406 #include "gdb_assert.h"
1272 #include "gdb_string.h" 1407 #include "gdb_string.h"
1273 #include "reggroups.h" 1408 #include "reggroups.h"
1274 #include "osabi.h" 1409 #include "osabi.h"
1275 #include "gdb_obstack.h" 1410 #include "gdb_obstack.h"
1276 #include "observer.h" 1411 #include "observer.h"
1277 #include "regcache.h" 1412 #include "regcache.h"
1413 #include "objfiles.h"
1278 1414
1279 /* Static function declarations */ 1415 /* Static function declarations */
1280 1416
1281 static void alloc_gdbarch_data (struct gdbarch *); 1417 static void alloc_gdbarch_data (struct gdbarch *);
1282 1418
1283 /* Non-zero if we want to trace architecture code. */ 1419 /* Non-zero if we want to trace architecture code. */
1284 1420
1285 #ifndef GDBARCH_DEBUG 1421 #ifndef GDBARCH_DEBUG
1286 #define GDBARCH_DEBUG 0 1422 #define GDBARCH_DEBUG 0
1287 #endif 1423 #endif
(...skipping 873 matching lines...) Expand 10 before | Expand all | Expand 10 after
2161 NULL, 2297 NULL,
2162 show_gdbarch_debug, 2298 show_gdbarch_debug,
2163 &setdebuglist, &showdebuglist); 2299 &setdebuglist, &showdebuglist);
2164 } 2300 }
2165 EOF 2301 EOF
2166 2302
2167 # close things off 2303 # close things off
2168 exec 1>&2 2304 exec 1>&2
2169 #../move-if-change new-gdbarch.c gdbarch.c 2305 #../move-if-change new-gdbarch.c gdbarch.c
2170 compare_new gdbarch.c 2306 compare_new gdbarch.c
OLDNEW
« no previous file with comments | « gdb/gdbarch.c ('k') | gdb/gdbcore.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698