diff --git a/gdb-6.7.50.20080110-cvs.tar.bz2 b/gdb-6.7.50.20080110-cvs.tar.bz2 deleted file mode 100644 index a26a055..0000000 --- a/gdb-6.7.50.20080110-cvs.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:03d71579cbc8e43da40bf8cb3662f705eef2fa86ac5030b9520ae4a080dbf260 -size 15093497 diff --git a/gdb-6.7.50.20080131-cvs.tar.bz2 b/gdb-6.7.50.20080131-cvs.tar.bz2 new file mode 100644 index 0000000..cf42cee --- /dev/null +++ b/gdb-6.7.50.20080131-cvs.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31a26214ae5f1c041ee8f0bd23102119f84cabb646c32e207602ebf5706210c6 +size 15087393 diff --git a/gdb.changes b/gdb.changes index ecb6d36..43cffe7 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jan 31 15:34:47 CET 2008 - schwab@suse.de + +- Update to head of trunk. + ------------------------------------------------------------------- Thu Jan 10 11:57:13 CET 2008 - schwab@suse.de diff --git a/gdb.spec b/gdb.spec index e86709b..035571d 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1,5 +1,5 @@ # -# spec file for package gdb (Version 6.7.50.20080110) +# spec file for package gdb (Version 6.7.50.20080131) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -24,11 +24,11 @@ BuildRequires: libunwind-devel BuildRequires: gcc-ada %endif Url: http://www.gnu.org/software/gdb/ -License: GPL v2 or later +License: GNU Free Documentation License, Version 1.2 (GFDL 1.2); GPL v2 or later; GPL v3 or later Group: Development/Tools/Debuggers AutoReqProv: on PreReq: %{install_info_prereq} -Version: 6.7.50.20080110 +Version: 6.7.50.20080131 Release: 1 Summary: The GNU Debugger Source: gdb-%{version}-cvs.tar.bz2 @@ -38,6 +38,7 @@ Patch3: readline-5.1-random.patch Patch4: readnever.patch Patch5: gstack.patch Patch6: sect-index-text.diff +Patch7: pie-relocate.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -72,6 +73,7 @@ Authors: %patch4 %patch5 %patch6 +%patch7 %build CFLAGS="$RPM_OPT_FLAGS" \ @@ -129,17 +131,19 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog -* Thu Jan 10 2008 - schwab@suse.de +* Thu Jan 31 2008 schwab@suse.de - Update to head of trunk. -* Mon Nov 12 2007 - schwab@suse.de +* Thu Jan 10 2008 schwab@suse.de +- Update to head of trunk. +* Mon Nov 12 2007 schwab@suse.de - Update to gdb 6.7.1. * hppa*64*-*-hpux11* target broken The debugger is unable to start a program and fails with the following error: "Error trying to get information about dynamic linker". The gdb-6.7 release is also affected. -* Fri Oct 19 2007 - olh@suse.de +* Fri Oct 19 2007 olh@suse.de - allow build with old distributions, libexpat-devel is new in 10.3 -* Thu Oct 11 2007 - schwab@suse.de +* Thu Oct 11 2007 schwab@suse.de - Update to gdb 6.7. * Resolved 101 resource leaks, null pointer dereferences, etc. in gdb, bfd, libiberty and opcodes, as revealed by static analysis donated by @@ -306,51 +310,51 @@ rm -rf $RPM_BUILD_ROOT set mips stack-arg-size set mips saved-gpreg-size Use "set mips abi" to control parameter passing for MIPS. -* Mon Oct 01 2007 - schwab@suse.de +* Mon Oct 01 2007 schwab@suse.de - Update to head of gdb_6_7-branch. -* Mon Sep 24 2007 - schwab@suse.de +* Mon Sep 24 2007 schwab@suse.de - Fix internal error [#309928]. -* Thu Jul 26 2007 - schwab@suse.de +* Thu Jul 26 2007 schwab@suse.de - Update to head of trunk. -* Fri Jul 13 2007 - schwab@suse.de +* Fri Jul 13 2007 schwab@suse.de - Update to head of trunk. -* Sun Jun 24 2007 - schwab@suse.de +* Sun Jun 24 2007 schwab@suse.de - Fix annotations for commands prompt. -* Thu Jun 21 2007 - schwab@suse.de +* Thu Jun 21 2007 schwab@suse.de - Update to head of trunk. -* Fri Jun 08 2007 - schwab@suse.de +* Fri Jun 08 2007 schwab@suse.de - Update to head of trunk. -* Fri May 11 2007 - schwab@suse.de +* Fri May 11 2007 schwab@suse.de - Update to head of trunk. -* Fri Apr 13 2007 - schwab@suse.de +* Fri Apr 13 2007 schwab@suse.de - Avoid crash on object with no text section [#176306]. -* Wed Apr 11 2007 - schwab@suse.de +* Wed Apr 11 2007 schwab@suse.de - Handle non-threaded processes in gstack [#262694]. -* Sun Apr 01 2007 - schwab@suse.de +* Sun Apr 01 2007 schwab@suse.de - Properly decode CR register number. -* Thu Mar 29 2007 - schwab@suse.de +* Thu Mar 29 2007 schwab@suse.de - Update solib-extract-address patch. -* Tue Mar 20 2007 - schwab@suse.de +* Tue Mar 20 2007 schwab@suse.de - Update single stepping patch again [#154486]. -* Fri Mar 16 2007 - schwab@suse.de +* Fri Mar 16 2007 schwab@suse.de - Update single stepping patch [#154486]. -* Thu Mar 15 2007 - schwab@suse.de +* Thu Mar 15 2007 schwab@suse.de - Fix altivec vector return location [#250004]. -* Mon Mar 12 2007 - schwab@suse.de +* Mon Mar 12 2007 schwab@suse.de - Update ppc DWARF patch to also handle broken debug info from old compilers. -* Thu Mar 08 2007 - schwab@suse.de +* Thu Mar 08 2007 schwab@suse.de - Deal with stepping over sequence of atomic insns [#154486]. -* Wed Mar 07 2007 - schwab@suse.de +* Wed Mar 07 2007 schwab@suse.de - Improve last change. -* Tue Mar 06 2007 - schwab@suse.de +* Tue Mar 06 2007 schwab@suse.de - Better handling of ppc64 function descriptor symbols. -* Mon Mar 05 2007 - schwab@suse.de +* Mon Mar 05 2007 schwab@suse.de - Remove obsolete patch. - Fix show endian. -* Thu Jan 11 2007 - schwab@suse.de +* Thu Jan 11 2007 schwab@suse.de - Fix unchecked use of PC_REGNUM. -* Wed Dec 20 2006 - schwab@suse.de +* Wed Dec 20 2006 schwab@suse.de - Update to gdb 6.6. * New targets Xtensa xtensa-elf @@ -397,323 +401,323 @@ rm -rf $RPM_BUILD_ROOT qPart:auxv:read: This packet has been replaced by qXfer:auxv:read. Only GDB 6.4 and 6.5 used it, and only gdbserver implemented it. -* Sat Dec 02 2006 - schwab@suse.de +* Sat Dec 02 2006 schwab@suse.de - Update to gdb 6.5.90. -* Sat Oct 28 2006 - schwab@suse.de +* Sat Oct 28 2006 schwab@suse.de - Rename detach-fork to detach fork. -* Tue Oct 24 2006 - schwab@suse.de +* Tue Oct 24 2006 schwab@suse.de - Better fix for function descriptor handling on ppc64. -* Fri Aug 25 2006 - schwab@suse.de +* Fri Aug 25 2006 schwab@suse.de - Minimal support for .gnu.hash. -* Thu Aug 24 2006 - schwab@suse.de +* Thu Aug 24 2006 schwab@suse.de - Fix off-by-one in add_symbol_file_command [#200831]. -* Fri Aug 11 2006 - schwab@suse.de +* Fri Aug 11 2006 schwab@suse.de - Correctly extend addresses read from link map. -* Sun Jul 16 2006 - schwab@suse.de +* Mon Jul 17 2006 schwab@suse.de - Fix function decriptor handing on ppc64. -* Wed Jun 21 2006 - schwab@suse.de +* Wed Jun 21 2006 schwab@suse.de - Update to final gdb 6.5. -* Sat Jun 03 2006 - schwab@suse.de +* Sat Jun 03 2006 schwab@suse.de - Update to gdb 6.5 RC 1. -* Wed May 31 2006 - schwab@suse.de +* Wed May 31 2006 schwab@suse.de - Set long double size to 16 [#180103]. -* Mon May 22 2006 - schwab@suse.de +* Mon May 22 2006 schwab@suse.de - Update to gdb 6.4.90 snapshot 20060522. -* Sun Apr 23 2006 - schwab@suse.de +* Sun Apr 23 2006 schwab@suse.de - Add patch to avoid losing compilation directory. - Fix a parallel build problem. -* Tue Apr 04 2006 - schwab@suse.de +* Tue Apr 04 2006 schwab@suse.de - Relocate PIEs. -* Mon Mar 27 2006 - schwab@suse.de +* Mon Mar 27 2006 schwab@suse.de - Handle .eh_frame register encoding that is different from .dwarf_frame. - Remove obsolete patch. -* Wed Jan 25 2006 - mls@suse.de +* Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires -* Mon Jan 23 2006 - schwab@suse.de +* Mon Jan 23 2006 schwab@suse.de - Add fix for PIC prologue analyzer on powerpc. -* Wed Dec 14 2005 - schwab@suse.de +* Wed Dec 14 2005 schwab@suse.de - Add fix for observer notify queue after attach. -* Fri Dec 02 2005 - schwab@suse.de +* Fri Dec 02 2005 schwab@suse.de - Update to gdb 6.4. -* Tue Nov 22 2005 - schwab@suse.de +* Tue Nov 22 2005 schwab@suse.de - Update to gdb 6.3.90. -* Fri Nov 04 2005 - schwab@suse.de +* Fri Nov 04 2005 schwab@suse.de - Update to gdb-6.3.50 snapshot 20051103. -* Mon Oct 03 2005 - schwab@suse.de +* Mon Oct 03 2005 schwab@suse.de - Update to gdb 6.3.50 snapshot 20051003. -* Mon Sep 19 2005 - schwab@suse.de +* Mon Sep 19 2005 schwab@suse.de - Fix warnings. -* Sun Aug 21 2005 - schwab@suse.de +* Sun Aug 21 2005 schwab@suse.de - Add DWARF CFI unwinder on ppc. -* Mon Jun 20 2005 - schwab@suse.de +* Tue Jun 21 2005 schwab@suse.de - Require libunwind-devel on ia64. -* Thu Jun 09 2005 - schwab@suse.de +* Thu Jun 09 2005 schwab@suse.de - Add patch for ia64 vDSO support and unwinding through signals and syscalls [#60766]. -* Mon Apr 11 2005 - schwab@suse.de +* Mon Apr 11 2005 schwab@suse.de - Fix backtrace through vsyscall [#63483]. -* Mon Apr 11 2005 - schwab@suse.de +* Mon Apr 11 2005 schwab@suse.de - Add patch to fix bugs in rs6000/powerpc register set functions. - Fix a testsuite bug. -* Sun Mar 06 2005 - schwab@suse.de +* Sun Mar 06 2005 schwab@suse.de - Add patch to suppress fork attach/detach messages. -* Wed Mar 02 2005 - schwab@suse.de +* Wed Mar 02 2005 schwab@suse.de - Add patch to fix following vfork from a secondary thread. -* Mon Feb 28 2005 - schwab@suse.de +* Mon Feb 28 2005 schwab@suse.de - Don't ignore DW_TAG_member [#66406]. -* Tue Feb 01 2005 - schwab@suse.de +* Tue Feb 01 2005 schwab@suse.de - Find separate debug symbol files in /usr/lib/debug by default. -* Thu Jan 27 2005 - schwab@suse.de +* Thu Jan 27 2005 schwab@suse.de - Add patch to handle back-to-back and nested signals. -* Thu Jan 27 2005 - schwab@suse.de +* Thu Jan 27 2005 schwab@suse.de - Add patch to implement reggroups for ppc. -* Wed Jan 26 2005 - schwab@suse.de +* Wed Jan 26 2005 schwab@suse.de - Add patch to implement PPC GNU/Linux sigtramp frame code. -* Wed Jan 12 2005 - schwab@suse.de +* Wed Jan 12 2005 schwab@suse.de - Don't error out when encountering an unavailable value. -* Fri Dec 03 2004 - schwab@suse.de +* Fri Dec 03 2004 schwab@suse.de - Downgrade errors to warnings during backtrace [#48484]. - Undocument --readnever since it may not be supported by future releases. - Fix patches from last change. -* Fri Dec 03 2004 - kukuk@suse.de +* Fri Dec 03 2004 kukuk@suse.de - Add --readnever option as workaround for [#48485] -* Sun Nov 14 2004 - schwab@suse.de +* Sun Nov 14 2004 schwab@suse.de - Add libunwind-devel to neededforbuild. -* Sat Nov 13 2004 - schwab@suse.de +* Sat Nov 13 2004 schwab@suse.de - Fix missing dependencies. -* Wed Nov 10 2004 - schwab@suse.de +* Wed Nov 10 2004 schwab@suse.de - Version 6.2.91 renamed to 6.3. -* Tue Nov 09 2004 - schwab@suse.de +* Tue Nov 09 2004 schwab@suse.de - Update to gdb 6.2.91 (6.3 release candidate). -* Mon Nov 08 2004 - schwab@suse.de +* Mon Nov 08 2004 schwab@suse.de - Revert last change. - Fix typo. -* Mon Nov 08 2004 - uli@suse.de +* Mon Nov 08 2004 uli@suse.de - fixed to build on s390* -* Mon Oct 25 2004 - schwab@suse.de +* Mon Oct 25 2004 schwab@suse.de - Fix building gdbserver on x86-64. -* Mon Oct 25 2004 - schwab@suse.de +* Mon Oct 25 2004 schwab@suse.de - Update to gdb 6.2.90. - Use libunwind on ia64. -* Thu Sep 09 2004 - schwab@suse.de +* Thu Sep 09 2004 schwab@suse.de - Update to gdb 6.2.1. -* Wed Aug 25 2004 - schwab@suse.de +* Wed Aug 25 2004 schwab@suse.de - Fix deadlock in child_wait [#42796]. -* Tue Aug 24 2004 - schwab@suse.de +* Tue Aug 24 2004 schwab@suse.de - Import latest changes from 6.2 branch. -* Fri Jul 30 2004 - schwab@suse.de +* Fri Jul 30 2004 schwab@suse.de - Update to gdb 6.2. -* Thu Jul 29 2004 - schwab@suse.de +* Thu Jul 29 2004 schwab@suse.de - Update to gdb 6.1.92. -* Mon Jul 26 2004 - schwab@suse.de +* Mon Jul 26 2004 schwab@suse.de - Fix handling of relative filenames in DWARF2 .debug_line. -* Mon Jul 19 2004 - schwab@suse.de +* Mon Jul 19 2004 schwab@suse.de - Update to gdb 6.1.91. -* Thu Jun 24 2004 - schwab@suse.de +* Thu Jun 24 2004 schwab@suse.de - Better handling of dying threads. -* Fri Jun 18 2004 - schwab@suse.de +* Sat Jun 19 2004 schwab@suse.de - Update to gdb 6.1.1. -* Tue May 25 2004 - schwab@suse.de +* Tue May 25 2004 schwab@suse.de - Fix handling of short lived threads [#40841]. -* Sat May 01 2004 - schwab@suse.de +* Sat May 01 2004 schwab@suse.de - Restore removed hunk. -* Fri Apr 30 2004 - meissner@suse.de +* Fri Apr 30 2004 meissner@suse.de - applied 3 patches to fix problems on ppc64. #39394 -* Sat Apr 17 2004 - schwab@suse.de +* Sat Apr 17 2004 schwab@suse.de - Pacify autobuild. -* Mon Apr 05 2004 - schwab@suse.de +* Mon Apr 05 2004 schwab@suse.de - Version 6.0.92 has been renamed to 6.1. -* Sat Apr 03 2004 - schwab@suse.de +* Sat Apr 03 2004 schwab@suse.de - Update to gdb 6.0.92 (6.1 release candidate). -* Tue Mar 30 2004 - schwab@suse.de +* Tue Mar 30 2004 schwab@suse.de - Fix invalid use of va_list. -* Mon Mar 29 2004 - schwab@suse.de +* Tue Mar 30 2004 schwab@suse.de - Update to gdb 6.0.91. -* Mon Mar 29 2004 - schwab@suse.de +* Mon Mar 29 2004 schwab@suse.de - Update to current CVS. -* Fri Mar 19 2004 - schwab@suse.de +* Fri Mar 19 2004 schwab@suse.de - Fix last change: don't disable testsuite. -* Wed Mar 17 2004 - mludvig@suse.cz +* Wed Mar 17 2004 mludvig@suse.cz - Added opcodes for VIA PadLock instructions. -* Tue Mar 02 2004 - schwab@suse.de +* Tue Mar 02 2004 schwab@suse.de - Update to gdb 6.0.90. - Run testsuite. -* Thu Jan 08 2004 - schwab@suse.de +* Thu Jan 08 2004 schwab@suse.de - Fix gate area range. -* Wed Dec 10 2003 - schwab@suse.de +* Wed Dec 10 2003 schwab@suse.de - Support DW_TAG_subrange_type. - Backport recent ia64 improvements from mainline. -* Tue Oct 21 2003 - mludvig@ +* Tue Oct 21 2003 mludvig@ - Add support for debugging both i386 and amd64 apps by a single amd64 GDB binary. -* Mon Oct 20 2003 - mludvig@suse.cz +* Mon Oct 20 2003 mludvig@suse.cz - Correctly interpret symbol tables for debugging kernel modules (gdb6-symtab-minimal.diff) - Fixed support for GCC variable tracking (gdb6-vartrack.diff) - Fixed support for Fortran arrays (gdb6-fortranarray.diff) -* Tue Oct 07 2003 - schwab@suse.de +* Tue Oct 07 2003 schwab@suse.de - Hack to build on sparc. -* Mon Oct 06 2003 - schwab@suse.de +* Mon Oct 06 2003 schwab@suse.de - Update to gdb 6.0. -* Fri Oct 03 2003 - kukuk@suse.de +* Fri Oct 03 2003 kukuk@suse.de - Remove unused tetex from neededforbuild -* Mon Sep 29 2003 - schwab@suse.de +* Mon Sep 29 2003 schwab@suse.de - Update to gdb 5.3.93 pre-release. -* Wed Sep 17 2003 - schwab@suse.de +* Wed Sep 17 2003 schwab@suse.de - Remove debugging hooks. -* Wed Sep 17 2003 - schwab@suse.de +* Wed Sep 17 2003 schwab@suse.de - Ignore more insns during i386 prologue decoding [#30288]. - Fix hash table mixup in bfd_simple interface. -* Tue Sep 16 2003 - schwab@suse.de +* Tue Sep 16 2003 schwab@suse.de - Update to gdb 5.3.92 pre-release. * Fixes bug 31033. -* Wed Sep 03 2003 - schwab@suse.de +* Wed Sep 03 2003 schwab@suse.de - Update to gdb 5.3.91 pre-release. -* Tue Aug 19 2003 - schwab@suse.de +* Tue Aug 19 2003 schwab@suse.de - Update to gdb 5.3.90 2003-08-19 cvs snapshot. -* Mon Jun 23 2003 - kukuk@suse.de +* Mon Jun 23 2003 kukuk@suse.de - Fix compiling on SPARC -* Tue Jun 10 2003 - schwab@suse.de +* Tue Jun 10 2003 schwab@suse.de - Don't package mmalloc.info, since libmmalloc isn't included either. -* Thu May 15 2003 - schwab@suse.de +* Thu May 15 2003 schwab@suse.de - Remove unwanted files. -* Thu Apr 24 2003 - ro@suse.de +* Thu Apr 24 2003 ro@suse.de - fix install_info --delete call and move from preun to postun -* Fri Apr 11 2003 - mludvig@suse.cz +* Fri Apr 11 2003 mludvig@suse.cz - Fix read_2u() function in dwarf2cfi.c -* Thu Apr 10 2003 - mludvig@suse.cz +* Thu Apr 10 2003 mludvig@suse.cz - Add 'info cfi
' command. - Fix off-by-4 bug in the CFI parser. -* Mon Apr 07 2003 - schwab@suse.de +* Mon Apr 07 2003 schwab@suse.de - Only delete info entries when removing last version. -* Thu Mar 27 2003 - schwab@suse.de +* Thu Mar 27 2003 schwab@suse.de - Fix specfile. -* Thu Mar 06 2003 - aj@suse.de +* Thu Mar 06 2003 aj@suse.de - Fix neededforbuild. -* Wed Feb 26 2003 - mludvig@suse.cz +* Wed Feb 26 2003 mludvig@suse.cz - Added loclist support - Fixed eh_frame parsing problems - Updated for proposed x86-64 ABI change -* Thu Feb 06 2003 - schwab@suse.de +* Thu Feb 06 2003 schwab@suse.de - Use %%install_info. -* Tue Feb 04 2003 - schwab@suse.de +* Tue Feb 04 2003 schwab@suse.de - Enable TUI. -* Sun Jan 26 2003 - olh@suse.de +* Sun Jan 26 2003 olh@suse.de - add inital native ppc64 support -* Thu Jan 09 2003 - mludvig@suse.cz +* Thu Jan 09 2003 mludvig@suse.cz - Fixed compilation problem with last gdb-asmbtrace.diff. No new feature. -* Tue Jan 07 2003 - mludvig@suse.cz +* Tue Jan 07 2003 mludvig@suse.cz - Several Dwarf2 and x86-64 specific changes * Added ability to do backtrace from some functions without debug info (patch gdb-asmbtrace.diff) * Fixed crash on re-run of a debugged program. * Added some more verbosity to dwarf2cfi engine. -* Thu Dec 12 2002 - schwab@suse.de +* Thu Dec 12 2002 schwab@suse.de - Update to gdb 5.3. * GNU/Linux shared library multi-threaded performance improved. * ``gdbserver'' now supports multi-threaded applications on some targets * GDB now supports C/C++ preprocessor macros. -* Fri Oct 11 2002 - aj@suse.de +* Fri Oct 11 2002 aj@suse.de - Handle gcc code generated by gcc -f-elimante-dwarf2-dups -g. -* Thu Sep 26 2002 - schwab@suse.de +* Thu Sep 26 2002 schwab@suse.de - Avoid installing libbfd, libopcodes, libiberty and libmmalloc [#20199]. -* Wed Sep 18 2002 - sf@suse.de +* Wed Sep 18 2002 sf@suse.de - added patch from mludvig to remove framepointer on x86_64 -* Wed Sep 04 2002 - kukuk@suse.de +* Wed Sep 04 2002 kukuk@suse.de - Add Patch for reading SPARC core files -* Tue Sep 03 2002 - schwab@suse.de +* Tue Sep 03 2002 schwab@suse.de - Remove tetex from neededforbuild. -* Wed Jul 24 2002 - schwab@suse.de +* Wed Jul 24 2002 schwab@suse.de - Update to gdb 5.2.1. -* Thu Jul 18 2002 - mludvig@suse.de +* Thu Jul 18 2002 mludvig@suse.de - Fix PLT recognisation. -* Mon Jul 08 2002 - schwab@suse.de +* Mon Jul 08 2002 schwab@suse.de - Add fix for memory leak. -* Tue Jul 02 2002 - mludvig@suse.cz +* Tue Jul 02 2002 mludvig@suse.cz - removed my previous patches - added a huge one suse-521-x8664.diff -* Thu Jun 06 2002 - sf@suse.de +* Thu Jun 06 2002 sf@suse.de - added fpregset.diff (from mludvig@suse.de) - added dwarf2cfi.diff (from mludvig@suse.de) -* Wed May 15 2002 - sf@suse.de +* Wed May 15 2002 sf@suse.de - added some dwarf2-patches for x86_64 (from mludvig@suse.de) -* Thu May 09 2002 - schwab@suse.de +* Thu May 09 2002 schwab@suse.de - Fix breakpoints on MLX bundle. -* Mon May 06 2002 - schwab@suse.de +* Mon May 06 2002 schwab@suse.de - Sparc doesn't have gdbserver either. -* Sun May 05 2002 - schwab@suse.de +* Sun May 05 2002 schwab@suse.de - Update to gdb 5.2. - Gdbserver now available for all but alpha. -* Fri Jan 25 2002 - schwab@suse.de +* Fri Jan 25 2002 schwab@suse.de - Update to gdb 5.1.1. -* Thu Nov 22 2001 - schwab@suse.de +* Thu Nov 22 2001 schwab@suse.de - Update to gdb 5.1. - Build and install gdbserver on i386 and ia64. -* Sat Aug 18 2001 - schwab@suse.de +* Sat Aug 18 2001 schwab@suse.de - Update to gdb snapthot 20010316. -* Fri May 18 2001 - schwab@suse.de +* Fri May 18 2001 schwab@suse.de - Include ia64 warning patches (from nadvornik@suse.cz). -* Thu Apr 12 2001 - schwab@suse.de +* Thu Apr 12 2001 schwab@suse.de - Remove declaration of tilde_expand, now in readline header. -* Sun Apr 01 2001 - schwab@suse.de +* Sun Apr 01 2001 schwab@suse.de - Fix hardware watchpoints on ia64. -* Fri Mar 30 2001 - schwab@suse.de +* Fri Mar 30 2001 schwab@suse.de - Fix crash on info architecture (#6865). -* Wed Mar 28 2001 - schwab@suse.de +* Wed Mar 28 2001 schwab@suse.de - Use installed readline library. -* Tue Mar 06 2001 - schwab@suse.de +* Tue Mar 06 2001 schwab@suse.de - Remove some ia64 hacks. -* Tue Dec 12 2000 - schwab@suse.de +* Tue Dec 12 2000 schwab@suse.de - Improve handling of breakpoints in shared libraries. -* Fri Nov 17 2000 - kukuk@suse.de +* Fri Nov 17 2000 kukuk@suse.de - Update to working gdb snapshot -* Wed Sep 27 2000 - fober@suse.de +* Wed Sep 27 2000 fober@suse.de - s390: added s390-sigregs-SuSE.patch -* Thu Sep 14 2000 - fober@suse.de +* Thu Sep 14 2000 fober@suse.de - s390: incorporate new ibm patches for gdb 5.0 -* Wed Sep 06 2000 - fober@suse.de +* Wed Sep 06 2000 fober@suse.de - s390: incorporate ibm patches for gdb 5.0 -* Fri Jun 30 2000 - kukuk@suse.de +* Fri Jun 30 2000 kukuk@suse.de - Add gdb-5.0 -* Tue Apr 04 2000 - bk@suse.de +* Tue Apr 04 2000 bk@suse.de - s390 team added s390 support -* Tue Mar 21 2000 - schwab@suse.de +* Tue Mar 21 2000 schwab@suse.de - Fix core dump reading (#2586). -* Fri Feb 04 2000 - kukuk@suse.de +* Fri Feb 04 2000 kukuk@suse.de - Add patches for PPC - Move /usr/info -> /usr/share/info -* Mon Dec 06 1999 - kukuk@suse.de +* Mon Dec 06 1999 kukuk@suse.de - Remove gdb 4.17 - Add gdb 4.18 fixes for SPARC -* Mon Sep 13 1999 - bs@suse.de +* Mon Sep 13 1999 bs@suse.de - ran old prepare_spec on spec file to switch to new prepare_spec. -* Fri Sep 03 1999 - kukuk@suse.de +* Fri Sep 03 1999 kukuk@suse.de - Use RPM values for CFLAGS and configure -* Tue Aug 24 1999 - uli@suse.de +* Tue Aug 24 1999 uli@suse.de - added -fsigned-char to CFLAGS (PPC) -* Mon Aug 23 1999 - kukuk@suse.de +* Mon Aug 23 1999 kukuk@suse.de - Add gdb 4.18 thread patch from RH -* Mon Jul 19 1999 - florian@suse.de +* Mon Jul 19 1999 florian@suse.de - add gdb-4.17.0.12 as /usr/bin/gdb-4.17 -* Wed Jul 07 1999 - kukuk@suse.de +* Wed Jul 07 1999 kukuk@suse.de - update to 4.18 using diff from jurix -* Mon Feb 22 1999 - ro@suse.de +* Tue Feb 23 1999 ro@suse.de - update to 4.17.0.11 using diff from jurix -* Thu Jan 21 1999 - ro@suse.de +* Thu Jan 21 1999 ro@suse.de - update to 4.17.0.8 -* Thu Oct 01 1998 - ro@suse.de +* Thu Oct 01 1998 ro@suse.de - update to 4.17.0.4 using jurix-diff -* Tue Sep 15 1998 - ro@suse.de +* Tue Sep 15 1998 ro@suse.de - hacked for GLIBC: include sys/ucontext and sys/ptrace where needed - catch strup redeclarations - cleaned up patch-sequence -* Wed Oct 29 1997 - florian@suse.de +* Wed Oct 29 1997 florian@suse.de - fix in libc to correctly support core-files - add bug-fix to read symbols from dynamic symbol tables - apply all patches from debian gdb-4.16-11 -* Thu Jan 02 1997 - florian@suse.de +* Thu Jan 02 1997 florian@suse.de Neue Version 4.16. gdb kompiliert nur mit libc 5.4.7 richtig. Mit 5.2.18 kann gdb keine core-files lesen. diff --git a/pie-relocate.diff b/pie-relocate.diff new file mode 100644 index 0000000..71ff903 --- /dev/null +++ b/pie-relocate.diff @@ -0,0 +1,568 @@ +--- gdb/Makefile.in ++++ gdb/Makefile.in +@@ -2559,7 +2559,7 @@ objfiles.o: objfiles.c $(defs_h) $(bfd_h + $(objfiles_h) $(gdb_stabs_h) $(target_h) $(bcache_h) $(mdebugread_h) \ + $(gdb_assert_h) $(gdb_stat_h) $(gdb_obstack_h) $(gdb_string_h) \ + $(hashtab_h) $(breakpoint_h) $(block_h) $(dictionary_h) $(source_h) \ +- $(parser_defs_h) $(expression_h) $(addrmap_h) ++ $(parser_defs_h) $(expression_h) $(addrmap_h) $(auxv_h) $(elf_common_h) + observer.o: observer.c $(defs_h) $(observer_h) $(command_h) $(gdbcmd_h) \ + $(observer_inc) + obsd-tdep.o: obsd-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(obsd_tdep_h) +@@ -2758,7 +2758,7 @@ solib-sunos.o: solib-sunos.c $(defs_h) $ + $(bcache_h) $(regcache_h) + solib-svr4.o: solib-svr4.c $(defs_h) $(elf_external_h) $(elf_common_h) \ + $(elf_mips_h) $(symtab_h) $(bfd_h) $(symfile_h) $(objfiles_h) \ +- $(gdbcore_h) $(target_h) $(inferior_h) $(gdb_assert_h) \ ++ $(gdbcore_h) $(target_h) $(inferior_h) $(command_h) $(gdb_assert_h) \ + $(solist_h) $(solib_h) $(solib_svr4_h) $(bfd_target_h) $(elf_bfd_h) \ + $(exec_h) $(auxv_h) + solib-target.o: solib-target.c $(defs_h) $(objfiles_h) $(solist_h) \ +--- gdb/breakpoint.c ++++ gdb/breakpoint.c +@@ -3892,6 +3892,7 @@ describe_other_breakpoints (CORE_ADDR pc + printf_filtered (" (thread %d)", b->thread); + printf_filtered ("%s%s ", + ((b->enable_state == bp_disabled || ++ b->enable_state == bp_startup_disabled || + b->enable_state == bp_call_disabled) + ? " (disabled)" + : b->enable_state == bp_permanent +@@ -4544,6 +4545,60 @@ disable_breakpoints_in_unloaded_shlib (s + } + } + ++void ++disable_breakpoints_at_startup (int silent) ++{ ++ struct breakpoint *b; ++ int disabled_startup_breaks = 0; ++ ++ if (bfd_get_start_address (exec_bfd) != entry_point_address ()) ++ { ++ ALL_BREAKPOINTS (b) ++ { ++ if ((b->type == bp_breakpoint ++ || b->type == bp_hardware_breakpoint) ++ && b->enable_state == bp_enabled ++ && !b->loc->duplicate) ++ { ++ b->enable_state = bp_startup_disabled; ++ if (!silent) ++ { ++ if (!disabled_startup_breaks) ++ { ++ target_terminal_ours_for_output (); ++ warning ("Temporarily disabling breakpoints:"); ++ } ++ disabled_startup_breaks = 1; ++ warning ("breakpoint #%d addr 0x%s", ++ b->number, paddr_nz (b->loc->address)); ++ } ++ } ++ } ++ } ++} ++ ++/* Try to reenable any breakpoints after startup. */ ++void ++re_enable_breakpoints_at_startup (void) ++{ ++ struct breakpoint *b; ++ ++ if (bfd_get_start_address (exec_bfd) != entry_point_address ()) ++ { ++ ALL_BREAKPOINTS (b) ++ if (b->enable_state == bp_startup_disabled) ++ { ++ gdb_byte buf[1]; ++ ++ /* Do not reenable the breakpoint if the shared library ++ is still not mapped in. */ ++ if (target_read_memory (b->loc->address, buf, 1) == 0) ++ b->enable_state = bp_enabled; ++ } ++ } ++} ++ ++ + static void + create_fork_vfork_event_catchpoint (int tempflag, char *cond_string, + enum bptype bp_kind) +@@ -6908,6 +6963,7 @@ delete_breakpoint (struct breakpoint *bp + && loc2->section == loc->section + && !loc->duplicate + && loc2->owner->enable_state != bp_disabled ++ && loc2->owner->enable_state != bp_startup_disabled + && loc2->enabled + && !loc2->shlib_disabled + && loc2->owner->enable_state != bp_call_disabled) +@@ -7230,6 +7286,7 @@ breakpoint_re_set_one (void *bint) + if (not_found + && (b->condition_not_parsed + || (b->loc && b->loc->shlib_disabled) ++ || b->enable_state == bp_startup_disabled + || b->enable_state == bp_disabled)) + not_found_and_ok = 1; + +--- gdb/breakpoint.h ++++ gdb/breakpoint.h +@@ -144,6 +144,7 @@ enum enable_state + automatically enabled and reset when the call + "lands" (either completes, or stops at another + eventpoint). */ ++ bp_startup_disabled, + bp_permanent /* There is a breakpoint instruction hard-wired into + the target's code. Don't try to write another + breakpoint instruction on top of it, or restore +@@ -818,6 +819,10 @@ extern void remove_thread_event_breakpoi + + extern void disable_breakpoints_in_shlibs (void); + ++extern void disable_breakpoints_at_startup (int silent); ++ ++extern void re_enable_breakpoints_at_startup (void); ++ + /* This function returns TRUE if ep is a catchpoint. */ + extern int ep_is_catchpoint (struct breakpoint *); + +--- gdb/dwarf2read.c ++++ gdb/dwarf2read.c +@@ -1222,7 +1222,7 @@ dwarf2_build_psymtabs (struct objfile *o + else + dwarf2_per_objfile->loc_buffer = NULL; + +- if (mainline ++ if (mainline == 1 + || (objfile->global_psymbols.size == 0 + && objfile->static_psymbols.size == 0)) + { +--- gdb/elfread.c ++++ gdb/elfread.c +@@ -644,7 +644,7 @@ elf_symfile_read (struct objfile *objfil + /* If we are reinitializing, or if we have never loaded syms yet, + set table to empty. MAINLINE is cleared so that *_read_psymtab + functions do not all also re-initialize the psymbol table. */ +- if (mainline) ++ if (mainline == 1) + { + init_psymbol_list (objfile, 0); + mainline = 0; +--- gdb/infrun.c ++++ gdb/infrun.c +@@ -2267,6 +2267,11 @@ process_event_stop_test: + #endif + target_terminal_inferior (); + ++ /* For PIE executables, we dont really know where the ++ breakpoints are going to be until we start up the ++ inferior. */ ++ re_enable_breakpoints_at_startup (); ++ + /* If requested, stop when the dynamic linker notifies + gdb of events. This allows the user to get control + and place breakpoints in initializer routines for +--- gdb/objfiles.c ++++ gdb/objfiles.c +@@ -48,6 +48,8 @@ + #include "dictionary.h" + #include "source.h" + #include "addrmap.h" ++#include "auxv.h" ++#include "elf/common.h" + + /* Prototypes for local functions */ + +@@ -260,7 +262,16 @@ init_entry_point_info (struct objfile *o + CORE_ADDR + entry_point_address (void) + { +- return symfile_objfile ? symfile_objfile->ei.entry_point : 0; ++ int ret; ++ CORE_ADDR entry_addr; ++ ++ /* Find the address of the entry point of the program from the ++ auxv vector. */ ++ ret = target_auxv_search (¤t_target, AT_ENTRY, &entry_addr); ++ if (ret > 0) ++ return entry_addr; ++ else ++ return symfile_objfile ? symfile_objfile->ei.entry_point : 0; + } + + /* Create the terminating entry of OBJFILE's minimal symbol table. +--- gdb/solib-svr4.c ++++ gdb/solib-svr4.c +@@ -31,6 +31,7 @@ + #include "gdbcore.h" + #include "target.h" + #include "inferior.h" ++#include "command.h" + + #include "gdb_assert.h" + +@@ -246,8 +247,6 @@ static char *debug_loader_name; + + /* Local function prototypes */ + +-static int match_main (char *); +- + static CORE_ADDR bfd_lookup_symbol (bfd *, char *); + + /* +@@ -353,6 +352,8 @@ scan_dyntag (int dyntag, bfd *abfd, CORE + Elf32_External_Dyn *x_dynp_32; + Elf64_External_Dyn *x_dynp_64; + struct bfd_section *sect; ++ CORE_ADDR relocated_dyn_addr, entry_addr; ++ int ret; + + if (abfd == NULL) + return 0; +@@ -360,11 +361,20 @@ scan_dyntag (int dyntag, bfd *abfd, CORE + if (arch_size == -1) + return 0; + ++ /* Find the address of the entry point of the program from the ++ auxv vector. */ ++ ret = target_auxv_search (¤t_target, AT_ENTRY, &entry_addr); ++ if (ret <= 0) ++ /* No auxv info, maybe an older kernel. Fake our way through. */ ++ entry_addr = bfd_get_start_address (exec_bfd); ++ + /* Find the start address of the .dynamic section. */ + sect = bfd_get_section_by_name (abfd, ".dynamic"); + if (sect == NULL) + return 0; + dyn_addr = bfd_section_vma (abfd, sect); ++ relocated_dyn_addr ++ = dyn_addr + entry_addr - bfd_get_start_address (exec_bfd); + + /* Read in .dynamic from the BFD. We will get the actual value + from memory later. */ +@@ -404,7 +414,7 @@ scan_dyntag (int dyntag, bfd *abfd, CORE + gdb_byte ptr_buf[8]; + CORE_ADDR ptr_addr; + +- ptr_addr = dyn_addr + (buf - bufstart) + arch_size / 8; ++ ptr_addr = relocated_dyn_addr + (buf - bufstart) + arch_size / 8; + if (target_read_memory (ptr_addr, ptr_buf, arch_size / 8) == 0) + dyn_ptr = extract_typed_address (ptr_buf, + builtin_type_void_data_ptr); +@@ -740,9 +750,55 @@ svr4_current_sos (void) + does have a name, so we can no longer use a missing name to + decide when to ignore it. */ + if (IGNORE_FIRST_LINK_MAP_ENTRY (new) && ldsomap == 0) +- free_so (new); ++ { ++ /* It is the first link map entry, i.e. it is the main ++ executable. */ ++ if (bfd_get_start_address (exec_bfd) == entry_point_address ()) ++ { ++ /* Non-pie case, main executable has not been relocated. */ ++ free_so (new); ++ } ++ else ++ { ++ /* Pie case, main executable has been relocated. */ ++ struct so_list *gdb_solib; ++ ++ strncpy (new->so_name, exec_bfd->filename, ++ SO_NAME_MAX_PATH_SIZE - 1); ++ new->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0'; ++ strcpy (new->so_original_name, new->so_name); ++ new->main_relocated = 0; ++ ++ for (gdb_solib = master_so_list (); ++ gdb_solib != NULL; ++ gdb_solib = gdb_solib->next) ++ if (strcmp (gdb_solib->so_name, new->so_name) == 0 ++ && gdb_solib->main_relocated) ++ break; ++ ++ if (gdb_solib == NULL) ++ { ++ add_to_target_sections (0 /*from_tty*/, ¤t_target, new); ++ new->main_p = 1; ++ } ++ ++ /* We need this in the list of shared libs we return because ++ solib_add_stub will loop through it and add the symbol ++ file. */ ++ new->next = 0; ++ *link_ptr = new; ++ link_ptr = &new->next; ++ } ++ } + else + { ++ /* This is not the first link map entry, i.e. is not the main ++ executable. Note however that it could be the DSO supplied on ++ certain systems (i.e. Linux 2.6) containing information about ++ the vsyscall page. We must ignore such entry. This entry is ++ nameless (just like the one for the main executable, ++ sigh). */ ++ + int errcode; + char *buffer; + +@@ -760,10 +816,8 @@ svr4_current_sos (void) + } + xfree (buffer); + +- /* If this entry has no name, or its name matches the name +- for the main executable, don't include it in the list. */ +- if (! new->so_name[0] +- || match_main (new->so_name)) ++ /* If this entry has no name, don't include it in the list. */ ++ if (! new->so_name[0]) + free_so (new); + else + { +@@ -862,24 +916,6 @@ svr4_fetch_objfile_link_map (struct objf + return 0; + } + +-/* On some systems, the only way to recognize the link map entry for +- the main executable file is by looking at its name. Return +- non-zero iff SONAME matches one of the known main executable names. */ +- +-static int +-match_main (char *soname) +-{ +- char **mainp; +- +- for (mainp = main_name_list; *mainp != NULL; mainp++) +- { +- if (strcmp (soname, *mainp) == 0) +- return (1); +- } +- +- return (0); +-} +- + /* Return 1 if PC lies in the dynamic symbol resolution code of the + SVR4 run time loader. */ + static CORE_ADDR interp_text_sect_low; +@@ -1369,6 +1405,8 @@ svr4_solib_create_inferior_hook (void) + while (stop_signal != TARGET_SIGNAL_TRAP); + stop_soon = NO_STOP_QUIETLY; + #endif /* defined(_SCO_DS) */ ++ ++ disable_breakpoints_at_startup (1); + } + + static void +--- gdb/solib.c ++++ gdb/solib.c +@@ -411,15 +411,37 @@ symbol_add_stub (void *arg) + /* Have we already loaded this shared object? */ + ALL_OBJFILES (so->objfile) + { +- if (strcmp (so->objfile->name, so->so_name) == 0) ++ /* Found an already loaded shared library. */ ++ if (strcmp (so->objfile->name, so->so_name) == 0 ++ && !so->main_p) + return 1; ++ /* Found an already loaded main executable. This could happen in ++ two circumstances. ++ First case: the main file has already been read in as the first ++ thing that gdb does at startup, and the file hasn't been ++ relocated properly yet. Therefore we need to read it in with the ++ proper section info. ++ Second case: it has been read in with the correct relocation, and ++ therefore we need to skip it. */ ++ if (strcmp (so->objfile->name, so->so_name) == 0 ++ && so->main_p ++ && so->main_relocated) ++ return 1; + } + + sap = build_section_addr_info_from_section_table (so->sections, + so->sections_end); + +- so->objfile = symbol_file_add (so->so_name, so->from_tty, +- sap, 0, OBJF_SHARED); ++ if (so->main_p) ++ { ++ so->objfile = symbol_file_add (so->so_name, /*so->from_tty*/ 0, ++ sap, 1, 0); ++ so->main_relocated = 1; ++ } ++ else ++ so->objfile = symbol_file_add (so->so_name, so->from_tty, ++ sap, 0, OBJF_SHARED); ++ + free_section_addr_info (sap); + + return (1); +@@ -599,28 +621,7 @@ update_solib_list (int from_tty, struct + /* Fill in the rest of each of the `struct so_list' nodes. */ + for (i = inferior; i; i = i->next) + { +- i->from_tty = from_tty; +- +- /* Fill in the rest of the `struct so_list' node. */ +- catch_errors (solib_map_sections, i, +- "Error while mapping shared library sections:\n", +- RETURN_MASK_ALL); +- +- /* If requested, add the shared object's sections to the TARGET's +- section table. Do this immediately after mapping the object so +- that later nodes in the list can query this object, as is needed +- in solib-osf.c. */ +- if (target) +- { +- int count = (i->sections_end - i->sections); +- if (count > 0) +- { +- int space = target_resize_to_sections (target, count); +- memcpy (target->to_sections + space, +- i->sections, +- count * sizeof (i->sections[0])); +- } +- } ++ add_to_target_sections (from_tty, target, i); + + /* Notify any observer that the shared object has been + loaded now that we've added it to GDB's tables. */ +@@ -716,6 +717,39 @@ solib_add (char *pattern, int from_tty, + } + } + ++void ++add_to_target_sections (int from_tty, struct target_ops *target, ++ struct so_list *solib) ++{ ++ /* If this is set, then the sections have been already added to the ++ target list. */ ++ if (solib->main_p) ++ return; ++ ++ solib->from_tty = from_tty; ++ ++ /* Fill in the rest of the `struct so_list' node. */ ++ catch_errors (solib_map_sections, solib, ++ "Error while mapping shared library sections:\n", ++ RETURN_MASK_ALL); ++ ++ /* If requested, add the shared object's sections to the TARGET's ++ section table. Do this immediately after mapping the object so ++ that later nodes in the list can query this object, as is needed ++ in solib-osf.c. */ ++ if (target) ++ { ++ int count = solib->sections_end - solib->sections; ++ if (count > 0) ++ { ++ int space = target_resize_to_sections (target, count); ++ memcpy (target->to_sections + space, ++ solib->sections, ++ count * sizeof (solib->sections[0])); ++ } ++ } ++} ++ + + /* + +--- gdb/solist.h ++++ gdb/solist.h +@@ -61,6 +61,8 @@ struct so_list + bfd *abfd; + char symbols_loaded; /* flag: symbols read in yet? */ + char from_tty; /* flag: print msgs? */ ++ char main_p; /* flag: is this the main executable? */ ++ char main_relocated; /* flag: has it been relocated yet? */ + struct objfile *objfile; /* objfile for loaded lib */ + struct section_table *sections; + struct section_table *sections_end; +@@ -130,6 +132,10 @@ struct so_list *master_so_list (void); + /* Find solib binary file and open it. */ + extern int solib_open (char *in_pathname, char **found_pathname); + ++/* Add the list of sections in so_list to the target to_sections. */ ++extern void add_to_target_sections (int, struct target_ops *, ++ struct so_list *); ++ + /* FIXME: gdbarch needs to control this variable */ + extern struct target_so_ops *current_target_so_ops; + +--- gdb/symfile-mem.c ++++ gdb/symfile-mem.c +@@ -108,7 +108,7 @@ symbol_file_add_from_memory (struct bfd + } + + objf = symbol_file_add_from_bfd (nbfd, from_tty, +- sai, 0, OBJF_SHARED); ++ sai, 2, OBJF_SHARED); + + /* This might change our ideas about frames already looked at. */ + reinit_frame_cache (); +--- gdb/symfile.c ++++ gdb/symfile.c +@@ -779,7 +779,7 @@ syms_from_objfile (struct objfile *objfi + + /* Now either addrs or offsets is non-zero. */ + +- if (mainline) ++ if (mainline == 1) + { + /* We will modify the main symbol table, make sure that all its users + will be cleaned up if an error occurs during symbol reading. */ +@@ -807,7 +807,7 @@ syms_from_objfile (struct objfile *objfi + + We no longer warn if the lowest section is not a text segment (as + happens for the PA64 port. */ +- if (!mainline && addrs && addrs->other[0].name) ++ if (addrs && addrs->other[0].name) + { + asection *lower_sect; + asection *sect; +@@ -976,14 +976,14 @@ new_symfile_objfile (struct objfile *obj + /* If this is the main symbol file we have to clean up all users of the + old main symbol file. Otherwise it is sufficient to fixup all the + breakpoints that may have been redefined by this symbol file. */ +- if (mainline) ++ if (mainline == 1) + { + /* OK, make it the "real" symbol file. */ + symfile_objfile = objfile; + + clear_symtab_users (); + } +- else ++ else if (mainline == 0) + { + breakpoint_re_set (); + } +@@ -1029,7 +1029,7 @@ symbol_file_add_with_addrs_or_offsets (b + interactively wiping out any existing symbols. */ + + if ((have_full_symbols () || have_partial_symbols ()) +- && mainline ++ && mainline == 1 + && from_tty + && !query ("Load new symbol table from \"%s\"? ", name)) + error (_("Not confirmed.")); +@@ -1213,6 +1213,11 @@ symbol_file_clear (int from_tty) + symfile_objfile->name) + : !query (_("Discard symbol table? ")))) + error (_("Not confirmed.")); ++ ++#ifdef CLEAR_SOLIB ++ CLEAR_SOLIB (); ++#endif ++ + free_all_objfiles (); + + /* solib descriptors may have handles to objfiles. Since their +@@ -2467,6 +2472,8 @@ reread_symbols (void) + /* Discard cleanups as symbol reading was successful. */ + discard_cleanups (old_cleanups); + ++ init_entry_point_info (objfile); ++ + /* If the mtime has changed between the time we set new_modtime + and now, we *want* this to be out of date, so don't call stat + again now. */