Import ELF Tool Chain snapshot at r3668
From http://svn.code.sf.net/p/elftoolchain/code/
This commit is contained in:
parent
87ec209e33
commit
2b92b30119
8
INSTALL
8
INSTALL
@ -14,7 +14,7 @@ operating systems.
|
||||
Operating System Version Supported Architectures
|
||||
----------------- -------- -----------------------
|
||||
`DragonFly BSD`_ 5.2 amd64
|
||||
FreeBSD_ 11.1 amd64 & i386
|
||||
FreeBSD_ 11.2 amd64 & i386
|
||||
Minix_ 3.0.2 i386
|
||||
NetBSD_ 7.1.2 i386
|
||||
OpenBSD_ 6.3 amd64
|
||||
@ -56,7 +56,7 @@ Prerequisites
|
||||
- Building additional documentation is not currently supported
|
||||
under DragonFly BSD.
|
||||
|
||||
:FreeBSD 11.1:
|
||||
:FreeBSD 11.2:
|
||||
- The core libraries and utilities should build out of the box on
|
||||
a stock install of FreeBSD.
|
||||
|
||||
@ -73,7 +73,7 @@ Prerequisites
|
||||
% sudo pkg install python py27-yaml
|
||||
|
||||
- Building additional documentation is not currently supported under
|
||||
FreeBSD 11.1.
|
||||
FreeBSD 11.2.
|
||||
|
||||
:Minix 3.2.0:
|
||||
- The following packages are pre-requisites for building the
|
||||
@ -242,7 +242,7 @@ website`_.
|
||||
|
||||
.. _project website: http://elftoolchain.sourceforge.net/
|
||||
|
||||
.. $Id: INSTALL 3613 2018-04-21 19:34:37Z jkoshy $
|
||||
.. $Id: INSTALL 3667 2018-12-28 22:19:46Z emaste $
|
||||
|
||||
.. Local Variables:
|
||||
.. mode: rst
|
||||
|
@ -1,8 +1,7 @@
|
||||
The Elftoolchain Project
|
||||
========================
|
||||
|
||||
.. contents::
|
||||
..
|
||||
.. contents:: Table of Contents
|
||||
|
||||
Description
|
||||
-----------
|
||||
@ -15,26 +14,26 @@ This software implements essential compilation tools and libraries for:
|
||||
The project currently implements the following utilities and
|
||||
libraries:
|
||||
|
||||
=========== ============================================
|
||||
Name Description
|
||||
=========== ============================================
|
||||
ar Archive manager.
|
||||
addr2line Debug tool.
|
||||
brandelf Manage the ELF brand on executables.
|
||||
c++filt Translate encoded symbols.
|
||||
elfcopy Copy and translate between object formats.
|
||||
elfdump Diagnostic tool.
|
||||
findtextrel Find undesired text relocations.
|
||||
libdwarf DWARF access library.
|
||||
libelf ELF access library.
|
||||
mcs Manage comment sections.
|
||||
nm List symbols in an ELF object.
|
||||
ranlib Add archive symbol tables to an archive.
|
||||
readelf Display ELF information.
|
||||
size List object sizes.
|
||||
strings Extract printable strings.
|
||||
strip Discard information from ELF objects.
|
||||
=========== ============================================
|
||||
=========== ============================================
|
||||
Name Description
|
||||
=========== ============================================
|
||||
ar Archive manager.
|
||||
addr2line Debug tool.
|
||||
brandelf Manage the ELF brand on executables.
|
||||
c++filt Translate encoded symbols.
|
||||
elfcopy Copy and translate between object formats.
|
||||
elfdump Diagnostic tool.
|
||||
findtextrel Find undesired text relocations.
|
||||
libdwarf DWARF access library.
|
||||
libelf ELF access library.
|
||||
mcs Manage comment sections.
|
||||
nm List symbols in an ELF object.
|
||||
ranlib Add archive symbol tables to an archive.
|
||||
readelf Display ELF information.
|
||||
size List object sizes.
|
||||
strings Extract printable strings.
|
||||
strip Discard information from ELF objects.
|
||||
=========== ============================================
|
||||
|
||||
.. _ELF: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format
|
||||
.. _DWARF: http://www.dwarfstd.org/
|
||||
@ -58,10 +57,12 @@ Tracking Ongoing Development
|
||||
|
||||
The project uses subversion_ for its version control system.
|
||||
|
||||
The subversion branch for the current set of sources may be accessed
|
||||
at the following URL:
|
||||
.. _subversion: https://subversion.apache.org/
|
||||
|
||||
https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk
|
||||
The subversion branch for the current set of sources may be accessed
|
||||
at the following URL::
|
||||
|
||||
https://elftoolchain.svn.sourceforge.net/svnroot/elftoolchain/trunk
|
||||
|
||||
The project's source tree may be checked out from its repository by
|
||||
using the ``svn checkout`` command::
|
||||
@ -71,14 +72,12 @@ using the ``svn checkout`` command::
|
||||
Checked-out sources may be kept upto-date by running ``svn update``
|
||||
inside the source directory::
|
||||
|
||||
% svn update
|
||||
% svn update
|
||||
|
||||
|
||||
Instructions on building and installing the software are given in the
|
||||
file ``INSTALL`` in the current directory.
|
||||
|
||||
.. _Subversion:
|
||||
|
||||
Downloading Released Software
|
||||
-----------------------------
|
||||
|
||||
@ -120,7 +119,7 @@ website`_.
|
||||
|
||||
.. _project website: http://elftoolchain.sourceforge.net/
|
||||
|
||||
.. $Id: README 2146 2011-11-11 09:39:00Z jkoshy $
|
||||
.. $Id: README.rst 3656 2018-12-26 09:46:24Z jkoshy $
|
||||
|
||||
.. Local Variables:
|
||||
.. mode: rst
|
@ -22,11 +22,11 @@
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: addr2line.1 3263 2015-11-30 04:25:54Z kaiwang27 $
|
||||
.\" $Id: addr2line.1 3642 2018-10-14 14:24:28Z jkoshy $
|
||||
.\"
|
||||
.Dd November 30, 2015
|
||||
.Os
|
||||
.Dt ADDR2LINE 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm addr2line
|
||||
.Nd translate program addresses to source file names and line numbers
|
||||
|
@ -40,7 +40,7 @@
|
||||
#include "uthash.h"
|
||||
#include "_elftc.h"
|
||||
|
||||
ELFTC_VCSID("$Id: addr2line.c 3499 2016-11-25 16:06:29Z emaste $");
|
||||
ELFTC_VCSID("$Id: addr2line.c 3544 2017-06-05 14:51:44Z emaste $");
|
||||
|
||||
struct Func {
|
||||
char *name;
|
||||
|
21
ar/ar.1
21
ar/ar.1
@ -21,51 +21,52 @@
|
||||
.\" out of the use of this software, even if advised of the possibility of
|
||||
.\" such damage.
|
||||
.\"
|
||||
.\" $Id: ar.1 3230 2015-07-27 17:11:38Z emaste $
|
||||
.\" $Id: ar.1 3642 2018-10-14 14:24:28Z jkoshy $
|
||||
.\"
|
||||
.Dd July 27, 2015
|
||||
.Os
|
||||
.Dd September 30, 2018
|
||||
.Dt AR 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm ar
|
||||
.Nd manage archives
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Fl d
|
||||
.Op Fl T
|
||||
.Op Fl f
|
||||
.Op Fl j
|
||||
.Op Fl T
|
||||
.Op Fl v
|
||||
.Op Fl z
|
||||
.Ar archive
|
||||
.Ar
|
||||
.Nm
|
||||
.Fl m
|
||||
.Op Fl T
|
||||
.Op Fl a Ar position-after
|
||||
.Op Fl b Ar position-before
|
||||
.Op Fl f
|
||||
.Op Fl i Ar position-before
|
||||
.Op Fl j
|
||||
.Op Fl s | Fl S
|
||||
.Op Fl T
|
||||
.Op Fl z
|
||||
.Ar archive
|
||||
.Ar
|
||||
.Nm
|
||||
.Fl p
|
||||
.Op Fl T
|
||||
.Op Fl f
|
||||
.Op Fl s
|
||||
.Op Fl T
|
||||
.Op Fl v
|
||||
.Ar archive
|
||||
.Op Ar
|
||||
.Nm
|
||||
.Fl q
|
||||
.Op Fl T
|
||||
.Op Fl c
|
||||
.Op Fl D
|
||||
.Op Fl f
|
||||
.Op Fl F Ar flavor | Fl -flavor Ar flavor
|
||||
.Op Fl s | Fl S
|
||||
.Op Fl T
|
||||
.Op Fl U
|
||||
.Op Fl v
|
||||
.Op Fl z
|
||||
@ -73,7 +74,6 @@
|
||||
.Ar
|
||||
.Nm
|
||||
.Fl r
|
||||
.Op Fl T
|
||||
.Op Fl a Ar position-after
|
||||
.Op Fl b Ar position-before
|
||||
.Op Fl c
|
||||
@ -83,6 +83,7 @@
|
||||
.Op Fl i Ar position-before
|
||||
.Op Fl j
|
||||
.Op Fl s | Fl S
|
||||
.Op Fl T
|
||||
.Op Fl u
|
||||
.Op Fl U
|
||||
.Op Fl v
|
||||
@ -99,6 +100,7 @@
|
||||
.Nm
|
||||
.Fl t
|
||||
.Op Fl f
|
||||
.Op Fl s
|
||||
.Op Fl T
|
||||
.Op Fl v
|
||||
.Ar archive
|
||||
@ -106,9 +108,10 @@
|
||||
.Nm
|
||||
.Fl x
|
||||
.Op Fl C
|
||||
.Op Fl T
|
||||
.Op Fl f
|
||||
.Op Fl o
|
||||
.Op Fl s
|
||||
.Op Fl T
|
||||
.Op Fl u
|
||||
.Op Fl v
|
||||
.Ar archive
|
||||
|
8
ar/ar.5
8
ar/ar.5
@ -21,11 +21,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: ar.5 3182 2015-04-10 16:08:10Z emaste $
|
||||
.\" $Id: ar.5 3642 2018-10-14 14:24:28Z jkoshy $
|
||||
.\"
|
||||
.Dd November 28, 2010
|
||||
.Os
|
||||
.Dd September 30, 2018
|
||||
.Dt AR 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm ar
|
||||
.Nd archive file format for
|
||||
@ -84,6 +84,8 @@ An archive header comprises the following fixed sized fields:
|
||||
.Bl -tag -width "Li ar_name"
|
||||
.It Ar ar_name
|
||||
(16 bytes) The file name of the archive member.
|
||||
This field names a leaf file; absolute paths and relative paths containing
|
||||
directory names are not supported.
|
||||
The format of this field varies between the BSD and SVR4/GNU formats and
|
||||
is described in more detail in the section
|
||||
.Sx "Representing File Names"
|
||||
|
26
ar/ar.c
26
ar/ar.c
@ -72,7 +72,7 @@
|
||||
|
||||
#include "ar.h"
|
||||
|
||||
ELFTC_VCSID("$Id: ar.c 3319 2016-01-13 21:37:53Z jkoshy $");
|
||||
ELFTC_VCSID("$Id: ar.c 3629 2018-09-30 19:26:28Z jkoshy $");
|
||||
|
||||
enum options
|
||||
{
|
||||
@ -100,11 +100,12 @@ main(int argc, char **argv)
|
||||
struct bsdar *bsdar, bsdar_storage;
|
||||
char *arcmd, *argv1_saved;
|
||||
size_t len;
|
||||
int i, opt;
|
||||
int exitcode, i, opt;
|
||||
|
||||
bsdar = &bsdar_storage;
|
||||
memset(bsdar, 0, sizeof(*bsdar));
|
||||
|
||||
exitcode = EXIT_SUCCESS;
|
||||
arcmd = argv1_saved = NULL;
|
||||
bsdar->output = stdout;
|
||||
|
||||
@ -152,9 +153,9 @@ main(int argc, char **argv)
|
||||
|
||||
bsdar->options |= AR_S;
|
||||
while ((bsdar->filename = *argv++) != NULL)
|
||||
ar_write_archive(bsdar, 's');
|
||||
exitcode |= ar_write_archive(bsdar, 's');
|
||||
|
||||
exit(EXIT_SUCCESS);
|
||||
exit(exitcode);
|
||||
} else {
|
||||
if (argc < 2)
|
||||
bsdar_usage();
|
||||
@ -331,30 +332,33 @@ main(int argc, char **argv)
|
||||
|
||||
if ((!bsdar->mode || strchr("ptx", bsdar->mode)) &&
|
||||
bsdar->options & AR_S) {
|
||||
ar_write_archive(bsdar, 's');
|
||||
exitcode = ar_write_archive(bsdar, 's');
|
||||
if (!bsdar->mode)
|
||||
exit(EXIT_SUCCESS);
|
||||
exit(exitcode);
|
||||
}
|
||||
|
||||
switch(bsdar->mode) {
|
||||
case 'd': case 'm': case 'q': case 'r':
|
||||
ar_write_archive(bsdar, bsdar->mode);
|
||||
exitcode = ar_write_archive(bsdar, bsdar->mode);
|
||||
break;
|
||||
|
||||
case 'p': case 't': case 'x':
|
||||
ar_read_archive(bsdar, bsdar->mode);
|
||||
exitcode = ar_read_archive(bsdar, bsdar->mode);
|
||||
break;
|
||||
default:
|
||||
bsdar_usage();
|
||||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
for (i = 0; i < bsdar->argc; i++)
|
||||
if (bsdar->argv[i] != NULL)
|
||||
for (i = 0; i < bsdar->argc; i++) {
|
||||
if (bsdar->argv[i] != NULL) {
|
||||
bsdar_warnc(bsdar, 0, "%s: not found in archive",
|
||||
bsdar->argv[i]);
|
||||
exitcode = EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
exit(EXIT_SUCCESS);
|
||||
exit(exitcode);
|
||||
}
|
||||
|
||||
static void
|
||||
|
6
ar/ar.h
6
ar/ar.h
@ -23,7 +23,7 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: ar.h 2496 2012-04-24 02:33:40Z jkoshy $
|
||||
* $Id: ar.h 3629 2018-09-30 19:26:28Z jkoshy $
|
||||
*/
|
||||
|
||||
#include <libelf.h>
|
||||
@ -135,8 +135,8 @@ struct bsdar {
|
||||
};
|
||||
|
||||
void ar_mode_script(struct bsdar *ar);
|
||||
void ar_read_archive(struct bsdar *_ar, int _mode);
|
||||
void ar_write_archive(struct bsdar *_ar, int _mode);
|
||||
int ar_read_archive(struct bsdar *_ar, int _mode);
|
||||
int ar_write_archive(struct bsdar *_ar, int _mode);
|
||||
void bsdar_errc(struct bsdar *, int _code, const char *fmt, ...);
|
||||
int bsdar_is_pseudomember(struct bsdar *_ar, const char *_name);
|
||||
const char *bsdar_strmode(mode_t m);
|
||||
|
@ -21,11 +21,11 @@
|
||||
.\" out of the use of this software, even if advised of the possibility of
|
||||
.\" such damage.
|
||||
.\"
|
||||
.\" $Id: ranlib.1 3195 2015-05-12 17:22:19Z emaste $
|
||||
.\" $Id: ranlib.1 3642 2018-10-14 14:24:28Z jkoshy $
|
||||
.\"
|
||||
.Dd December 9, 2012
|
||||
.Os
|
||||
.Dt RANLIB 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm ranlib
|
||||
.Nd update archive symbol tables
|
||||
|
52
ar/read.c
52
ar/read.c
@ -34,16 +34,20 @@
|
||||
#include <errno.h>
|
||||
#include <libgen.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "ar.h"
|
||||
|
||||
ELFTC_VCSID("$Id: read.c 3180 2015-04-09 15:13:57Z emaste $");
|
||||
ELFTC_VCSID("$Id: read.c 3629 2018-09-30 19:26:28Z jkoshy $");
|
||||
|
||||
/*
|
||||
* Handle read modes: 'x', 't' and 'p'.
|
||||
*
|
||||
* Returns EXIT_SUCCESS if all operations completed successfully or returns
|
||||
* EXIT_FAILURE otherwise.
|
||||
*/
|
||||
void
|
||||
int
|
||||
ar_read_archive(struct bsdar *bsdar, int mode)
|
||||
{
|
||||
FILE *out;
|
||||
@ -60,8 +64,8 @@ ar_read_archive(struct bsdar *bsdar, int mode)
|
||||
gid_t gid;
|
||||
char **av;
|
||||
char buf[25];
|
||||
char find;
|
||||
int i, flags, r;
|
||||
int found;
|
||||
int exitcode, i, flags, r;
|
||||
|
||||
assert(mode == 'p' || mode == 't' || mode == 'x');
|
||||
|
||||
@ -70,6 +74,7 @@ ar_read_archive(struct bsdar *bsdar, int mode)
|
||||
archive_read_support_format_ar(a);
|
||||
AC(archive_read_open_filename(a, bsdar->filename, DEF_BLKSZ));
|
||||
|
||||
exitcode = EXIT_SUCCESS;
|
||||
out = bsdar->output;
|
||||
|
||||
for (;;) {
|
||||
@ -96,12 +101,27 @@ ar_read_archive(struct bsdar *bsdar, int mode)
|
||||
if (bsdar_is_pseudomember(bsdar, name))
|
||||
continue;
|
||||
|
||||
/* The ar(5) format only supports 'leaf' file names. */
|
||||
if (strchr(name, '/')) {
|
||||
bsdar_warnc(bsdar, 0, "ignoring entry: %s",
|
||||
name);
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* If we had been given a list of file names to process, check
|
||||
* that the current entry is present in this list.
|
||||
*/
|
||||
if (bsdar->argc > 0) {
|
||||
find = 0;
|
||||
found = 0;
|
||||
for(i = 0; i < bsdar->argc; i++) {
|
||||
av = &bsdar->argv[i];
|
||||
if (*av == NULL)
|
||||
continue;
|
||||
/*
|
||||
* Per POSIX, only the basename of a file
|
||||
* argument should be compared.
|
||||
*/
|
||||
if ((bname = basename(*av)) == NULL)
|
||||
bsdar_errc(bsdar, errno,
|
||||
"basename failed");
|
||||
@ -109,10 +129,10 @@ ar_read_archive(struct bsdar *bsdar, int mode)
|
||||
continue;
|
||||
|
||||
*av = NULL;
|
||||
find = 1;
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
if (!find)
|
||||
if (!found)
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -157,7 +177,7 @@ ar_read_archive(struct bsdar *bsdar, int mode)
|
||||
/* mode == 'x' */
|
||||
if (stat(name, &sb) != 0) {
|
||||
if (errno != ENOENT) {
|
||||
bsdar_warnc(bsdar, 0,
|
||||
bsdar_warnc(bsdar, errno,
|
||||
"stat %s failed",
|
||||
bsdar->filename);
|
||||
continue;
|
||||
@ -174,12 +194,6 @@ ar_read_archive(struct bsdar *bsdar, int mode)
|
||||
|
||||
if (bsdar->options & AR_V)
|
||||
(void)fprintf(out, "x - %s\n", name);
|
||||
/* Disallow absolute paths. */
|
||||
if (name[0] == '/') {
|
||||
bsdar_warnc(bsdar, 0,
|
||||
"Absolute path '%s'", name);
|
||||
continue;
|
||||
}
|
||||
/* Basic path security flags. */
|
||||
flags = ARCHIVE_EXTRACT_SECURE_SYMLINKS |
|
||||
ARCHIVE_EXTRACT_SECURE_NODOTDOT;
|
||||
@ -189,11 +203,19 @@ ar_read_archive(struct bsdar *bsdar, int mode)
|
||||
r = archive_read_extract(a, entry, flags);
|
||||
}
|
||||
|
||||
if (r)
|
||||
if (r) {
|
||||
bsdar_warnc(bsdar, 0, "%s",
|
||||
archive_error_string(a));
|
||||
exitcode = EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (r == ARCHIVE_FATAL)
|
||||
exitcode = EXIT_FAILURE;
|
||||
|
||||
AC(archive_read_close(a));
|
||||
ACV(archive_read_free(a));
|
||||
|
||||
return (exitcode);
|
||||
}
|
||||
|
31
ar/write.c
31
ar/write.c
@ -40,7 +40,7 @@
|
||||
|
||||
#include "ar.h"
|
||||
|
||||
ELFTC_VCSID("$Id: write.c 3183 2015-04-10 16:18:42Z emaste $");
|
||||
ELFTC_VCSID("$Id: write.c 3629 2018-09-30 19:26:28Z jkoshy $");
|
||||
|
||||
#define _ARMAG_LEN 8 /* length of the magic string */
|
||||
#define _ARHDR_LEN 60 /* length of the archive header */
|
||||
@ -352,17 +352,20 @@ read_objs(struct bsdar *bsdar, const char *archive, int checkargv)
|
||||
|
||||
/*
|
||||
* Write an archive.
|
||||
*
|
||||
* Returns EXIT_SUCCESS if the write succeeded or EXIT_FAILURE otherwise.
|
||||
*/
|
||||
void
|
||||
int
|
||||
ar_write_archive(struct bsdar *bsdar, int mode)
|
||||
{
|
||||
struct ar_obj *nobj, *obj, *obj_temp, *pos;
|
||||
struct stat sb;
|
||||
const char *bname;
|
||||
char **av;
|
||||
int i;
|
||||
int exitcode, i;
|
||||
|
||||
TAILQ_INIT(&bsdar->v_obj);
|
||||
exitcode = EXIT_SUCCESS;
|
||||
nobj = NULL;
|
||||
pos = NULL;
|
||||
memset(&sb, 0, sizeof(sb));
|
||||
@ -376,16 +379,16 @@ ar_write_archive(struct bsdar *bsdar, int mode)
|
||||
*/
|
||||
if (stat(bsdar->filename, &sb) != 0) {
|
||||
if (errno != ENOENT) {
|
||||
bsdar_warnc(bsdar, 0, "stat %s failed",
|
||||
bsdar_warnc(bsdar, errno, "stat %s failed",
|
||||
bsdar->filename);
|
||||
return;
|
||||
return (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/* We do not create archive in mode 'd', 'm' and 's'. */
|
||||
if (mode != 'r' && mode != 'q') {
|
||||
bsdar_warnc(bsdar, 0, "%s: no such file",
|
||||
bsdar->filename);
|
||||
return;
|
||||
return (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/* Issue a message if the '-c' option was not specified. */
|
||||
@ -474,8 +477,10 @@ ar_write_archive(struct bsdar *bsdar, int mode)
|
||||
*/
|
||||
nobj = create_obj_from_file(bsdar, *av,
|
||||
obj->mtime);
|
||||
if (nobj == NULL)
|
||||
if (nobj == NULL) {
|
||||
exitcode = EXIT_FAILURE;
|
||||
goto skip_obj;
|
||||
}
|
||||
}
|
||||
|
||||
if (bsdar->options & AR_V)
|
||||
@ -510,9 +515,13 @@ ar_write_archive(struct bsdar *bsdar, int mode)
|
||||
av = &bsdar->argv[i];
|
||||
if (*av != NULL && (mode == 'r' || mode == 'q')) {
|
||||
nobj = create_obj_from_file(bsdar, *av, 0);
|
||||
if (nobj != NULL)
|
||||
insert_obj(bsdar, nobj, pos);
|
||||
if (bsdar->options & AR_V && nobj != NULL)
|
||||
if (nobj == NULL) {
|
||||
exitcode = EXIT_FAILURE;
|
||||
*av = NULL;
|
||||
continue;
|
||||
}
|
||||
insert_obj(bsdar, nobj, pos);
|
||||
if (bsdar->options & AR_V)
|
||||
(void)fprintf(bsdar->output, "a - %s\n", *av);
|
||||
*av = NULL;
|
||||
}
|
||||
@ -521,6 +530,8 @@ ar_write_archive(struct bsdar *bsdar, int mode)
|
||||
write_objs:
|
||||
write_objs(bsdar);
|
||||
write_cleanup(bsdar);
|
||||
|
||||
return (exitcode);
|
||||
}
|
||||
|
||||
/*
|
||||
|
4
as/as.1
4
as/as.1
@ -22,11 +22,11 @@
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: as.1 2798 2012-12-22 09:02:50Z jkoshy $
|
||||
.\" $Id: as.1 3642 2018-10-14 14:24:28Z jkoshy $
|
||||
.\"
|
||||
.Dd December 22, 2012
|
||||
.Os
|
||||
.Dt AS 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm as
|
||||
.Nd an assembler
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $Id: native-elf-format 3293 2016-01-07 19:26:27Z emaste $
|
||||
# $Id: native-elf-format 3650 2018-11-25 12:06:28Z jkoshy $
|
||||
#
|
||||
# Find the native ELF format for a host platform by compiling a
|
||||
# test object and examining the resulting object.
|
||||
@ -35,7 +35,7 @@ $1 ~ "Machine:" {
|
||||
elfarch = "EM_386";
|
||||
} else if (match($0, "MIPS")) {
|
||||
elfarch = "EM_MIPS";
|
||||
} else if (match($0, ".*[xX]86-64")) {
|
||||
} else if (match($0, ".*[xX]86[-_]64")) {
|
||||
elfarch = "EM_X86_64";
|
||||
} else {
|
||||
elfarch = "unknown";
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: c++filt.1 3195 2015-05-12 17:22:19Z emaste $
|
||||
.\" $Id: c++filt.1 3642 2018-10-14 14:24:28Z jkoshy $
|
||||
.\"
|
||||
.Dd August 24, 2011
|
||||
.Os
|
||||
.Dt C++FILT 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm c++filt
|
||||
.Nd decode C++ symbols
|
||||
|
@ -21,11 +21,11 @@
|
||||
.\" out of the use of this software, even if advised of the possibility of
|
||||
.\" such damage.
|
||||
.\"
|
||||
.\" $Id: elfcopy.1 3565 2017-08-31 02:24:19Z emaste $
|
||||
.\" $Id: elfcopy.1 3642 2018-10-14 14:24:28Z jkoshy $
|
||||
.\"
|
||||
.Dd August 30, 2017
|
||||
.Os
|
||||
.Dt ELFCOPY 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm elfcopy ,
|
||||
.Nm objcopy
|
||||
|
@ -23,7 +23,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: elfcopy.h 3446 2016-05-03 01:31:17Z emaste $
|
||||
* $Id: elfcopy.h 3615 2018-05-17 04:12:24Z kaiwang27 $
|
||||
*/
|
||||
|
||||
#include <sys/queue.h>
|
||||
@ -127,6 +127,7 @@ struct section {
|
||||
uint64_t cap; /* section capacity */
|
||||
uint64_t align; /* section alignment */
|
||||
uint64_t type; /* section type */
|
||||
uint64_t flags; /* section flags */
|
||||
uint64_t vma; /* section virtual addr */
|
||||
uint64_t lma; /* section load addr */
|
||||
uint64_t pad_sz;/* section padding size */
|
||||
|
@ -21,11 +21,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: mcs.1 2247 2011-11-29 08:41:34Z jkoshy $
|
||||
.\" $Id: mcs.1 3642 2018-10-14 14:24:28Z jkoshy $
|
||||
.\"
|
||||
.Dd November 29, 2011
|
||||
.Os
|
||||
.Dt MCS 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm mcs
|
||||
.Nd manipulate the comment section of an ELF object
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
#include "elfcopy.h"
|
||||
|
||||
ELFTC_VCSID("$Id: sections.c 3443 2016-04-15 18:57:54Z kaiwang27 $");
|
||||
ELFTC_VCSID("$Id: sections.c 3646 2018-10-27 02:25:39Z emaste $");
|
||||
|
||||
static void add_gnu_debuglink(struct elfcopy *ecp);
|
||||
static uint32_t calc_crc32(const char *p, size_t len, uint32_t crc);
|
||||
@ -411,6 +411,7 @@ create_scn(struct elfcopy *ecp)
|
||||
s->sz = ish.sh_size;
|
||||
s->align = ish.sh_addralign;
|
||||
s->type = ish.sh_type;
|
||||
s->flags = ish.sh_flags;
|
||||
s->vma = ish.sh_addr;
|
||||
|
||||
/*
|
||||
@ -685,7 +686,7 @@ filter_reloc(struct elfcopy *ecp, struct section *s)
|
||||
Elf32_Rela *rela32;
|
||||
Elf64_Rela *rela64;
|
||||
Elf_Data *id;
|
||||
uint64_t cap, n, nrels;
|
||||
uint64_t cap, n, nrels, sym;
|
||||
int elferr, i;
|
||||
|
||||
if (gelf_getshdr(s->is, &ish) == NULL)
|
||||
@ -694,15 +695,13 @@ filter_reloc(struct elfcopy *ecp, struct section *s)
|
||||
|
||||
/* We don't want to touch relocation info for dynamic symbols. */
|
||||
if ((ecp->flags & SYMTAB_EXIST) == 0) {
|
||||
if (ish.sh_link == 0 || ecp->secndx[ish.sh_link] == 0) {
|
||||
/*
|
||||
* This reloc section applies to the symbol table
|
||||
* that was stripped, so discard whole section.
|
||||
*/
|
||||
s->nocopy = 1;
|
||||
s->sz = 0;
|
||||
}
|
||||
return;
|
||||
/*
|
||||
* No symbol table in output. If sh_link points to a section
|
||||
* that exists in the output object, this relocation section
|
||||
* is for dynamic symbols. Don't touch it.
|
||||
*/
|
||||
if (ish.sh_link != 0 && ecp->secndx[ish.sh_link] != 0)
|
||||
return;
|
||||
} else {
|
||||
/* Symbol table exist, check if index equals. */
|
||||
if (ish.sh_link != elf_ndxscn(ecp->symtab->is))
|
||||
@ -743,28 +742,45 @@ filter_reloc(struct elfcopy *ecp, struct section *s)
|
||||
if (gelf_getrel(id, i, &rel) != &rel)
|
||||
errx(EXIT_FAILURE, "gelf_getrel failed: %s",
|
||||
elf_errmsg(-1));
|
||||
sym = GELF_R_SYM(rel.r_info);
|
||||
} else {
|
||||
if (gelf_getrela(id, i, &rela) != &rela)
|
||||
errx(EXIT_FAILURE, "gelf_getrel failed: %s",
|
||||
elf_errmsg(-1));
|
||||
sym = GELF_R_SYM(rela.r_info);
|
||||
}
|
||||
name = elf_strptr(ecp->ein, elf_ndxscn(ecp->strtab->is),
|
||||
GELF_R_SYM(rel.r_info));
|
||||
if (name == NULL)
|
||||
errx(EXIT_FAILURE, "elf_strptr failed: %s",
|
||||
elf_errmsg(-1));
|
||||
if (lookup_symop_list(ecp, name, SYMOP_KEEP) != NULL) {
|
||||
if (ecp->oec == ELFCLASS32) {
|
||||
if (s->type == SHT_REL)
|
||||
COPYREL(rel, 32);
|
||||
else
|
||||
COPYREL(rela, 32);
|
||||
} else {
|
||||
if (s->type == SHT_REL)
|
||||
COPYREL(rel, 64);
|
||||
else
|
||||
COPYREL(rela, 64);
|
||||
}
|
||||
/*
|
||||
* If a relocation references a symbol and we are omitting
|
||||
* either that symbol or the entire symbol table we cannot
|
||||
* produce valid output, and so just omit the relocation.
|
||||
* Broken output like this is generally not useful, but some
|
||||
* uses of elfcopy/strip rely on it - for example, GCC's build
|
||||
* process uses it to check for build reproducibility by
|
||||
* stripping objects and comparing them.
|
||||
*
|
||||
* Relocations that do not reference a symbol are retained.
|
||||
*/
|
||||
if (sym != 0) {
|
||||
if (ish.sh_link == 0 || ecp->secndx[ish.sh_link] == 0)
|
||||
continue;
|
||||
name = elf_strptr(ecp->ein, elf_ndxscn(ecp->strtab->is),
|
||||
sym);
|
||||
if (name == NULL)
|
||||
errx(EXIT_FAILURE, "elf_strptr failed: %s",
|
||||
elf_errmsg(-1));
|
||||
if (lookup_symop_list(ecp, name, SYMOP_KEEP) == NULL)
|
||||
continue;
|
||||
}
|
||||
if (ecp->oec == ELFCLASS32) {
|
||||
if (s->type == SHT_REL)
|
||||
COPYREL(rel, 32);
|
||||
else
|
||||
COPYREL(rela, 32);
|
||||
} else {
|
||||
if (s->type == SHT_REL)
|
||||
COPYREL(rel, 64);
|
||||
else
|
||||
COPYREL(rela, 64);
|
||||
}
|
||||
}
|
||||
elferr = elf_errno();
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
#include "elfcopy.h"
|
||||
|
||||
ELFTC_VCSID("$Id: segments.c 3449 2016-05-03 13:59:29Z emaste $");
|
||||
ELFTC_VCSID("$Id: segments.c 3615 2018-05-17 04:12:24Z kaiwang27 $");
|
||||
|
||||
static void insert_to_inseg_list(struct segment *seg, struct section *sec);
|
||||
|
||||
@ -79,6 +79,8 @@ add_to_inseg_list(struct elfcopy *ecp, struct section *s)
|
||||
continue;
|
||||
if (s->vma + s->sz > seg->vaddr + seg->msz)
|
||||
continue;
|
||||
if (seg->type == PT_TLS && ((s->flags & SHF_TLS) == 0))
|
||||
continue;
|
||||
|
||||
insert_to_inseg_list(seg, s);
|
||||
if (seg->type == PT_LOAD)
|
||||
|
@ -21,11 +21,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: strip.1 2069 2011-10-26 15:53:48Z jkoshy $
|
||||
.\" $Id: strip.1 3642 2018-10-14 14:24:28Z jkoshy $
|
||||
.\"
|
||||
.Dd September 17, 2011
|
||||
.Os
|
||||
.Dt STRIP 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm strip
|
||||
.Nd discard information from ELF objects
|
||||
|
@ -22,11 +22,11 @@
|
||||
\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: isa.1 3195 2015-05-12 17:22:19Z emaste $
|
||||
.\" $Id: isa.1 3642 2018-10-14 14:24:28Z jkoshy $
|
||||
.\"
|
||||
.Dd January 13, 2013
|
||||
.Os
|
||||
.Dt ISA 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm isa
|
||||
.Nd instruction set analyser
|
||||
|
2
ld/ld.1
2
ld/ld.1
@ -25,8 +25,8 @@
|
||||
.\" $Id$
|
||||
.\"
|
||||
.Dd February 14, 2016
|
||||
.Os
|
||||
.Dt LD 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm ld
|
||||
.Nd link editor
|
||||
|
@ -21,11 +21,11 @@
|
||||
.\" out of the use of this software, even if advised of the possibility of
|
||||
.\" such damage.
|
||||
.\"
|
||||
.\" $Id: dwarf.3 3295 2016-01-08 22:08:10Z jkoshy $
|
||||
.\" $Id: dwarf.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd December 21, 2014
|
||||
.Os
|
||||
.Dt DWARF 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf
|
||||
.Nd access debugging information in object files
|
||||
@ -34,7 +34,6 @@
|
||||
.Sh SYNOPSIS
|
||||
.In libdwarf.h
|
||||
.Sh DESCRIPTION
|
||||
.Pp
|
||||
The
|
||||
.Lb libdwarf
|
||||
provides functions that allow an application to read and write debugging
|
||||
@ -129,7 +128,6 @@ A descriptor representing a static variable.
|
||||
A descriptor representing a weak name.
|
||||
.El
|
||||
.Ss Error Handling
|
||||
.Pp
|
||||
Library functions that encounter an error will return with a value
|
||||
other than
|
||||
.Dv DW_DLV_OK .
|
||||
@ -173,7 +171,7 @@ below.
|
||||
.Pp
|
||||
.Bl -tag -compact -width "CCCC"
|
||||
.It Abbreviations
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_get_abbrev
|
||||
Retrieve abbreviation information at a given offset.
|
||||
.It Fn dwarf_get_abbrev_children_flag
|
||||
@ -187,7 +185,7 @@ descriptor.
|
||||
Retrieve the tag for an abbreviation entry.
|
||||
.El
|
||||
.It Addresses
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_get_address_size
|
||||
Return the number of bytes needed to represent an address.
|
||||
.It Fn dwarf_get_arange
|
||||
@ -206,7 +204,7 @@ Retrieve information about non-contiguous address ranges for
|
||||
a debugging information entry.
|
||||
.El
|
||||
.It Attributes
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_arrayorder
|
||||
Retrieve the value of a
|
||||
.Dv DW_AT_ordering
|
||||
@ -279,7 +277,7 @@ Retrieve the attribute code for an attribute.
|
||||
Retrieve the form of an attribute.
|
||||
.El
|
||||
.It Call Information Entries and Frame Descriptor Entries
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_get_cie_index
|
||||
Retrieve the index for a CIE descriptor.
|
||||
.It Fn dwarf_get_cie_info
|
||||
@ -308,7 +306,7 @@ Retrieve an FDE descriptor.
|
||||
Retrieve range information from an FDE descriptor.
|
||||
.El
|
||||
.It Compilation Units
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Xo
|
||||
.Fn dwarf_get_cu_die_offset_given_cu_header_offset ,
|
||||
.Fn dwarf_get_cu_die_offset_given_cu_header_offset_b
|
||||
@ -323,7 +321,7 @@ compilation or type unit.
|
||||
Step through compilation units in a debug context.
|
||||
.El
|
||||
.It Debugging Information Entries
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_child
|
||||
Returns the child of a debugging information entry.
|
||||
.It Fn dwarf_die_abbrev_code
|
||||
@ -353,7 +351,7 @@ entry.
|
||||
Retrieve the tag for a debugging information entry.
|
||||
.El
|
||||
.It Functions
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_func_cu_offset
|
||||
Retrieves the offset for the compilation unit for a function.
|
||||
.It Fn dwarf_func_die_offset
|
||||
@ -367,7 +365,7 @@ Retrieve both the name and offsets for a function.
|
||||
Retrieve information about static functions.
|
||||
.El
|
||||
.It Globals
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_get_globals
|
||||
Retrieve a list of globals.
|
||||
.It Fn dwarf_global_cu_offset
|
||||
@ -396,7 +394,7 @@ and
|
||||
allow an application to specify alternate low-level file access
|
||||
routines.
|
||||
.It Line Numbers
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_lineaddr
|
||||
Retrieve the program address for a source line.
|
||||
.It Fn dwarf_linebeginstatement
|
||||
@ -420,7 +418,7 @@ Retrieve source files for a compilation unit.
|
||||
Return line number information for a compilation unit.
|
||||
.El
|
||||
.It Location Lists
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_get_loclist_entry
|
||||
Retrieve a location list entry.
|
||||
.It Fn dwarf_loclist , Fn dwarf_loclist_n
|
||||
@ -433,7 +431,7 @@ Retrieve location expressions.
|
||||
Translate a location expression into a location descriptor.
|
||||
.El
|
||||
.It Error Handling
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_errmsg
|
||||
Retrieve a human-readable error message.
|
||||
.It Fn dwarf_errno
|
||||
@ -444,7 +442,7 @@ Set the argument passed to a callback error handler.
|
||||
Set the callback handler to be called in case of an error.
|
||||
.El
|
||||
.It Frame Handling
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_expand_frame_instructions
|
||||
Translate frame instruction bytes.
|
||||
.It Fn dwarf_set_frame_cfa_value
|
||||
@ -464,7 +462,7 @@ Set the register number representing the
|
||||
rule.
|
||||
.El
|
||||
.It Macros
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_find_macro_value_start
|
||||
Return the macro value part of a macro string.
|
||||
.It Fn dwarf_get_macro_details
|
||||
@ -523,7 +521,7 @@ for DWARF constants:
|
||||
and
|
||||
.Fn dwarf_get_VIS_name .
|
||||
.It Types
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_get_pubtypes , Fn dwarf_get_types
|
||||
Retrieve descriptors for user-defined types.
|
||||
.It Fn dwarf_next_types_section
|
||||
@ -540,7 +538,7 @@ Retrieve the name of a type.
|
||||
Retrieve the name and offsets for a type.
|
||||
.El
|
||||
.It Variables
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_get_vars
|
||||
Retrieve descriptors for static variables.
|
||||
.It Fn dwarf_var_cu_offset
|
||||
@ -553,7 +551,7 @@ Retrieve the name of a variable.
|
||||
Retrieve the name and offsets for a variable.
|
||||
.El
|
||||
.It Weak Symbols
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_get_weaks
|
||||
Retrieve information about weak symbols.
|
||||
.It Fn dwarf_weak_cu_offset
|
||||
@ -566,7 +564,7 @@ Retrieve the name of a weak symbol.
|
||||
Retrieve the name and offsets for a weak symbol.
|
||||
.El
|
||||
.It Miscellaneous
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_get_elf
|
||||
Retrieve the ELF descriptor for a debug context, see
|
||||
.Xr elf 3 .
|
||||
@ -605,7 +603,7 @@ information entry:
|
||||
and
|
||||
.Fn dwarf_add_AT_unsigned_const .
|
||||
.It Debugging Information Entry Management
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_add_die_to_debug
|
||||
Set the root debugging information entry for a DWARF producer instance.
|
||||
.It Fn dwarf_die_link
|
||||
@ -623,7 +621,7 @@ are used to initialize a producer instance.
|
||||
When done, applications release resources using the function
|
||||
.Fn dwarf_producer_finish .
|
||||
.It Relocations and Sections
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_get_relocation_info
|
||||
Retrieve a relocation array from a producer instance.
|
||||
.It Fn dwarf_get_relocation_info_count
|
||||
@ -636,7 +634,7 @@ Reset internal state for a producer instance.
|
||||
Prepare byte streams for writing out.
|
||||
.El
|
||||
.It Macros
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_def_macro
|
||||
Add a macro definition.
|
||||
.It Fn dwarf_end_macro_file , Fn dwarf_start_macro_file
|
||||
@ -647,7 +645,7 @@ Note the removal of a macro definition.
|
||||
Enables storing macro information as specified in the DWARF standard.
|
||||
.El
|
||||
.It Symbols, Expressions, Addresses and Offsets
|
||||
.Bl -tag -compact
|
||||
.Bl -tag -compact -width indent
|
||||
.It Fn dwarf_add_arange , Fn dwarf_add_arange_b
|
||||
Add address range information.
|
||||
.It Fn dwarf_add_directory_decl
|
||||
@ -741,7 +739,9 @@ The DWARF(3) API originated at Silicon Graphics Inc.
|
||||
.Pp
|
||||
A BSD-licensed implementation of a subset of the API was written by
|
||||
.An John Birrell Aq Mt jb@FreeBSD.org
|
||||
for the FreeBSD project.
|
||||
for the
|
||||
.Fx
|
||||
project.
|
||||
The implementation was subsequently revised and completed by
|
||||
.An Kai Wang Aq Mt kaiwang27@users.sourceforge.net .
|
||||
.Pp
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_comp_dir.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_comp_dir.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_COMP_DIR 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_comp_dir
|
||||
.Nd create and attach a DW_AT_comp_dir attribute
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_const_value_string.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_const_value_string.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_CONST_VALUE_STRING 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_const_value_signedint ,
|
||||
.Nm dwarf_add_AT_const_value_string ,
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_dataref.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_dataref.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_DATAREF 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_dataref
|
||||
.Nd create an attribute descriptor for a relocatable address
|
||||
@ -113,8 +113,8 @@ function.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_add_AT_reference 3 ,
|
||||
.Xr dwarf_add_AT_ref_address 3 ,
|
||||
.Xr dwarf_add_AT_reference 3 ,
|
||||
.Xr dwarf_add_AT_signed_const 3 ,
|
||||
.Xr dwarf_add_AT_unsigned_const 3 ,
|
||||
.Xr dwarf_new_die 3 ,
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_flag.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_flag.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_FLAG 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_flag
|
||||
.Nd create and attach a flag attribute
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_location_expr.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_location_expr.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 5, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_LOCATION_EXPR 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_location_expr
|
||||
.Nd create an attribute descriptor for a location expression
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_name.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_name.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_NAME 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_name
|
||||
.Nd create and attach a DW_AT_name attribute
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_producer.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_producer.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_PRODUCER 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_producer
|
||||
.Nd create and attach a DW_AT_producer attribute
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_ref_address.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_ref_address.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 7, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_REF_ADDRESS 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_ref_address
|
||||
.Nd create a reference class attribute descriptor
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_reference.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_reference.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_REFERENCE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_reference
|
||||
.Nd create and attach an attribute that references another DIE
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_signed_const.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_signed_const.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_SIGNED_CONST 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_signed_const ,
|
||||
.Nm dwarf_add_AT_unsigned_const
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_string.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_string.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_STRING 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_string
|
||||
.Nd create and attach a string class attribute
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_AT_targ_address.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_AT_targ_address.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_AT_TARG_ADDRESS 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_AT_targ_address ,
|
||||
.Nm dwarf_add_AT_targ_address_b
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_arange.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_arange.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 18, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_ARANGE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_arange ,
|
||||
.Nm dwarf_add_arange_b
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_die_to_debug.3 2938 2013-04-27 05:09:17Z jkoshy $
|
||||
.\" $Id: dwarf_add_die_to_debug.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd August 21, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_DIE_TO_DEBUG 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_die_to_debug
|
||||
.Nd set the root debugging information entry
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_directory_decl.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_directory_decl.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 17, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_DIRECTORY_DECL 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_directory_decl
|
||||
.Nd add a directory name to a producer instance
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_expr_addr.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_expr_addr.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 9, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_EXPR_ADDR 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_expr_addr ,
|
||||
.Nm dwarf_add_expr_addr_b
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_expr_gen.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_expr_gen.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 9, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_EXPR_GEN 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_expr_gen
|
||||
.Nd add an operator to a location expression descriptor
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_fde_inst.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_fde_inst.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd September 26, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_FDE_INST 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_fde_inst
|
||||
.Nd add a call frame instruction to a DWARF frame descriptor
|
||||
@ -101,9 +101,9 @@ function.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_add_frame_cie 3 ,
|
||||
.Xr dwarf_add_frame_fde 3 ,
|
||||
.Xr dwarf_add_frame_fde_b 3 ,
|
||||
.Xr dwarf_add_frame_cie 3 ,
|
||||
.Xr dwarf_fde_cfa_offset 3 ,
|
||||
.Xr dwarf_new_fde 3
|
||||
.Rs
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_file_decl.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_file_decl.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 17, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_FILE_DECL 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_file_decl
|
||||
.Nd add a source file entry to a producer instance
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_frame_cie.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_frame_cie.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 26, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_FRAME_CIE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_frame_cie
|
||||
.Nd add a call frame common information entry to a DWARF producer instance
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_frame_fde.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_frame_fde.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 26, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_FRAME_FDE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_frame_fde
|
||||
.Nd add a call frame descriptor to a DWARF producer instance
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_funcname.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_funcname.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 24, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_FUNCNAME 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_funcname
|
||||
.Nd add information about a static function to a DWARF producer instance
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_line_entry.3 3182 2015-04-10 16:08:10Z emaste $
|
||||
.\" $Id: dwarf_add_line_entry.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd June 30, 2013
|
||||
.Os
|
||||
.Dt DWARF_ADD_LINE_ENTRY 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_line_entry
|
||||
.Nd add a line number information entry to a producer instance
|
||||
@ -109,24 +109,7 @@ returns
|
||||
.Dv DW_DLV_NOCOUNT
|
||||
and sets the argument
|
||||
.Ar err .
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_add_line_entry
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_ARGUMENT"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
Argument
|
||||
.Ar dbg
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
The function
|
||||
.Xr dwarf_lne_set_address 3
|
||||
was not called before calling this function.
|
||||
.It Bq Er DW_DLE_MEMORY
|
||||
An out of memory condition was encountered during the execution of the
|
||||
function.
|
||||
.El
|
||||
.Sh EXAMPLE
|
||||
.Sh EXAMPLES
|
||||
To add line number information to the producer instance, use:
|
||||
.Bd -literal -offset indent
|
||||
Dwarf_P_Debug dbg;
|
||||
@ -154,6 +137,23 @@ if (dwarf_add_line_entry(dbg, filendx, 10, 258, 0, 1, 1, &de) !=
|
||||
errx(EXIT_FAILURE, "dwarf_add_line_entry failed: %s",
|
||||
dwarf_errmsg(-1));
|
||||
.Ed
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_add_line_entry
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_ARGUMENT"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
Argument
|
||||
.Ar dbg
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
The function
|
||||
.Xr dwarf_lne_set_address 3
|
||||
was not called before calling this function.
|
||||
.It Bq Er DW_DLE_MEMORY
|
||||
An out of memory condition was encountered during the execution of the
|
||||
function.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_add_directory_decl 3 ,
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_pubname.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_pubname.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 24, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_PUBNAME 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_pubname
|
||||
.Nd add information about a global object to a DWARF producer instance
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_typename.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_typename.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 24, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_TYPENAME 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_typename
|
||||
.Nd add information about a user-defined type to a DWARF producer instance
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_varname.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_varname.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 24, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_VARNAME 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_varname
|
||||
.Nd add information about a static variable to a DWARF producer instance
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_add_weakname.3 2072 2011-10-27 03:26:49Z jkoshy $
|
||||
.\" $Id: dwarf_add_weakname.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 24, 2011
|
||||
.Os
|
||||
.Dt DWARF_ADD_WEAKNAME 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_add_weakname
|
||||
.Nd add information about a weak object to a DWARF producer instance
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_attr.3 3093 2014-09-02 22:09:40Z kaiwang27 $
|
||||
.\" $Id: dwarf_attr.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd April 8, 2010
|
||||
.Os
|
||||
.Dt DWARF_ATTR 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_attr
|
||||
.Nd retrieve an attribute descriptor associated with a DWARF debugging information entry
|
||||
@ -80,7 +80,8 @@ of an error.
|
||||
Function
|
||||
.Fn dwarf_attr
|
||||
returns
|
||||
.Dv DW_DLV_OK on success.
|
||||
.Dv DW_DLV_OK
|
||||
on success.
|
||||
.Pp
|
||||
If the debugging information entry descriptor denoted by argument
|
||||
.Ar die
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_attrlist.3 2122 2011-11-09 15:35:14Z jkoshy $
|
||||
.\" $Id: dwarf_attrlist.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd November 9, 2011
|
||||
.Os
|
||||
.Dt DWARF_ATTRLIST 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_attrlist
|
||||
.Nd retrieve DWARF attribute descriptors
|
||||
@ -82,7 +82,8 @@ function.
|
||||
Function
|
||||
.Fn dwarf_attrlist
|
||||
returns
|
||||
.Dv DW_DLV_OK on success.
|
||||
.Dv DW_DLV_OK
|
||||
on success.
|
||||
.Pp
|
||||
If the debugging information entry descriptor denoted by argument
|
||||
.Ar die
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_attroffset.3 3115 2014-12-20 18:26:46Z jkoshy $
|
||||
.\" $Id: dwarf_attroffset.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd December 20, 2014
|
||||
.Os
|
||||
.Dt DWARF_ATTROFFSET 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_attroffset
|
||||
.Nd retrieve the section-relative offset of an attribute descriptor
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_attrval_signed.3 3509 2016-12-29 03:58:41Z emaste $
|
||||
.\" $Id: dwarf_attrval_signed.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd December 26, 2016
|
||||
.Os
|
||||
.Dt DWARF_ATTRVAL_SIGNED 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_attrval_flag ,
|
||||
.Nm dwarf_attrval_signed ,
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_child.3 3127 2014-12-21 19:09:19Z jkoshy $
|
||||
.\" $Id: dwarf_child.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd December 21, 2014
|
||||
.Os
|
||||
.Dt DWARF_CHILD 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_child ,
|
||||
.Nm dwarf_offdie ,
|
||||
@ -215,27 +215,6 @@ there was no debugging information entry at the offset specified by
|
||||
argument
|
||||
.Ar offset .
|
||||
.El
|
||||
.Sh ERRORS
|
||||
These functions may fail with the following errors:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_DIE_NO_CU_CONTEXT"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
Arguments
|
||||
.Ar dbg ,
|
||||
.Ar die
|
||||
or
|
||||
.Ar ret_die
|
||||
were NULL.
|
||||
.It Bq Er DW_DLE_DIE_NO_CU_CONTEXT
|
||||
Argument
|
||||
.Ar dbg
|
||||
was not associated with a compilation unit.
|
||||
.It Bq Er DW_DLE_NO_ENTRY
|
||||
The descriptor denoted by argument
|
||||
.Ar die
|
||||
had no child or sibling, or there was no DWARF debugging information
|
||||
entry at the offset specified by argument
|
||||
.Va offset .
|
||||
.El
|
||||
.Sh EXAMPLES
|
||||
To retrieve the first DWARF Debugging Information Entry descriptor for
|
||||
the first compilation unit associated with a
|
||||
@ -271,8 +250,29 @@ do {
|
||||
dwarf_errmsg(de));
|
||||
} while (die0 != NULL);
|
||||
.Ed
|
||||
.Sh ERRORS
|
||||
These functions may fail with the following errors:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_DIE_NO_CU_CONTEXT"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
Arguments
|
||||
.Ar dbg ,
|
||||
.Ar die
|
||||
or
|
||||
.Ar ret_die
|
||||
were NULL.
|
||||
.It Bq Er DW_DLE_DIE_NO_CU_CONTEXT
|
||||
Argument
|
||||
.Ar dbg
|
||||
was not associated with a compilation unit.
|
||||
.It Bq Er DW_DLE_NO_ENTRY
|
||||
The descriptor denoted by argument
|
||||
.Ar die
|
||||
had no child or sibling, or there was no DWARF debugging information
|
||||
entry at the offset specified by argument
|
||||
.Va offset .
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_errmsg 3 ,
|
||||
.Xr dwarf_get_die_infotypes_flag.3 ,
|
||||
.Xr dwarf_get_die_infotypes_flag 3 ,
|
||||
.Xr dwarf_next_cu_header 3
|
||||
|
@ -21,11 +21,11 @@
|
||||
.\" out of the use of this software, even if advised of the possibility of
|
||||
.\" such damage.
|
||||
.\"
|
||||
.\" $Id: dwarf_dealloc.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_dealloc.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd July 23, 2011
|
||||
.Os
|
||||
.Dt DWARF_DEALLOC 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_dealloc ,
|
||||
.Nm dwarf_fde_cie_list_dealloc ,
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_def_macro.3 3182 2015-04-10 16:08:10Z emaste $
|
||||
.\" $Id: dwarf_def_macro.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd November 9, 2011
|
||||
.Os
|
||||
.Dt DWARF_DEF_MACRO 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_def_macro
|
||||
.Nd add a macro definition to a DWARF producer instance
|
||||
@ -91,7 +91,7 @@ returns
|
||||
.Dv DW_DLV_ERROR
|
||||
and sets the argument
|
||||
.Ar err .
|
||||
.Sh EXAMPLE
|
||||
.Sh EXAMPLES
|
||||
To record the fact that a macro named
|
||||
.Dv _STDIO_H_
|
||||
was defined at line 20 of the current macro file, use:
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_die_abbrev_code.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_die_abbrev_code.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd April 14, 2010
|
||||
.Os
|
||||
.Dt DWARF_DIE_ABBREV_CODE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_die_abbrev_code
|
||||
.Nd retrieve the abbreviation code for a DWARF debugging information entry
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_die_link.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_die_link.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_DIE_LINK 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_die_link
|
||||
.Nd link a debugging information entry
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_diename.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_diename.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd March 31, 2010
|
||||
.Os
|
||||
.Dt DWARF_DIENAME 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_diename
|
||||
.Nd retrieve the name associated with a debugging information entry
|
||||
@ -51,7 +51,8 @@ pointed to by argument
|
||||
Function
|
||||
.Fn dwarf_diename
|
||||
returns
|
||||
.Dv DW_DLV_OK on success.
|
||||
.Dv DW_DLV_OK
|
||||
on success.
|
||||
.Pp
|
||||
If the debugging information entry descriptor denoted by argument
|
||||
.Ar die
|
||||
@ -85,6 +86,6 @@ attribute.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_tag 3 ,
|
||||
.Xr dwarf_die_abbrev_code 3 ,
|
||||
.Xr dwarf_dieoffset 3 ,
|
||||
.Xr dwarf_die_abbrev_code 3
|
||||
.Xr dwarf_tag 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_dieoffset.3 3129 2014-12-21 20:06:26Z jkoshy $
|
||||
.\" $Id: dwarf_dieoffset.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd December 21, 2014
|
||||
.Os
|
||||
.Dt DWARF_DIEOFFSET 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_die_CU_offset ,
|
||||
.Nm dwarf_die_CU_offset_range ,
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_end_macro_file.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_end_macro_file.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd September 25, 2011
|
||||
.Os
|
||||
.Dt DWARF_END_MACRO_FILE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_end_macro_file
|
||||
.Nd mark the end of the current source file inclusion
|
||||
@ -38,7 +38,6 @@
|
||||
.Fo dwarf_end_macro_file
|
||||
.Fa "Dwarf_P_Debug dbg"
|
||||
.Fa "Dwarf_Error *err"
|
||||
.Fa
|
||||
.Fc
|
||||
.Sh DESCRIPTION
|
||||
Function
|
||||
|
@ -21,11 +21,11 @@
|
||||
.\" out of the use of this software, even if advised of the possibility of
|
||||
.\" such damage.
|
||||
.\"
|
||||
.\" $Id: dwarf_errmsg.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_errmsg.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd December 12, 2009
|
||||
.Os
|
||||
.Dt DWARF_ERRMSG 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_errmsg
|
||||
.Nd retrieve a human-readable string corresponding to a
|
||||
|
@ -21,11 +21,11 @@
|
||||
.\" out of the use of this software, even if advised of the possibility of
|
||||
.\" such damage.
|
||||
.\"
|
||||
.\" $Id: dwarf_errno.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_errno.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd March 25, 2010
|
||||
.Os
|
||||
.Dt DWARF_ERRNO 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_errno
|
||||
.Nd retrieve the error number corresponding to a
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_expand_frame_instructions.3 3181 2015-04-10 13:22:51Z emaste $
|
||||
.\" $Id: dwarf_expand_frame_instructions.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd November 9, 2011
|
||||
.Os
|
||||
.Dt DWARF_EXPAND_FRAME_INSTRUCTIONS 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_expand_frame_instructions
|
||||
.Nd expand frame instructions
|
||||
@ -104,32 +104,7 @@ In case of an error, it returns
|
||||
.Dv DW_DLV_ERROR
|
||||
and sets the argument
|
||||
.Ar err .
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_expand_frame_instructions
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_ARGUMENT"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar cie ,
|
||||
.Ar instructions ,
|
||||
.Ar ret_ops
|
||||
or
|
||||
.Ar ret_opcnt
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
Argument
|
||||
.Ar len
|
||||
was 0.
|
||||
.It Bq Er DW_DLE_MEMORY
|
||||
An out of memory condition was encountered during the execution of
|
||||
this function.
|
||||
.It Bq Er DW_DLE_FRAME_INSTR_EXEC_ERROR
|
||||
An unknown instruction was found in the instruction bytes provided
|
||||
in argument
|
||||
.Ar instructions .
|
||||
.El
|
||||
.Sh EXAMPLE
|
||||
.Sh EXAMPLES
|
||||
To retrieve and expand the frame instructions for a given FDE
|
||||
descriptor, use:
|
||||
.Bd -literal -offset indent
|
||||
@ -164,12 +139,37 @@ for (i = 0; i < opcnt; i++) {
|
||||
/* Free the memory area when no longer needed. */
|
||||
dwarf_dealloc(dbg, ops, DW_DLA_FRAME_BLOCK);
|
||||
.Ed
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_expand_frame_instructions
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_ARGUMENT"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar cie ,
|
||||
.Ar instructions ,
|
||||
.Ar ret_ops
|
||||
or
|
||||
.Ar ret_opcnt
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
Argument
|
||||
.Ar len
|
||||
was 0.
|
||||
.It Bq Er DW_DLE_MEMORY
|
||||
An out of memory condition was encountered during the execution of
|
||||
this function.
|
||||
.It Bq Er DW_DLE_FRAME_INSTR_EXEC_ERROR
|
||||
An unknown instruction was found in the instruction bytes provided
|
||||
in argument
|
||||
.Ar instructions .
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_frame_instructions_dealloc 3 ,
|
||||
.Xr dwarf_get_cie_info 3 ,
|
||||
.Xr dwarf_get_cie_index 3 ,
|
||||
.Xr dwarf_get_cie_of_fde ,
|
||||
.Xr dwarf_get_cie_info 3 ,
|
||||
.Xr dwarf_get_cie_of_fde 3 ,
|
||||
.Xr dwarf_get_fde_at_pc 3 ,
|
||||
.Xr dwarf_get_fde_info_for_all_regs 3 ,
|
||||
.Xr dwarf_get_fde_info_for_all_regs3 3 ,
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_expr_current_offset.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_expr_current_offset.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 13, 2011
|
||||
.Os
|
||||
.Dt DWARF_EXPR_CURRENT_OFFSET 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_expr_current_offset
|
||||
.Nd retrieve the number of bytes in a location expression stream
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_expr_into_block.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_expr_into_block.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd September 13, 2011
|
||||
.Os
|
||||
.Dt DWARF_EXPR_INTO_BLOCK 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_expr_into_block
|
||||
.Nd retrieve the byte stream for a location expression
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_fde_cfa_offset.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_fde_cfa_offset.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd September 26, 2011
|
||||
.Os
|
||||
.Dt DWARF_FDE_CFA_OFFSET 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_fde_cfa_offset
|
||||
.Nd add a DW_CFA_offset frame instruction to a DWARF frame descriptor
|
||||
@ -93,7 +93,7 @@ function.
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_add_fde_inst 3 ,
|
||||
.Xr dwarf_add_frame_cie 3 ,
|
||||
.Xr dwarf_add_frame_fde 3 ,
|
||||
.Xr dwarf_add_frame_fde_b 3 ,
|
||||
.Xr dwarf_add_frame_cie 3 ,
|
||||
.Xr dwarf_new_fde 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_find_macro_value_start.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_find_macro_value_start.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd March 26, 2011
|
||||
.Os
|
||||
.Dt DWARF_FIND_MACRO_VALUE_START 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_find_macro_value_start
|
||||
.Nd return the address of the first byte of a macro value
|
||||
|
@ -21,11 +21,11 @@
|
||||
.\" out of the use of this software, even if advised of the possibility of
|
||||
.\" such damage.
|
||||
.\"
|
||||
.\" $Id: dwarf_finish.3 2122 2011-11-09 15:35:14Z jkoshy $
|
||||
.\" $Id: dwarf_finish.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd November 9, 2011
|
||||
.Os
|
||||
.Dt DWARF_FINISH 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_finish ,
|
||||
.Nm dwarf_object_finish
|
||||
@ -133,8 +133,8 @@ if (dwarf_finish(dbg, &de) != DW_DLV_OK)
|
||||
(void) elf_end(e);
|
||||
.Ed
|
||||
.Sh SEE ALSO
|
||||
.Xr elf_end 3 ,
|
||||
.Xr dwarf_elf_init 3 ,
|
||||
.Xr dwarf_get_elf 3 ,
|
||||
.Xr dwarf_init 3 ,
|
||||
.Xr dwarf_object_init 3
|
||||
.Xr dwarf_object_init 3 ,
|
||||
.Xr elf_end 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_formaddr.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_formaddr.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd July 23, 2010
|
||||
.Os
|
||||
.Dt DWARF_FORMADDR 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_formaddr
|
||||
.Nd return the value of an ADDRESS class attribute
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_formblock.3 3182 2015-04-10 16:08:10Z emaste $
|
||||
.\" $Id: dwarf_formblock.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd July 23, 2010
|
||||
.Os
|
||||
.Dt DWARF_FORMBLOCK 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_formblock
|
||||
.Nd return the value of a BLOCK attribute
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_formexprloc.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_formexprloc.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd July 25, 2010
|
||||
.Os
|
||||
.Dt DWARF_FORMEXPRLOC 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_formexprloc
|
||||
.Nd return information about a location expression
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_formflag.3 3181 2015-04-10 13:22:51Z emaste $
|
||||
.\" $Id: dwarf_formflag.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd June 21, 2010
|
||||
.Os
|
||||
.Dt DWARF_FORMFLAG 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_formflag
|
||||
.Nd return the value of a BOOLEAN class attribute
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_formref.3 3181 2015-04-10 13:22:51Z emaste $
|
||||
.\" $Id: dwarf_formref.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd June 21, 2010
|
||||
.Os
|
||||
.Dt DWARF_FORMREF 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_formref ,
|
||||
.Nm dwarf_global_formref
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_formsig8.3 3181 2015-04-10 13:22:51Z emaste $
|
||||
.\" $Id: dwarf_formsig8.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd July 24, 2010
|
||||
.Os
|
||||
.Dt DWARF_FORMSIG8 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_formsig8
|
||||
.Nd return the 64-bit type signature for a DWARF type
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_formstring.3 2073 2011-10-27 03:30:47Z jkoshy $
|
||||
.\" $Id: dwarf_formstring.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd July 24, 2010
|
||||
.Os
|
||||
.Dt DWARF_FORMSTRING 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_formstring
|
||||
.Nd return the value of a STRING class attribute
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_formudata.3 3181 2015-04-10 13:22:51Z emaste $
|
||||
.\" $Id: dwarf_formudata.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd June 21, 2010
|
||||
.Os
|
||||
.Dt DWARF_FORMUDATA 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_formudata ,
|
||||
.Nm dwarf_formsdata
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_AT_name.3 3142 2015-01-29 23:11:14Z jkoshy $
|
||||
.\" $Id: dwarf_get_AT_name.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd April 22, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_AT_NAME 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_ACCESS_name ,
|
||||
.Nm dwarf_get_AT_name ,
|
||||
@ -250,7 +250,8 @@ constants.
|
||||
.El
|
||||
.Sh RETURN VALUES
|
||||
These functions return
|
||||
.Dv DW_DLV_OK on success.
|
||||
.Dv DW_DLV_OK
|
||||
on success.
|
||||
If the DWARF constant denoted by argument
|
||||
.Ar val
|
||||
is not recognized, these function return
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_abbrev.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_abbrev.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd March 27, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_ABBREV 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_abbrev
|
||||
.Nd retrieve abbreviation information
|
||||
@ -123,24 +123,7 @@ In case of an error, it returns
|
||||
.Dv DW_DLV_ERROR
|
||||
and sets the argument
|
||||
.Ar err .
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_get_abbrev
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_NO_ENTRY"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar dbg ,
|
||||
.Ar ret_abbrev ,
|
||||
.Ar length
|
||||
or
|
||||
.Ar attr_count
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_NO_ENTRY
|
||||
There is no abbreviation information at offset
|
||||
.Ar offset .
|
||||
.El
|
||||
.Sh EXAMPLE
|
||||
.Sh EXAMPLES
|
||||
To loop through all the abbreviation information associated with
|
||||
a DWARF debug context, use:
|
||||
.Bd -literal -offset indent
|
||||
@ -170,10 +153,27 @@ while ((ret = dwarf_next_cu_header(dbg, NULL, NULL, &aboff,
|
||||
if (ret == DW_DLV_ERROR)
|
||||
warnx("dwarf_next_cu_header: %s", dwarf_errmsg(de));
|
||||
.Ed
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_get_abbrev
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_NO_ENTRY"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar dbg ,
|
||||
.Ar ret_abbrev ,
|
||||
.Ar length
|
||||
or
|
||||
.Ar attr_count
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_NO_ENTRY
|
||||
There is no abbreviation information at offset
|
||||
.Ar offset .
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_dealloc 3 ,
|
||||
.Xr dwarf_get_abbrev_tag 3 ,
|
||||
.Xr dwarf_get_abbrev_code 3 ,
|
||||
.Xr dwarf_get_abbrev_children_flag 3 ,
|
||||
.Xr dwarf_get_abbrev_entry 3
|
||||
.Xr dwarf_get_abbrev_code 3 ,
|
||||
.Xr dwarf_get_abbrev_entry 3 ,
|
||||
.Xr dwarf_get_abbrev_tag 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_abbrev_children_flag.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_abbrev_children_flag.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd March 14, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_ABBREV_CHILDREN_FLAG 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_abbrev_children_flag
|
||||
.Nd return a flag indicating the presence of children
|
||||
@ -69,7 +69,6 @@ If argument
|
||||
.Ar err
|
||||
is not NULL, it will be used to store error information in case of an
|
||||
error.
|
||||
.Pp
|
||||
.Sh RETURN VALUES
|
||||
Function
|
||||
.Fn dwarf_get_abbrev_children_flag
|
||||
@ -96,5 +95,5 @@ was NULL.
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_get_abbrev 3 ,
|
||||
.Xr dwarf_get_abbrev_code 3 ,
|
||||
.Xr dwarf_get_abbrev_tag 3 ,
|
||||
.Xr dwarf_get_abbrev_entry 3
|
||||
.Xr dwarf_get_abbrev_entry 3 ,
|
||||
.Xr dwarf_get_abbrev_tag 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_abbrev_code.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_abbrev_code.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd March 13, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_ABBREV_CODE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_abbrev_code
|
||||
.Nd retrieve the abbreviation code for an abbreviation
|
||||
@ -81,6 +81,6 @@ was NULL.
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_get_abbrev 3 ,
|
||||
.Xr dwarf_get_abbrev_tag 3 ,
|
||||
.Xr dwarf_get_abbrev_children_flag 3 ,
|
||||
.Xr dwarf_get_abbrev_entry 3
|
||||
.Xr dwarf_get_abbrev_entry 3 ,
|
||||
.Xr dwarf_get_abbrev_tag 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_abbrev_entry.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_abbrev_entry.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd April 02, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_ABBREV_ENTRY 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_abbrev_entry
|
||||
.Nd retrieve attribute information from an abbreviation descriptor
|
||||
@ -96,25 +96,7 @@ In case of an error, it returns
|
||||
.Dv DW_DLV_ERROR
|
||||
and sets the argument
|
||||
.Ar err .
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_get_abbrev_entry
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_NO_ENTRY"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar abbrev ,
|
||||
.Ar code ,
|
||||
.Ar form
|
||||
or
|
||||
.Ar offset
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_NO_ENTRY
|
||||
The attribute index specified by argument
|
||||
.Ar ndx
|
||||
was out of range.
|
||||
.El
|
||||
.Sh EXAMPLE
|
||||
.Sh EXAMPLES
|
||||
To loop through all the attribute entries contained in the
|
||||
abbreviation section, use:
|
||||
.Bd -literal -offset indent
|
||||
@ -154,6 +136,24 @@ while ((ret = dwarf_next_cu_header(dbg, NULL, NULL, &aboff,
|
||||
if (ret == DW_DLV_ERROR)
|
||||
warnx("dwarf_next_cu_header: %s", dwarf_errmsg(de));
|
||||
.Ed
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_get_abbrev_entry
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_NO_ENTRY"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar abbrev ,
|
||||
.Ar code ,
|
||||
.Ar form
|
||||
or
|
||||
.Ar offset
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_NO_ENTRY
|
||||
The attribute index specified by argument
|
||||
.Ar ndx
|
||||
was out of range.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_get_abbrev 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_abbrev_tag.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_abbrev_tag.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd March 13, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_ABBREV_TAG 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_abbrev_tag
|
||||
.Nd retrieve the tag for an abbreviation
|
||||
@ -81,6 +81,6 @@ was NULL.
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_get_abbrev 3 ,
|
||||
.Xr dwarf_get_abbrev_code 3 ,
|
||||
.Xr dwarf_get_abbrev_children_flag 3 ,
|
||||
.Xr dwarf_get_abbrev_code 3 ,
|
||||
.Xr dwarf_get_abbrev_entry 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_address_size.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_address_size.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd April 14, 2010
|
||||
.Os
|
||||
.Dt DWARF_GET_ADDRESS_SIZE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_address_size
|
||||
.Nd return the number of bytes needed to represent an address
|
||||
@ -78,5 +78,5 @@ was NULL.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_init 3 ,
|
||||
.Xr dwarf_finish 3
|
||||
.Xr dwarf_finish 3 ,
|
||||
.Xr dwarf_init 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_arange.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_arange.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd April 16, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_ARANGE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_arange
|
||||
.Nd retrieve the address range descriptor for an address
|
||||
@ -115,7 +115,7 @@ was not found.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_get_aranges 3 ,
|
||||
.Xr dwarf_get_arange_cu_header_offset 3 ,
|
||||
.Xr dwarf_get_arange_info 3 ,
|
||||
.Xr dwarf_get_aranges 3 ,
|
||||
.Xr dwarf_get_cu_die_offset 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_arange_info.3 3142 2015-01-29 23:11:14Z jkoshy $
|
||||
.\" $Id: dwarf_get_arange_info.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd April 16, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_ARANGE_INFO 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_arange_info
|
||||
.Nd extract address range information from a descriptor
|
||||
@ -89,21 +89,7 @@ In case of an error, it returns
|
||||
.Dv DW_DLV_ERROR
|
||||
and sets the argument
|
||||
.Ar err .
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_get_arange_info
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_ARGUMENT"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar ar ,
|
||||
.Ar start ,
|
||||
.Ar length
|
||||
or
|
||||
.Ar cu_die_offset
|
||||
was NULL.
|
||||
.El
|
||||
.Sh EXAMPLE
|
||||
.Sh EXAMPLES
|
||||
To loop through all the address lookup table entries, use:
|
||||
.Bd -literal -offset indent
|
||||
Dwarf_Debug dbg;
|
||||
@ -127,9 +113,23 @@ for (i = 0; i < cnt; i++) {
|
||||
/* Do something with the returned information. */
|
||||
}
|
||||
.Ed
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_get_arange_info
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_ARGUMENT"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar ar ,
|
||||
.Ar start ,
|
||||
.Ar length
|
||||
or
|
||||
.Ar cu_die_offset
|
||||
was NULL.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_get_arange 3 ,
|
||||
.Xr dwarf_get_aranges 3 ,
|
||||
.Xr dwarf_get_arange_cu_header_offset 3 ,
|
||||
.Xr dwarf_get_aranges 3 ,
|
||||
.Xr dwarf_get_cu_die_offset 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_aranges.3 2122 2011-11-09 15:35:14Z jkoshy $
|
||||
.\" $Id: dwarf_get_aranges.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd November 9, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_ARANGES 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_aranges
|
||||
.Nd retrieve program address space mappings
|
||||
@ -96,26 +96,7 @@ In case of an error, it returns
|
||||
.Dv DW_DLV_ERROR
|
||||
and sets the argument
|
||||
.Ar err .
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_get_aranges
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_NO_ENTRY"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar dbg ,
|
||||
.Ar ar_list
|
||||
or
|
||||
.Ar ar_cnt
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_NO_ENTRY
|
||||
The debugging context
|
||||
.Ar dbg
|
||||
did not contain a
|
||||
.Dq ".debug_aranges"
|
||||
string section.
|
||||
.El
|
||||
.Sh EXAMPLE
|
||||
.Sh EXAMPLES
|
||||
To loop through all the address lookup table entries, use:
|
||||
.Bd -literal -offset indent
|
||||
Dwarf_Debug dbg;
|
||||
@ -140,6 +121,25 @@ for (i = 0; i < cnt; i++) {
|
||||
/* Do something with the returned information. */
|
||||
}
|
||||
.Ed
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_get_aranges
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_NO_ENTRY"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar dbg ,
|
||||
.Ar ar_list
|
||||
or
|
||||
.Ar ar_cnt
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_NO_ENTRY
|
||||
The debugging context
|
||||
.Ar dbg
|
||||
did not contain a
|
||||
.Dq ".debug_aranges"
|
||||
string section.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_get_arange 3 ,
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_cie_index.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_cie_index.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd May 22, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_CIE_INDEX 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_cie_index
|
||||
.Nd retrieve the index of a CIE descriptor
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_cie_info.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_cie_info.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd May 29, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_CIE_INFO 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_cie_info
|
||||
.Nd retrieve information associated with a CIE descriptor
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_cie_of_fde.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_cie_of_fde.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd May 22, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_CIE_OF_FDE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_cie_of_fde
|
||||
.Nd retrieve CIE descriptor
|
||||
@ -82,7 +82,7 @@ was NULL.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_get_cie_info 3 ,
|
||||
.Xr dwarf_get_cie_index 3 ,
|
||||
.Xr dwarf_get_cie_info 3 ,
|
||||
.Xr dwarf_get_fde_at_pc 3 ,
|
||||
.Xr dwarf_get_fde_n 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_cu_die_offset.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_cu_die_offset.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd April 10, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_CU_DIE_OFFSET 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_arange_cu_header_offset ,
|
||||
.Nm dwarf_get_cu_die_offset
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_die_infotypes_flag.3 3118 2014-12-20 20:30:06Z jkoshy $
|
||||
.\" $Id: dwarf_get_die_infotypes_flag.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd December 20, 2014
|
||||
.Os
|
||||
.Dt DWARF_GET_DIE_INFOTYPES_FLAG 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_die_infotypes_flag
|
||||
.Nd indicate the originating DWARF section for a DIE
|
||||
|
@ -21,11 +21,11 @@
|
||||
.\" out of the use of this software, even if advised of the possibility of
|
||||
.\" such damage.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_elf.3 2122 2011-11-09 15:35:14Z jkoshy $
|
||||
.\" $Id: dwarf_get_elf.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd November 9, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_ELF 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_elf
|
||||
.Nd retrieve the
|
||||
@ -98,6 +98,6 @@ if (dwarf_get_elf(dbg, &elf, &de) != DW_DLV_OK)
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_errmsg 3 ,
|
||||
.Xr dwarf_init 3 ,
|
||||
.Xr dwarf_finish 3 ,
|
||||
.Xr dwarf_init 3 ,
|
||||
.Xr elf 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_fde_at_pc.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_fde_at_pc.3 3640 2018-10-14 14:09:13Z jkoshy $
|
||||
.\"
|
||||
.Dd May 22, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_FDE_AT_PC 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_fde_at_pc
|
||||
.Nd retrieve the FDE descriptor for an address
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_fde_info_for_all_regs.3 3182 2015-04-10 16:08:10Z emaste $
|
||||
.\" $Id: dwarf_get_fde_info_for_all_regs.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd June 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_FDE_INFO_FOR_ALL_REGS 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_fde_info_for_all_regs
|
||||
.Nd retrieve register rule row
|
||||
@ -150,7 +150,7 @@ did not fall in the range covered by argument
|
||||
.Xr dwarf_get_fde_info_for_reg3 3 ,
|
||||
.Xr dwarf_get_fde_n 3 ,
|
||||
.Xr dwarf_set_frame_cfa_value 3 ,
|
||||
.Xr dwarf_set_frame_rule_table_size 3 ,
|
||||
.Xr dwarf_set_frame_rule_initial_value 3 ,
|
||||
.Xr dwarf_set_frame_rule_table_size 3 ,
|
||||
.Xr dwarf_set_frame_same_value 3 ,
|
||||
.Xr dwarf_set_frame_undefined_value 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_fde_info_for_all_regs3.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_fde_info_for_all_regs3.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd June 26, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_FDE_INFO_FOR_ALL_REGS3 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_fde_info_for_all_regs3
|
||||
.Nd retrieve register rule row
|
||||
@ -177,7 +177,7 @@ did not fall in the range covered by argument
|
||||
.Xr dwarf_get_fde_info_for_reg3 3 ,
|
||||
.Xr dwarf_get_fde_n 3 ,
|
||||
.Xr dwarf_set_frame_cfa_value 3 ,
|
||||
.Xr dwarf_set_frame_rule_table_size 3 ,
|
||||
.Xr dwarf_set_frame_rule_initial_value 3 ,
|
||||
.Xr dwarf_set_frame_rule_table_size 3 ,
|
||||
.Xr dwarf_set_frame_same_value 3 ,
|
||||
.Xr dwarf_set_frame_undefined_value 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_fde_info_for_cfa_reg3.3 2071 2011-10-27 03:20:00Z jkoshy $
|
||||
.\" $Id: dwarf_get_fde_info_for_cfa_reg3.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd June 12, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_FDE_INFO_FOR_CFA_REGS3 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_fde_info_for_cfa_regs3
|
||||
.Nd retrieve a CFA register rule
|
||||
@ -165,7 +165,7 @@ did not fall in the range covered by argument
|
||||
.Xr dwarf_get_fde_info_for_reg3 3 ,
|
||||
.Xr dwarf_get_fde_n 3 ,
|
||||
.Xr dwarf_set_frame_cfa_value 3 ,
|
||||
.Xr dwarf_set_frame_rule_table_size 3 ,
|
||||
.Xr dwarf_set_frame_rule_initial_value 3 ,
|
||||
.Xr dwarf_set_frame_rule_table_size 3 ,
|
||||
.Xr dwarf_set_frame_same_value 3 ,
|
||||
.Xr dwarf_set_frame_undefined_value 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_fde_info_for_reg.3 3181 2015-04-10 13:22:51Z emaste $
|
||||
.\" $Id: dwarf_get_fde_info_for_reg.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd June 4, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_FDE_INFO_FOR_REG 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_fde_info_for_reg
|
||||
.Nd retrieve register rule
|
||||
@ -150,7 +150,7 @@ did not fall in the range covered by argument
|
||||
.Xr dwarf_get_fde_info_for_reg3 3 ,
|
||||
.Xr dwarf_get_fde_n 3 ,
|
||||
.Xr dwarf_set_frame_cfa_value 3 ,
|
||||
.Xr dwarf_set_frame_rule_table_size 3 ,
|
||||
.Xr dwarf_set_frame_rule_initial_value 3 ,
|
||||
.Xr dwarf_set_frame_rule_table_size 3 ,
|
||||
.Xr dwarf_set_frame_same_value 3 ,
|
||||
.Xr dwarf_set_frame_undefined_value 3
|
||||
|
@ -22,11 +22,11 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id: dwarf_get_fde_info_for_reg3.3 2122 2011-11-09 15:35:14Z jkoshy $
|
||||
.\" $Id: dwarf_get_fde_info_for_reg3.3 3644 2018-10-15 19:55:01Z jkoshy $
|
||||
.\"
|
||||
.Dd November 9, 2011
|
||||
.Os
|
||||
.Dt DWARF_GET_FDE_INFO_FOR_REG3 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm dwarf_get_fde_info_for_reg3
|
||||
.Nd retrieve register rule
|
||||
@ -140,33 +140,7 @@ In case of an error, it returns
|
||||
.Dv DW_DLV_ERROR
|
||||
and sets the argument
|
||||
.Ar err .
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_get_fde_info_for_reg3
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_FRAME_TABLE_COL_BAD"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar block_ptr ,
|
||||
.Ar fde ,
|
||||
.Ar offset_or_block_len ,
|
||||
.Ar offset_relevant ,
|
||||
.Ar register_num ,
|
||||
.Ar row_pc ,
|
||||
or
|
||||
.Ar type
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_FRAME_TABLE_COL_BAD
|
||||
The column number provided in argument
|
||||
.Ar table_column
|
||||
was too large.
|
||||
.It Bq Er DW_DLE_PC_NOT_IN_FDE_RANGE
|
||||
The program counter value provided in argument
|
||||
.Ar pc
|
||||
did not fall in the range covered by argument
|
||||
.Ar fde .
|
||||
.El
|
||||
.Sh EXAMPLE
|
||||
.Sh EXAMPLES
|
||||
To retrieve the register rules at column 3 from a rule table
|
||||
associated with a FDE descriptor:
|
||||
.Bd -literal -offset indent
|
||||
@ -199,6 +173,32 @@ for (pc = low_pc; pc < low_pc + func_len; pc++) {
|
||||
/* ... use the retrieved register rule ... */
|
||||
}
|
||||
.Ed
|
||||
.Sh ERRORS
|
||||
Function
|
||||
.Fn dwarf_get_fde_info_for_reg3
|
||||
can fail with:
|
||||
.Bl -tag -width ".Bq Er DW_DLE_FRAME_TABLE_COL_BAD"
|
||||
.It Bq Er DW_DLE_ARGUMENT
|
||||
One of the arguments
|
||||
.Ar block_ptr ,
|
||||
.Ar fde ,
|
||||
.Ar offset_or_block_len ,
|
||||
.Ar offset_relevant ,
|
||||
.Ar register_num ,
|
||||
.Ar row_pc ,
|
||||
or
|
||||
.Ar type
|
||||
was NULL.
|
||||
.It Bq Er DW_DLE_FRAME_TABLE_COL_BAD
|
||||
The column number provided in argument
|
||||
.Ar table_column
|
||||
was too large.
|
||||
.It Bq Er DW_DLE_PC_NOT_IN_FDE_RANGE
|
||||
The program counter value provided in argument
|
||||
.Ar pc
|
||||
did not fall in the range covered by argument
|
||||
.Ar fde .
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr dwarf 3 ,
|
||||
.Xr dwarf_get_fde_at_pc 3 ,
|
||||
@ -208,7 +208,7 @@ for (pc = low_pc; pc < low_pc + func_len; pc++) {
|
||||
.Xr dwarf_get_fde_info_for_reg 3 ,
|
||||
.Xr dwarf_get_fde_n 3 ,
|
||||
.Xr dwarf_set_frame_cfa_value 3 ,
|
||||
.Xr dwarf_set_frame_rule_table_size 3 ,
|
||||
.Xr dwarf_set_frame_rule_initial_value 3 ,
|
||||
.Xr dwarf_set_frame_rule_table_size 3 ,
|
||||
.Xr dwarf_set_frame_same_value 3 ,
|
||||
.Xr dwarf_set_frame_undefined_value 3
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user