From f4bad012f8d0741583bbd679d88827948461af87 Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Tue, 4 Sep 2012 21:54:08 +0000 Subject: [PATCH] Initial bep and patch for libdwarf, provided by munchausen, with some added c89 fixes. --- dev-libs/libdwarf/libdwarf-20120410.bep | 28 ++++++++ .../libdwarf/patches/libdwarf-20120410.patch | 67 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 dev-libs/libdwarf/libdwarf-20120410.bep create mode 100644 dev-libs/libdwarf/patches/libdwarf-20120410.patch diff --git a/dev-libs/libdwarf/libdwarf-20120410.bep b/dev-libs/libdwarf/libdwarf-20120410.bep new file mode 100644 index 000000000..6ef959510 --- /dev/null +++ b/dev-libs/libdwarf/libdwarf-20120410.bep @@ -0,0 +1,28 @@ +DESCRIPTION="libdwarf and dwarfdump - library and utility for working with DWARF Debugging Information Format" +HOMEPAGE="http://reality.sgiweb.org/davea/dwarf.html" +SRC_URI="http://reality.sgiweb.org/davea/libdwarf-20120410.tar.gz" +CHECKSUM_MD5="77c8b351f11738bc9fa50474a69d5b36" +REVISION="1" +STATUS_HAIKU="stable" +DEPEND="dev-libs/libelf >= 0.8.13" +BUILD { + cd dwarf-20120410/libdwarf + ./configure --enable-shared --prefix=$(finddir B_COMMON_DIRECTORY) + make + cd ../dwarfdump + LDFLAGS="-L../libdwarf -L/boot/common/lib" ./configure --prefix=$(finddir B_COMMON_DIRECTORY) + LIBRARY_PATH=$LIBRARY_PATH:../libdwarf/ make +} + +INSTALL { + cd dwarf-20120410/libdwarf + make install + cd ../dwarfdump + make install +} + +LICENSE="GNU GPL v2 + GNU LGPL v2.1" +COPYRIGHT="2000,2002,2004,2005 Silicon Graphics, Inc. All Rights Reserved. + 2007-2010 David Anderson. All Rights Reserved. + 2007-2010 Sun Microsystems, Inc. All rights reserved" diff --git a/dev-libs/libdwarf/patches/libdwarf-20120410.patch b/dev-libs/libdwarf/patches/libdwarf-20120410.patch new file mode 100644 index 000000000..4cadb6777 --- /dev/null +++ b/dev-libs/libdwarf/patches/libdwarf-20120410.patch @@ -0,0 +1,67 @@ +diff -urN dwarf-20120410/dwarfdump/dwarfdump.c dwarf-20120410-c89/dwarfdump/dwarfdump.c +--- dwarf-20120410/dwarfdump/dwarfdump.c 2012-04-10 18:48:29.043515904 +0000 ++++ dwarf-20120410-c89/dwarfdump/dwarfdump.c 2012-09-04 21:36:54.000000000 +0000 +@@ -1320,9 +1320,9 @@ + case 'S': + /* -S option: strings for 'any' and 'match' */ + { ++ const char *tempstr = 0; + boolean err = TRUE; + search_is_on = TRUE; +- const char *tempstr = 0; + /* -S text */ + if (strncmp(optarg,"match=",6) == 0) { + +diff -urN dwarf-20120410/dwarfdump/print_die.c dwarf-20120410-c89/dwarfdump/print_die.c +--- dwarf-20120410/dwarfdump/print_die.c 2012-04-10 18:48:29.038010880 +0000 ++++ dwarf-20120410-c89/dwarfdump/print_die.c 2012-09-04 21:39:20.000000000 +0000 +@@ -2257,8 +2257,8 @@ + /* Follow reference chain, looking for self references */ + res = dwarf_offdie_b(dbg,ref_off,is_info,&ref_die,&err); + if (res == DW_DLV_OK) { +- ++die_indent_level; + struct esb_s copy_base; ++ ++die_indent_level; + if (dump_visited_info) { + Dwarf_Off off; + dwarf_die_CU_offset(die, &off, &err); +diff -urN dwarf-20120410/libdwarf/gennames.c dwarf-20120410-c89/libdwarf/gennames.c +--- dwarf-20120410/libdwarf/gennames.c 2012-04-10 18:48:29.002359296 +0000 ++++ dwarf-20120410-c89/libdwarf/gennames.c 2012-09-04 21:20:40.000000000 +0000 +@@ -486,8 +486,8 @@ + + /* Process each line from 'dwarf.h' */ + while (!feof(f_dwarf_in)) { +- errno = 0; + char *fgbad = fgets(line_in,sizeof(line_in),f_dwarf_in); ++ errno = 0; + if(!fgbad) { + if(feof(f_dwarf_in)) { + break; +diff -urN dwarf-20120410/libdwarf/Makefile.in dwarf-20120410-c89/libdwarf/Makefile.in +--- dwarf-20120410/libdwarf/Makefile.in 2012-04-10 18:48:29.002359296 +0000 ++++ dwarf-20120410-c89/libdwarf/Makefile.in 2012-09-04 21:28:30.000000000 +0000 +@@ -46,8 +46,9 @@ + + prefix = @prefix@ + exec_prefix = @exec_prefix@ +-bindir = $(exec_prefix)/bin +-libdir = $(exec_prefix)/lib ++bindir = $(DESTDIR)$(prefix)/bin ++libdir = $(DESTDIR)$(prefix)/lib ++incdir = $(DESTDIR)$(prefix)/include/libdwarf + + INSTALL = @INSTALL@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -213,7 +214,10 @@ + rm -f dwarf_names_enum.h dwarf_names_new.h dwarf_names.c dwarf_names.h + + install: all +- echo "No install provided, see comments in the README" ++ install -m 0755 -d $(incdir) ++ install -m 0755 libdwarf.h $(incdir) ++ install -m 0755 dwarf.h $(incdir) ++ install -m 0755 libdwarf.so $(libdir) + + distclean: clean + rm -f config.status config.log config.cache config.h