Index: gdb/doc/gdbint.info-1 |
diff --git a/gdb/doc/gdbint.info-1 b/gdb/doc/gdbint.info-1 |
index 190fe359d6b476ba8e3950f131bfdabf47874de5..21e048eb0542909c205a599f8166728c86b89254 100644 |
--- a/gdb/doc/gdbint.info-1 |
+++ b/gdb/doc/gdbint.info-1 |
@@ -68,7 +68,8 @@ the mechanisms that adapt GDB to specific hosts and targets. |
* GDB Observers:: GDB Currently available observers |
* GNU Free Documentation License:: The license for this documentation |
-* Index:: |
+* Concept Index:: |
+* Function and Variable Index:: |
File: gdbint.info, Node: Summary, Next: Overall Structure, Prev: Top, Up: Top |
@@ -4462,10 +4463,6 @@ architecture. |
Use this function to convert stab register STAB_REGNR into GDB |
regnum. If not defined, no conversion will be done. |
-`SYMBOL_RELOADING_DEFAULT' |
- The default value of the "symbol-reloading" variable. (Never |
- defined in current sources.) |
- |
`TARGET_CHAR_BIT' |
Number of bits in a char; defaults to 8. |
@@ -5325,6 +5322,21 @@ Use... ...instead of |
`(foo) x' `(foo)x' (cast) |
`*x' `* x' (pointer dereference) |
+ Any two or more lines in code should be wrapped in braces, even if |
+they are comments, as they look like separate statements: |
+ |
+ if (i) |
+ { |
+ /* Return success. */ |
+ return 0; |
+ } |
+ |
+and not: |
+ |
+ if (i) |
+ /* Return success. */ |
+ return 0; |
+ |
16.1.3 Comments |
--------------- |
@@ -6187,31 +6199,9 @@ performed: |
* file `gdbserver/gdbreplay.c', function `gdbreplay_version' |
- * Run the `copyright.sh' script to add the new year in the copyright |
- notices of most source files. This script requires Emacs 22 or |
- later to be installed. |
- |
- * The new year also needs to be added manually in all other files |
- that are not already taken care of by the `copyright.sh' script: |
- * `*.s' |
- |
- * `*.f' |
- |
- * `*.f90' |
- |
- * `*.igen' |
- |
- * `*.ac' |
- |
- * `*.texi' |
- |
- * `*.texinfo' |
- |
- * `*.tex' |
- |
- * `*.defs' |
- |
- * `*.1' |
+ * Run the `copyright.py' Python script to add the new year in the |
+ copyright notices of most source files. This script has been |
+ tested with Python 2.6 and 2.7. |
@@ -6983,7 +6973,7 @@ Several variables exist to modify the behavior of the testsuite. |
When running the testsuite normally one doesn't want whatever is in |
`~/.gdbinit' to interfere with the tests, therefore the test |
harness passes `-nx' to GDB. One also doesn't want any windowed |
- version of GDB, e.g., `gdbtui', to run. This is achieved via |
+ version of GDB, e.g., `gdb -tui', to run. This is achieved via |
`INTERNAL_GDBFLAGS'. |
set INTERNAL_GDBFLAGS "-nw -nx" |
@@ -7123,6 +7113,96 @@ instance, some GDB bugs involving the display of source lines would |
never manifest themselves if the programs used GNU coding style |
uniformly. |
+ Some testcase results need more detailed explanation: |
+ |
+`KFAIL' |
+ Known problem of GDB itself. You must specify the GDB bug report |
+ number like in these sample tests: |
+ kfail "gdb/13392" "continue to marker 2" |
+ or |
+ setup_kfail gdb/13392 "*-*-*" |
+ kfail "continue to marker 2" |
+ |
+`XFAIL' |
+ Known problem of environment. This typically includes GCC but it |
+ includes also many other system components which cannot be fixed |
+ in the GDB project. Sample test with sanity check not knowing the |
+ specific cause of the problem: |
+ # On x86_64 it is commonly about 4MB. |
+ if {$stub_size > 25000000} { |
+ xfail "stub size $stub_size is too large" |
+ return |
+ } |
+ |
+ You should provide bug report number for the failing component of |
+ the environment, if such bug report is available: |
+ if {[test_compiler_info {gcc-[0-3]-*}] |
+ || [test_compiler_info {gcc-4-[0-5]-*}]} { |
+ setup_xfail "gcc/46955" *-*-* |
+ } |
+ gdb_test "python print ttype.template_argument(2)" "&C::c" |
+ |
+22.6 Board settings |
+=================== |
+ |
+In GDB testsuite, the tests can be configured or customized in the board |
+file by means of "Board Settings". Each setting should be consulted |
+by test cases that depend on the corresponding feature. |
+ |
+ Here are the supported board settings: |
+ |
+`gdb,cannot_call_functions' |
+ The board does not support inferior call, that is, invoking |
+ inferior functions in GDB. |
+ |
+`gdb,can_reverse' |
+ The board supports reverse execution. |
+ |
+`gdb,no_hardware_watchpoints' |
+ The board does not support hardware watchpoints. |
+ |
+`gdb,nofileio' |
+ GDB is unable to intercept target file operations in remote and |
+ perform them on the host. |
+ |
+`gdb,noinferiorio' |
+ The board is unable to provide I/O capability to the inferior. |
+ |
+`gdb,nosignals' |
+ The board does not support signals. |
+ |
+`gdb,skip_huge_test' |
+ Skip time-consuming tests on the board with slow connection. |
+ |
+`gdb,skip_float_tests' |
+ Skip tests related to float points on target board. |
+ |
+`gdb,use_precord' |
+ The board supports process record. |
+ |
+`gdb_server_prog' |
+ The location of GDBserver. If GDBserver somewhere other than its |
+ default location is used in test, specify the location of |
+ GDBserver in this variable. The location is a file name of |
+ GDBserver that can be either absolute or relative to testsuite |
+ subdirectory in build directory. |
+ |
+`in_proc_agent' |
+ The location of in-process agent. If in-process agent other than |
+ its default location is used in test, specify the location of |
+ in-process agent in this variable. The location is a file name of |
+ in-process agent that can be either absolute or relative to |
+ testsuite subdirectory in build directory. |
+ |
+`noargs' |
+ GDB does not support argument passing for inferior. |
+ |
+`no_long_long' |
+ The board does not support type `long long'. |
+ |
+`use_gdb_stub' |
+ The tests are running with gdb stub. |
+ |
---------- Footnotes ---------- |
(1) If you are using a board file, it could override the test-suite |
@@ -7220,107 +7300,3 @@ was wondering if anyone could give me some tips about understanding |
GDB"--if we had some magic secret we would put it in this manual. |
Suggestions for improving the manual are always welcome, of course. |
- |
-File: gdbint.info, Node: Debugging GDB, Prev: Getting Started, Up: Hints |
- |
-23.2 Debugging GDB with itself |
-============================== |
- |
-If GDB is limping on your machine, this is the preferred way to get it |
-fully functional. Be warned that in some ancient Unix systems, like |
-Ultrix 4.2, a program can't be running in one process while it is being |
-debugged in another. Rather than typing the command `./gdb ./gdb', |
-which works on Suns and such, you can copy `gdb' to `gdb2' and then |
-type `./gdb ./gdb2'. |
- |
- When you run GDB in the GDB source directory, it will read a |
-`.gdbinit' file that sets up some simple things to make debugging gdb |
-easier. The `info' command, when executed without a subcommand in a |
-GDB being debugged by gdb, will pop you back up to the top level gdb. |
-See `.gdbinit' for details. |
- |
- If you use emacs, you will probably want to do a `make TAGS' after |
-you configure your distribution; this will put the machine dependent |
-routines for your local machine where they will be accessed first by |
-`M-.' |
- |
- Also, make sure that you've either compiled GDB with your local cc, |
-or have run `fixincludes' if you are compiling with gcc. |
- |
-23.3 Submitting Patches |
-======================= |
- |
-Thanks for thinking of offering your changes back to the community of |
-GDB users. In general we like to get well designed enhancements. |
-Thanks also for checking in advance about the best way to transfer the |
-changes. |
- |
- The GDB maintainers will only install "cleanly designed" patches. |
-This manual summarizes what we believe to be clean design for GDB. |
- |
- If the maintainers don't have time to put the patch in when it |
-arrives, or if there is any question about a patch, it goes into a |
-large queue with everyone else's patches and bug reports. |
- |
- The legal issue is that to incorporate substantial changes requires a |
-copyright assignment from you and/or your employer, granting ownership |
-of the changes to the Free Software Foundation. You can get the |
-standard documents for doing this by sending mail to `gnu@gnu.org' and |
-asking for it. We recommend that people write in "All programs owned |
-by the Free Software Foundation" as "NAME OF PROGRAM", so that changes |
-in many programs (not just GDB, but GAS, Emacs, GCC, etc) can be |
-contributed with only one piece of legalese pushed through the |
-bureaucracy and filed with the FSF. We can't start merging changes |
-until this paperwork is received by the FSF (their rules, which we |
-follow since we maintain it for them). |
- |
- Technically, the easiest way to receive changes is to receive each |
-feature as a small context diff or unidiff, suitable for `patch'. Each |
-message sent to me should include the changes to C code and header |
-files for a single feature, plus `ChangeLog' entries for each directory |
-where files were modified, and diffs for any changes needed to the |
-manuals (`gdb/doc/gdb.texinfo' or `gdb/doc/gdbint.texinfo'). If there |
-are a lot of changes for a single feature, they can be split down into |
-multiple messages. |
- |
- In this way, if we read and like the feature, we can add it to the |
-sources with a single patch command, do some testing, and check it in. |
-If you leave out the `ChangeLog', we have to write one. If you leave |
-out the doc, we have to puzzle out what needs documenting. Etc., etc. |
- |
- The reason to send each change in a separate message is that we will |
-not install some of the changes. They'll be returned to you with |
-questions or comments. If we're doing our job correctly, the message |
-back to you will say what you have to fix in order to make the change |
-acceptable. The reason to have separate messages for separate features |
-is so that the acceptable changes can be installed while one or more |
-changes are being reworked. If multiple features are sent in a single |
-message, we tend to not put in the effort to sort out the acceptable |
-changes from the unacceptable, so none of the features get installed |
-until all are acceptable. |
- |
- If this sounds painful or authoritarian, well, it is. But we get a |
-lot of bug reports and a lot of patches, and many of them don't get |
-installed because we don't have the time to finish the job that the bug |
-reporter or the contributor could have done. Patches that arrive |
-complete, working, and well designed, tend to get installed on the day |
-they arrive. The others go into a queue and get installed as time |
-permits, which, since the maintainers have many demands to meet, may not |
-be for quite some time. |
- |
- Please send patches directly to the GDB maintainers |
-<gdb-patches@sourceware.org>. |
- |
-23.4 Build Script |
-================= |
- |
-The script `gdb_buildall.sh' builds GDB with flag |
-`--enable-targets=all' set. This builds GDB with all supported targets |
-activated. This helps testing GDB when doing changes that affect more |
-than one architecture and is much faster than using `gdb_mbuild.sh'. |
- |
- After building GDB the script checks which architectures are |
-supported and then switches the current architecture to each of those |
-to get information about the architecture. The test results are stored |
-in log files in the directory the script was called from. |
- |