1*4d9fdb46SRobert Mustacchi /*
2*4d9fdb46SRobert Mustacchi Copyright 2018-2018 David Anderson. All Rights Reserved.
3*4d9fdb46SRobert Mustacchi
4*4d9fdb46SRobert Mustacchi This program is free software; you can redistribute it
5*4d9fdb46SRobert Mustacchi and/or modify it under the terms of version 2.1 of the
6*4d9fdb46SRobert Mustacchi GNU Lesser General Public License as published by the Free
7*4d9fdb46SRobert Mustacchi Software Foundation.
8*4d9fdb46SRobert Mustacchi
9*4d9fdb46SRobert Mustacchi This program is distributed in the hope that it would be
10*4d9fdb46SRobert Mustacchi useful, but WITHOUT ANY WARRANTY; without even the implied
11*4d9fdb46SRobert Mustacchi warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12*4d9fdb46SRobert Mustacchi PURPOSE.
13*4d9fdb46SRobert Mustacchi
14*4d9fdb46SRobert Mustacchi Further, this software is distributed without any warranty
15*4d9fdb46SRobert Mustacchi that it is free of the rightful claim of any third person
16*4d9fdb46SRobert Mustacchi regarding infringement or the like. Any license provided
17*4d9fdb46SRobert Mustacchi herein, whether implied or otherwise, applies only to this
18*4d9fdb46SRobert Mustacchi software file. Patent licenses, if any, provided herein
19*4d9fdb46SRobert Mustacchi do not apply to combinations of this program with other
20*4d9fdb46SRobert Mustacchi software, or any other product whatsoever.
21*4d9fdb46SRobert Mustacchi
22*4d9fdb46SRobert Mustacchi You should have received a copy of the GNU Lesser General
23*4d9fdb46SRobert Mustacchi Public License along with this program; if not, write the
24*4d9fdb46SRobert Mustacchi Free Software Foundation, Inc., 51 Franklin Street - Fifth
25*4d9fdb46SRobert Mustacchi Floor, Boston MA 02110-1301, USA.
26*4d9fdb46SRobert Mustacchi
27*4d9fdb46SRobert Mustacchi */
28*4d9fdb46SRobert Mustacchi
29*4d9fdb46SRobert Mustacchi #include "config.h"
30*4d9fdb46SRobert Mustacchi #include "libdwarfdefs.h"
31*4d9fdb46SRobert Mustacchi #include <stdio.h>
32*4d9fdb46SRobert Mustacchi #include <string.h>
33*4d9fdb46SRobert Mustacchi #ifdef HAVE_ELFACCESS_H
34*4d9fdb46SRobert Mustacchi #include <elfaccess.h>
35*4d9fdb46SRobert Mustacchi #endif
36*4d9fdb46SRobert Mustacchi #include "pro_incl.h"
37*4d9fdb46SRobert Mustacchi #include <stddef.h>
38*4d9fdb46SRobert Mustacchi #include "dwarf.h"
39*4d9fdb46SRobert Mustacchi #include "libdwarf.h"
40*4d9fdb46SRobert Mustacchi #include "pro_opaque.h"
41*4d9fdb46SRobert Mustacchi #include "pro_error.h"
42*4d9fdb46SRobert Mustacchi #include "pro_alloc.h"
43*4d9fdb46SRobert Mustacchi #include "pro_arange.h"
44*4d9fdb46SRobert Mustacchi #include "pro_section.h"
45*4d9fdb46SRobert Mustacchi #include "pro_reloc.h"
46*4d9fdb46SRobert Mustacchi #include "pro_dnames.h"
47*4d9fdb46SRobert Mustacchi
48*4d9fdb46SRobert Mustacchi #define FALSE 0
49*4d9fdb46SRobert Mustacchi #define TRUE 1
50*4d9fdb46SRobert Mustacchi
51*4d9fdb46SRobert Mustacchi
52*4d9fdb46SRobert Mustacchi int
dwarf_force_debug_names(Dwarf_P_Debug dbg,Dwarf_Error * error)53*4d9fdb46SRobert Mustacchi dwarf_force_debug_names(Dwarf_P_Debug dbg,
54*4d9fdb46SRobert Mustacchi Dwarf_Error * error)
55*4d9fdb46SRobert Mustacchi {
56*4d9fdb46SRobert Mustacchi
57*4d9fdb46SRobert Mustacchi Dwarf_P_Dnames dn;
58*4d9fdb46SRobert Mustacchi
59*4d9fdb46SRobert Mustacchi if (dbg == NULL) {
60*4d9fdb46SRobert Mustacchi _dwarf_p_error(NULL, error, DW_DLE_DBG_NULL);
61*4d9fdb46SRobert Mustacchi return DW_DLV_ERROR;
62*4d9fdb46SRobert Mustacchi }
63*4d9fdb46SRobert Mustacchi
64*4d9fdb46SRobert Mustacchi dn = (Dwarf_P_Dnames)
65*4d9fdb46SRobert Mustacchi _dwarf_p_get_alloc(dbg, sizeof(struct Dwarf_P_Dnames_s));
66*4d9fdb46SRobert Mustacchi if (dn == NULL) {
67*4d9fdb46SRobert Mustacchi _dwarf_p_error(dbg, error, DW_DLE_ALLOC_FAIL);
68*4d9fdb46SRobert Mustacchi return DW_DLV_ERROR;
69*4d9fdb46SRobert Mustacchi }
70*4d9fdb46SRobert Mustacchi if (!dbg->de_dnames) {
71*4d9fdb46SRobert Mustacchi dbg->de_dnames = dn;
72*4d9fdb46SRobert Mustacchi }
73*4d9fdb46SRobert Mustacchi dn->dn_create_section = TRUE;
74*4d9fdb46SRobert Mustacchi
75*4d9fdb46SRobert Mustacchi return DW_DLV_OK;
76*4d9fdb46SRobert Mustacchi }
77