OLD | NEW |
1 /* Handle SVR4 shared libraries for GDB, the GNU Debugger. | 1 /* Handle SVR4 shared libraries for GDB, the GNU Debugger. |
2 | 2 |
3 Copyright (C) 1990-1996, 1998-2001, 2003-2012 Free Software | 3 Copyright (C) 1990-1996, 1998-2001, 2003-2012 Free Software |
4 Foundation, Inc. | 4 Foundation, Inc. |
5 | 5 |
6 This file is part of GDB. | 6 This file is part of GDB. |
7 | 7 |
8 This program is free software; you can redistribute it and/or modify | 8 This program is free software; you can redistribute it and/or modify |
9 it under the terms of the GNU General Public License as published by | 9 it under the terms of the GNU General Public License as published by |
10 the Free Software Foundation; either version 3 of the License, or | 10 the Free Software Foundation; either version 3 of the License, or |
(...skipping 1276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1287 info->debug_base = 0; | 1287 info->debug_base = 0; |
1288 locate_base (info); | 1288 locate_base (info); |
1289 | 1289 |
1290 /* If we can't find the dynamic linker's base structure, this | 1290 /* If we can't find the dynamic linker's base structure, this |
1291 must not be a dynamically linked executable. Hmm. */ | 1291 must not be a dynamically linked executable. Hmm. */ |
1292 if (! info->debug_base) | 1292 if (! info->debug_base) |
1293 return svr4_default_sos (); | 1293 return svr4_default_sos (); |
1294 | 1294 |
1295 /* Assume that everything is a library if the dynamic loader was loaded | 1295 /* Assume that everything is a library if the dynamic loader was loaded |
1296 late by a static executable. */ | 1296 late by a static executable. */ |
1297 if (exec_bfd && bfd_get_section_by_name (exec_bfd, ".dynamic") == NULL) | 1297 if (exec_bfd && find_program_interpreter() == NULL) |
1298 ignore_first = 0; | 1298 ignore_first = 0; |
1299 else | 1299 else |
1300 ignore_first = 1; | 1300 ignore_first = 1; |
1301 | 1301 |
1302 back_to = make_cleanup (svr4_free_library_list, &head); | 1302 back_to = make_cleanup (svr4_free_library_list, &head); |
1303 | 1303 |
1304 /* Walk the inferior's link map list, and build our list of | 1304 /* Walk the inferior's link map list, and build our list of |
1305 `struct so_list' nodes. */ | 1305 `struct so_list' nodes. */ |
1306 lm = solib_svr4_r_map (info); | 1306 lm = solib_svr4_r_map (info); |
1307 if (lm) | 1307 if (lm) |
(...skipping 1218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2526 svr4_so_ops.solib_create_inferior_hook = svr4_solib_create_inferior_hook; | 2526 svr4_so_ops.solib_create_inferior_hook = svr4_solib_create_inferior_hook; |
2527 svr4_so_ops.special_symbol_handling = svr4_special_symbol_handling; | 2527 svr4_so_ops.special_symbol_handling = svr4_special_symbol_handling; |
2528 svr4_so_ops.current_sos = svr4_current_sos; | 2528 svr4_so_ops.current_sos = svr4_current_sos; |
2529 svr4_so_ops.open_symbol_file_object = open_symbol_file_object; | 2529 svr4_so_ops.open_symbol_file_object = open_symbol_file_object; |
2530 svr4_so_ops.in_dynsym_resolve_code = svr4_in_dynsym_resolve_code; | 2530 svr4_so_ops.in_dynsym_resolve_code = svr4_in_dynsym_resolve_code; |
2531 svr4_so_ops.bfd_open = solib_bfd_open; | 2531 svr4_so_ops.bfd_open = solib_bfd_open; |
2532 svr4_so_ops.lookup_lib_global_symbol = elf_lookup_lib_symbol; | 2532 svr4_so_ops.lookup_lib_global_symbol = elf_lookup_lib_symbol; |
2533 svr4_so_ops.same = svr4_same; | 2533 svr4_so_ops.same = svr4_same; |
2534 svr4_so_ops.keep_data_in_core = svr4_keep_data_in_core; | 2534 svr4_so_ops.keep_data_in_core = svr4_keep_data_in_core; |
2535 } | 2535 } |
OLD | NEW |