get_uleb128 (diridx, linep);
if (unlikely (diridx >= ndirlist))
{
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DIR_IDX);
return DW_DLV_ERROR;
}
if (new_file->name == NULL)
{
/* XXX Should we bother to free all the memory? */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_NOMEM);
return DW_DLV_ERROR;
}
/* Consistency check. */
if (unlikely (linep != header_start + header_length))
{
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
}
if (new_file->name == NULL)
{
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_NOMEM);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 0))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 1))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 1))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 1))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 1))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 0))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 0))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 0))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 1))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 0))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (unlikely (standard_opcode_lengths[opcode] != 0))
{
/* XXX Free memory. */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_INVALID_DWARF);
return DW_DLV_ERROR;
}
if (files == NULL)
{
/* XXX Should we bother to free all the memory? */
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_NOMEM);
return DW_DLV_ERROR;
}
lines = (Dwarf_Line *) malloc (nlinelist * sizeof (Dwarf_Line));
if (lines == NULL)
{
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
__libdwarf_error (dbg, error, DW_E_NOMEM);
return DW_DLV_ERROR;
}
linelist = linelist->next;
}
+ dwarf_dealloc (dbg, stmt_list, DW_DLA_ATTR);
+
return DW_DLV_OK;
}
INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/lib -I.. \
$(INCLTDL)
-LINT = splint
+lib_LTLIBRARIES = libebl.la
+pkglib_LTLIBRARIES = libebl_i386.la libebl_sh.la libebl_mips.la \
+ libebl_x86_64.la
-#lib_LTLIBRARIES = libebl.la
-#pkglib_LTLIBRARIES = libebl_i386.la libebl_sh.la libebl_mips.la
-noinst_LTLIBRARIES = libebl.la \
- libebl_i386.la libebl_sh.la libebl_mips.la
+euincludedir = $(includedir)/elfutils
+euinclude_HEADERS = libebl.h elf-knowledge.h
-euincludedir = ${includedir}/elfutils
-#euinclude_HEADERS = libebl.h elf-knowledge.h
+noinst_HEADERS = libeblP.h $(pkglib_LTLIBRARIES:%.la=%.h)
-noinst_HEADERS = libeblP.h libebl_i386.h libebl_sh.h libebl_mips.h \
- libebl.h elf-knowledge.h
-
-EXTRA_DIST = libebl.map libebl_i386.map libebl_sh.map libebl_mips.map
+EXTRA_DIST = libebl.map $(pkglib_LTLIBRARIES:%.la=%.map)
libebl_la_SOURCES = eblopenbackend.c eblclosebackend.c eblstrtab.c \
eblreloctypename.c eblsegmenttypename.c \
libebl_mips_la_LDFLAGS = -module -Wl,--version-script,$(srcdir)/libebl_mips.map
libebl_mips_la_DEPENDENCIES = libebl_mips.map
-.PSEUDO: lint
-lint:
- $(LINT) $(DEFS) $(INCLUDES) $(GCC_INCLUDE) -f $(top_srcdir)/splint.rc \
- $(addprefix $(srcdir)/,$(libebl_la_SOURCES))
+libebl_x86_64_la_SOURCES = x86_64_init.c x86_64_destr.c x86_64_symbol.c
+libebl_x86_64_la_LDFLAGS = -module \
+ -Wl,--version-script,$(srcdir)/libebl_x86_64.map
+libebl_x86_64_la_DEPENDENCIES = libebl_x86_64.map