binutils-gdb modified for the FreeChainXenon project
Find a file
Andrew Burgess 2f47f48fe5 gdb/python: remove users ability to create gdb.Progspace objects
I noticed that it is possible for the user to create a new
gdb.Progspace object, like this:

  (gdb) pi
  >>> p = gdb.Progspace()
  >>> p
  <gdb.Progspace object at 0x7ffad4219c10>
  >>> p.is_valid()
  False

As the new gdb.Progspace object is not associated with an actual C++
program_space object within GDB core, then the new gdb.Progspace is
created invalid, and there is no way in which the new object can ever
become valid.

Nor do I believe there's anywhere in the Python API where it makes
sense to consume an invalid gdb.Progspace created in this way, for
example, the gdb.Progspace could be passed as the locus to
register_type_printer, but all that would happen is that the
registered printer would never be used.

In this commit I propose to remove the ability to create new
gdb.Progspace objects.  Attempting to do so now gives an error, like
this:

  (gdb) pi
  >>> gdb.Progspace()
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  TypeError: cannot create 'gdb.Progspace' instances

Of course, there is a small risk here that some existing user code
might break ... but if that happens I don't believe the user code can
have been doing anything useful, so I see this as a small risk.

Reviewed-By: Eli Zaretskii <eliz@gnu.org>
Approved-By: Tom Tromey <tom@tromey.com>
2024-01-12 11:21:28 +00:00
bfd LoongArch: Fix relaxation overflow caused by section alignment 2024-01-12 15:38:42 +08:00
binutils MAINTAINERS: Update my email address 2024-01-08 18:55:03 +00:00
config libiberty: Disable hwcaps for sha1.o 2023-11-30 10:14:30 +01:00
contrib Import mklog.py from gcc repo 2020-09-25 10:24:44 -04:00
cpu sim: cris: change temp var name slightly to avoid shadowing 2024-01-06 23:30:43 -05:00
elfcpp Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
etc Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
gas gas: sframe: warn when skipping SFrame FDE generation 2024-01-12 00:22:12 -08:00
gdb gdb/python: remove users ability to create gdb.Progspace objects 2024-01-12 11:21:28 +00:00
gdbserver gdbsupport: tighten up libiberty code a bit with dnl 2024-01-10 19:53:14 -05:00
gdbsupport gdbsupport: tighten up libiberty code a bit with dnl 2024-01-10 19:53:14 -05:00
gnulib gnulib: mark configure +x 2023-11-28 12:55:29 -05:00
gold Enforce C++11 as a minimum for building gold [PR30867] 2024-01-05 13:00:11 +10:30
gprof Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
gprofng gprofng: add an examples directory 2024-01-10 09:44:52 -08:00
include gas: aarch64: Add system registers for Debug and PMU extensions 2024-01-10 11:10:07 +00:00
ld LoongArch: Fix relaxation overflow caused by section alignment 2024-01-12 15:38:42 +08:00
libbacktrace regen config 2023-08-12 10:27:57 +09:30
libctf Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
libdecnumber regen config 2023-08-12 10:27:57 +09:30
libiberty Synchronize sourceware version of the libiberty sources with the master gcc versions. 2024-01-09 12:34:00 +00:00
libsframe Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
opcodes LoongArch: Discard extra spaces in objdump output 2024-01-11 14:08:24 +08:00
readline [readline] Fix double free in _rl_scxt_dispose 2023-05-28 10:17:57 +02:00
sim sim: ppc: return register error when unhandled 2024-01-11 00:49:56 -05:00
texinfo
zlib regen config 2023-08-12 10:27:57 +09:30
.cvsignore
.editorconfig Add top-level .editorconfig file 2022-01-28 08:25:42 -05:00
.gitattributes binutils-gdb/git: highlight whitespace errors in source files 2022-07-25 14:35:41 +01:00
.gitignore Finalized intl-update patches 2023-11-15 12:53:04 +00:00
ar-lib
ChangeLog Finalized intl-update patches 2023-11-15 12:53:04 +00:00
compile
config-ml.in MSP430: Add -fno-exceptions multilib 2023-08-12 10:24:26 +09:30
config.guess Synchronize config.sub and config.guess with their upstream master versions. 2024-01-04 12:00:34 +00:00
config.rpath
config.sub Synchronize config.sub and config.guess with their upstream master versions. 2024-01-04 12:00:34 +00:00
configure Sync top level configure and makefiles 2024-01-10 12:03:03 +00:00
configure.ac Sync top level configure and makefiles 2024-01-10 12:03:03 +00:00
COPYING
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
COPYING3
COPYING3.LIB
depcomp
djunpack.bat
install-sh
libtool.m4 FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts 2023-08-12 10:25:06 +09:30
ltgcc.m4
ltmain.sh Do not use HAVE_DOS_BASED_FILE_SYSTEM for Cygwin. 2023-08-12 10:25:06 +09:30
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS MAINTAINERS: Update path to readline config.{sub,guess} files 2021-05-24 18:11:49 +02:00
Makefile.def Sync top level configure and makefiles 2024-01-10 12:03:03 +00:00
Makefile.in Sync top level configure and makefiles 2024-01-10 12:03:03 +00:00
Makefile.tpl Sync top level configure and makefiles 2024-01-10 12:03:03 +00:00
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
multilib.am
README
README-maintainer-mode Note that at least dejagnu version 1.5.3 is required in order to be ale to run the testsuites. 2022-10-04 10:54:19 +01:00
SECURITY.txt Add a SECURITY.txt file describing the GNU Binutils' project's stance on security related bugs. 2023-04-20 16:52:11 +01:00
setup.com
src-release.sh Finalized intl-update patches 2023-11-15 12:53:04 +00:00
symlink-tree
test-driver
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.