For example, if you want to use /tmp/usr/lib/libsubs.sl and /tmp/usr/share/ lib/libsubs.sl, you can set GDB_SHLIB_ROOT' to /tmp. Now whenever GDB encounters a library with the name /usr/lib/libsubs.sl and /usr/share/lib/ libsubs.sl, GDB looks at /tmp/usr/lib/libsubs.sl and /tmp/usr/share/ lib/libsubs.sl respectively.

12.3 Errors reading symbol files

While reading a symbol file, GDB occasionally encounters problems, such as symbol types it does not recognize, or known bugs in compiler output. By default, GDB does not notify you of such problems, since they are relatively common and primarily of interest to people debugging compilers. If you are interested in seeing information about ill-constructed symbol tables, you can either ask GDB to print only one message about each such type of problem, no matter how many times the problem occurs; or you can ask GDB to print more messages, to see how many times the problems occur, with the set complaints command (see“Optional warnings and messages” (page 284)).

The messages currently printed, and their meanings, include:

inner block not inside outer block in

The symbol information shows where symbol

symbol

scopes begin and end (such as at the start of a

 

function or a block of statements). This error

 

indicates that an inner scope block is not fully

 

contained in its outer scope blocks.

 

GDB circumvents the problem by treating the

 

inner block as if it had the same scope as the

 

outer block. In the error message, symbol may be

 

shown as "(don't know)" if the outer block

 

is not a function.

block at address out of order

The symbol information for symbol scope blocks

 

should occur in order of in- creasing addresses.

 

This error indicates that it does not do so.

 

GDB does not circumvent this problem, and has

 

trouble locating symbols in the source file whose

 

symbols it is reading. (You can often determine

 

what source file is affected by specifying set

 

verbose on. See “Optional warnings and

 

messages” (page 284).)

bad block start address patched

The symbol information for a symbol scope block

 

has a start address smaller than the address of

12.3 Errors reading symbol files 131