binutils-gdb modified for the FreeChainXenon project
Find a file
Simon Marchi 3a553c80da gdb: rename cfunc to simple_func
After browsing the CLI code for quite a while and trying really hard, I
reached the conclusion that I can't give a meaningful explanation of
what "sfunc" and "cfunc" functions are, in cmd_list_element.  I don't
see a logic at all.  That makes it very difficult to do any kind of
change.  Unless somebody can make sense out of all that, I'd like to try
to retro-fit some logic in the cmd_list_element callback function code
so that we can understand what is going on, do some cleanups and add new
features.

The first change is about "cfunc".  I can't figure out what the "c" in
cfunc means.  It's not const, because there's already "const" in
"cmd_const_cfunc_ftype", and the previous "cmd_cfunc_ftype" had nothing
const..  It's not "cmd" or "command", because there's already "cmd" in
"cmd_const_cfunc_ftype".

The "main" command callback, cmd_list_element::func, has three
parameters, whereas cfunc has two.  It is missing the cmd_list_element
parameter.  So the only reason I see for cfunc to exist is to be a shim
between the three and two parameter versions.  Most commands don't need
to receive the cmd_list_element object, so adding it everywhere would be
long and would just add more unnecessary boilerplate.  So since this is
the "simple" version of the callback, compared to the "full", I suggest
renaming cmd_const_cfunc_ftype into cmd_simple_func_ftype, as well as
everything (like the utility functions) that goes with it.

Change-Id: I4e46cacfd77a66bc1cbf683f6a362072504b7868
2021-07-23 15:38:54 -04:00
bfd Automatic date update in version.in 2021-07-23 00:00:22 +00:00
binutils Remove netbsdpe support 2021-07-21 11:00:35 +09:30
config Add markers for 2.37 branch 2021-07-03 14:50:57 +01:00
contrib Import mklog.py from gcc repo 2020-09-25 10:24:44 -04:00
cpu Re: opcodes: constify & local meps macros 2021-07-05 21:40:49 +09:30
elfcpp Add markers for 2.37 branch 2021-07-03 14:50:57 +01:00
etc Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
gas x86: express unduly set rounding control bits in disassembly 2021-07-23 08:03:21 +02:00
gdb gdb: rename cfunc to simple_func 2021-07-23 15:38:54 -04:00
gdbserver gdb: make inferior::m_cwd an std::string 2021-07-23 15:38:54 -04:00
gdbsupport gdb: make inferior::m_cwd an std::string 2021-07-23 15:38:54 -04:00
gnulib gnulib: define the path to gnulib's parent dir 2021-06-14 18:01:20 -04:00
gold PR28106, build of 2.37 fails on FreeBSD and Clang 2021-07-20 20:15:48 +09:30
gprof Updated translations (mainly Ukranian and French) triggered by creation of 2.37 branch. 2021-07-05 15:54:35 +01:00
include elf: Add GNU_PROPERTY_1_NEEDED check 2021-07-08 18:14:31 -07:00
intl GNU gettext introduced this change[0] in version 0.19.8 to fix gettext detection with musl libc, since it does not define these internal symbols. 2021-06-14 14:05:39 +01:00
ld Allows linker scripts to set the SEC_READONLY flag. 2021-07-21 14:36:02 +01:00
libctf Add markers for 2.37 branch 2021-07-03 14:50:57 +01:00
libdecnumber Run autoreconf -vf throughout 2020-07-29 16:03:55 -04:00
libiberty Restore the libiberty component of commit 50ad1254d5. 2021-07-05 16:21:42 +01:00
opcodes x86: express unduly set rounding control bits in disassembly 2021-07-23 08:03:21 +02:00
readline Update config.sub and config.guess for MIPS R3 and R5 ISA support 2021-05-24 18:11:49 +02:00
sim sim: erc32: use libsim.a for common objects 2021-07-08 02:30:37 -04:00
texinfo
zlib GCC: Check if AR works with --plugin and rc 2021-01-11 16:26:51 -08:00
.cvsignore
.gitattributes
.gitignore Add gnu global outputs to .gitignore 2020-12-02 10:00:27 -05:00
ar-lib Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
ChangeLog Add markers for 2.37 branch 2021-07-03 14:50:57 +01:00
compile
config-ml.in Update top level configure files by synchronizing them with gcc. 2018-01-10 15:29:21 +00:00
config.guess Update config.sub and config.guess for MIPS R3 and R5 ISA support 2021-05-24 18:11:49 +02:00
config.rpath
config.sub Update config.sub and config.guess for MIPS R3 and R5 ISA support 2021-05-24 18:11:49 +02:00
configure sim: leverage gnulib 2021-05-29 11:56:43 -04:00
configure.ac sim: leverage gnulib 2021-05-29 11:56:43 -04:00
COPYING
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
COPYING3
COPYING3.LIB
depcomp
djunpack.bat
install-sh
libtool.m4 GCC: Check if AR works with --plugin and rc 2021-01-11 16:26:51 -08:00
ltgcc.m4
ltmain.sh
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 sim: depend on gnulib 2021-05-18 17:47:27 -04:00
Makefile.in sim: depend on gnulib 2021-05-18 17:47:27 -04:00
Makefile.tpl Add missing changes to Makefile.tpl 2021-02-28 04:39:38 -08:00
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
multilib.am Merge autoconf / automake update changes from GCC. 2018-10-31 17:10:56 +00:00
README
README-maintainer-mode Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
setup.com
src-release.sh src-release: fix indentation 2021-01-12 18:19:20 -05:00
symlink-tree
test-driver Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
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.