This commit is contained in:
parent
c9ef7ab429
commit
ad251dc9a2
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:03d71579cbc8e43da40bf8cb3662f705eef2fa86ac5030b9520ae4a080dbf260
|
||||
size 15093497
|
3
gdb-6.7.50.20080131-cvs.tar.bz2
Normal file
3
gdb-6.7.50.20080131-cvs.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:31a26214ae5f1c041ee8f0bd23102119f84cabb646c32e207602ebf5706210c6
|
||||
size 15087393
|
@ -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
|
||||
|
||||
|
342
gdb.spec
342
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 <address>' 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 <sys/procfs.h> 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.
|
||||
|
568
pie-relocate.diff
Normal file
568
pie-relocate.diff
Normal file
@ -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. */
|
Loading…
x
Reference in New Issue
Block a user