summaryrefslogtreecommitdiff
path: root/devel/elftoolchain
diff options
context:
space:
mode:
authoragc <agc>2011-11-20 06:25:17 +0000
committeragc <agc>2011-11-20 06:25:17 +0000
commit9bf45e34b17f701df4c42ae43f34d928b18307c2 (patch)
tree1ad28bbaf4162e22e8c6780564f76ada79ed3020 /devel/elftoolchain
parent371486fecddd6823506ae3fa02b1f937f24fc482 (diff)
downloadpkgsrc-9bf45e34b17f701df4c42ae43f34d928b18307c2.tar.gz
Initial import of elftoolchain-0.5.1 into the packages collection.
A BSD-licensed implementation of compilation tools (nm, ar, as, ld, etc.) for the ELF object format. This release contains BSD-licensed implementations of the "libdwarf" and "libelf" libraries, and of the "addr2line", "ar", "brandelf", "c++filt", "elfcopy", "elfdump", "findtextrel", "mcs", "nm", "ranlib", "readelf", "size", "strings" and "strip" program development utilities. The release also contains API and utility reference documentation (300+ manual entries in all), and contains test suites for some of these released utilities and libraries. With thanks to jkoshy for all the help.
Diffstat (limited to 'devel/elftoolchain')
-rw-r--r--devel/elftoolchain/DESCR10
-rw-r--r--devel/elftoolchain/Makefile26
-rw-r--r--devel/elftoolchain/PLIST693
-rw-r--r--devel/elftoolchain/distinfo19
-rw-r--r--devel/elftoolchain/patches/patch-aa15
-rw-r--r--devel/elftoolchain/patches/patch-ab48
-rw-r--r--devel/elftoolchain/patches/patch-ac27
-rw-r--r--devel/elftoolchain/patches/patch-ad15
-rw-r--r--devel/elftoolchain/patches/patch-ae15
-rw-r--r--devel/elftoolchain/patches/patch-af33
-rw-r--r--devel/elftoolchain/patches/patch-ag15
-rw-r--r--devel/elftoolchain/patches/patch-ah15
-rw-r--r--devel/elftoolchain/patches/patch-ai36
-rw-r--r--devel/elftoolchain/patches/patch-aj15
-rw-r--r--devel/elftoolchain/patches/patch-ak15
-rw-r--r--devel/elftoolchain/patches/patch-al15
-rw-r--r--devel/elftoolchain/patches/patch-am31
-rw-r--r--devel/elftoolchain/patches/patch-an16
18 files changed, 1059 insertions, 0 deletions
diff --git a/devel/elftoolchain/DESCR b/devel/elftoolchain/DESCR
new file mode 100644
index 00000000000..355f51fb7e1
--- /dev/null
+++ b/devel/elftoolchain/DESCR
@@ -0,0 +1,10 @@
+A BSD-licensed implementation of compilation tools (nm, ar, as, ld,
+etc.) for the ELF object format.
+
+This release contains BSD-licensed implementations of the "libdwarf"
+and "libelf" libraries, and of the "addr2line", "ar", "brandelf",
+"c++filt", "elfcopy", "elfdump", "findtextrel", "mcs", "nm", "ranlib",
+"readelf", "size", "strings" and "strip" program development
+utilities. The release also contains API and utility reference
+documentation (300+ manual entries in all), and contains test suites
+for some of these released utilities and libraries.
diff --git a/devel/elftoolchain/Makefile b/devel/elftoolchain/Makefile
new file mode 100644
index 00000000000..cc5f53829df
--- /dev/null
+++ b/devel/elftoolchain/Makefile
@@ -0,0 +1,26 @@
+# $NetBSD: Makefile,v 1.1.1.1 2011/11/20 06:25:17 agc Exp $
+
+DISTNAME= elftoolchain-0.5.1
+CATEGORIES= devel
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=elftoolchain/${DISTNAME}/}
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= agc@NetBSD.org
+HOMEPAGE= http://elftoolchain.sourceforge.net/
+COMMENT= Compilation tools (nm, ar, as, ld, etc.) for the ELF object format
+LICENSE= modified-bsd
+
+CONFLICTS= libelf-[0-9]*
+
+PKG_INSTALLATION_TYPES= overwrite pkgviews
+PKG_DESTDIR_SUPPORT= user-destdir
+
+USE_BSD_MAKEFILE= yes
+MAKE_ENV+= ${BSD_MAKE_ENV}
+
+INSTALLATION_DIRS= bin lib
+INSTALLATION_DIRS+= ${PKGMANDIR}/man1 ${PKGMANDIR}/cat1 ${PKGMANDIR}/html1
+INSTALLATION_DIRS+= ${PKGMANDIR}/man3 ${PKGMANDIR}/cat3 ${PKGMANDIR}/html3
+INSTALLATION_DIRS+= ${PKGMANDIR}/man5 ${PKGMANDIR}/cat5 ${PKGMANDIR}/html5
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/devel/elftoolchain/PLIST b/devel/elftoolchain/PLIST
new file mode 100644
index 00000000000..f8071002186
--- /dev/null
+++ b/devel/elftoolchain/PLIST
@@ -0,0 +1,693 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+bin/addr2line
+bin/ar
+bin/brandelf
+bin/c++filt
+bin/elfcopy
+bin/elfdump
+bin/findtextrel
+bin/mcs
+bin/nm
+bin/ranlib
+bin/readelf
+bin/size
+bin/strings
+bin/strip
+lib/libdwarf.a
+lib/libdwarf.so
+lib/libdwarf.so.3
+lib/libdwarf_p.a
+lib/libdwarf_pic.a
+lib/libelf.a
+lib/libelf.so
+lib/libelf.so.1
+lib/libelf_p.a
+lib/libelf_pic.a
+lib/libelftc.a
+lib/libelftc.so
+lib/libelftc.so.1
+lib/libelftc_p.a
+lib/libelftc_pic.a
+man/cat1/addr2line.0
+man/cat1/ar.0
+man/cat1/brandelf.0
+man/cat1/c++filt.0
+man/cat1/elfcopy.0
+man/cat1/elfdump.0
+man/cat1/findtextrel.0
+man/cat1/mcs.0
+man/cat1/nm.0
+man/cat1/ranlib.0
+man/cat1/readelf.0
+man/cat1/size.0
+man/cat1/strings.0
+man/cat1/strip.0
+man/cat3/dwarf_add_AT_comp_dir.0
+man/cat3/dwarf_add_AT_const_value_signedint.0
+man/cat3/dwarf_add_AT_const_value_string.0
+man/cat3/dwarf_add_AT_const_value_unsignedint.0
+man/cat3/dwarf_add_AT_dataref.0
+man/cat3/dwarf_add_AT_flag.0
+man/cat3/dwarf_add_AT_location_expr.0
+man/cat3/dwarf_add_AT_name.0
+man/cat3/dwarf_add_AT_producer.0
+man/cat3/dwarf_add_AT_ref_address.0
+man/cat3/dwarf_add_AT_reference.0
+man/cat3/dwarf_add_AT_signed_const.0
+man/cat3/dwarf_add_AT_string.0
+man/cat3/dwarf_add_AT_targ_address.0
+man/cat3/dwarf_add_AT_targ_address_b.0
+man/cat3/dwarf_add_AT_unsigned_const.0
+man/cat3/dwarf_add_arange.0
+man/cat3/dwarf_add_arange_b.0
+man/cat3/dwarf_add_die_to_debug.0
+man/cat3/dwarf_add_directory_decl.0
+man/cat3/dwarf_add_expr_addr.0
+man/cat3/dwarf_add_expr_addr_b.0
+man/cat3/dwarf_add_expr_gen.0
+man/cat3/dwarf_add_fde_inst.0
+man/cat3/dwarf_add_file_decl.0
+man/cat3/dwarf_add_frame_cie.0
+man/cat3/dwarf_add_frame_fde.0
+man/cat3/dwarf_add_frame_fde_b.0
+man/cat3/dwarf_add_funcname.0
+man/cat3/dwarf_add_line_entry.0
+man/cat3/dwarf_add_pubname.0
+man/cat3/dwarf_add_typename.0
+man/cat3/dwarf_add_varname.0
+man/cat3/dwarf_add_weakname.0
+man/cat3/dwarf_arrayorder.0
+man/cat3/dwarf_attr.0
+man/cat3/dwarf_attrlist.0
+man/cat3/dwarf_attrval_flag.0
+man/cat3/dwarf_attrval_signed.0
+man/cat3/dwarf_attrval_string.0
+man/cat3/dwarf_attrval_unsigned.0
+man/cat3/dwarf_bitoffset.0
+man/cat3/dwarf_bitsize.0
+man/cat3/dwarf_bytesize.0
+man/cat3/dwarf_child.0
+man/cat3/dwarf_dealloc.0
+man/cat3/dwarf_def_macro.0
+man/cat3/dwarf_die_CU_offset.0
+man/cat3/dwarf_die_CU_offset_range.0
+man/cat3/dwarf_die_abbrev_code.0
+man/cat3/dwarf_die_link.0
+man/cat3/dwarf_diename.0
+man/cat3/dwarf_dieoffset.0
+man/cat3/dwarf_elf_init.0
+man/cat3/dwarf_end_macro_file.0
+man/cat3/dwarf_errmsg.0
+man/cat3/dwarf_errno.0
+man/cat3/dwarf_expand_frame_instructions.0
+man/cat3/dwarf_expr_current_offset.0
+man/cat3/dwarf_expr_into_block.0
+man/cat3/dwarf_fde_cfa_offset.0
+man/cat3/dwarf_fde_cie_list_dealloc.0
+man/cat3/dwarf_find_macro_value_start.0
+man/cat3/dwarf_finish.0
+man/cat3/dwarf_formaddr.0
+man/cat3/dwarf_formblock.0
+man/cat3/dwarf_formexprloc.0
+man/cat3/dwarf_formflag.0
+man/cat3/dwarf_formref.0
+man/cat3/dwarf_formsdata.0
+man/cat3/dwarf_formsig8.0
+man/cat3/dwarf_formstring.0
+man/cat3/dwarf_formudata.0
+man/cat3/dwarf_func_cu_offset.0
+man/cat3/dwarf_func_die_offset.0
+man/cat3/dwarf_func_name_offsets.0
+man/cat3/dwarf_funcname.0
+man/cat3/dwarf_funcs_dealloc.0
+man/cat3/dwarf_get_ACCESS_name.0
+man/cat3/dwarf_get_ATE_name.0
+man/cat3/dwarf_get_AT_name.0
+man/cat3/dwarf_get_CC_name.0
+man/cat3/dwarf_get_CFA_name.0
+man/cat3/dwarf_get_CHILDREN_name.0
+man/cat3/dwarf_get_DSC_name.0
+man/cat3/dwarf_get_DS_name.0
+man/cat3/dwarf_get_EH_name.0
+man/cat3/dwarf_get_END_name.0
+man/cat3/dwarf_get_FORM_name.0
+man/cat3/dwarf_get_ID_name.0
+man/cat3/dwarf_get_INL_name.0
+man/cat3/dwarf_get_LANG_name.0
+man/cat3/dwarf_get_LNE_name.0
+man/cat3/dwarf_get_LNS_name.0
+man/cat3/dwarf_get_MACINFO_name.0
+man/cat3/dwarf_get_OP_name.0
+man/cat3/dwarf_get_ORD_name.0
+man/cat3/dwarf_get_TAG_name.0
+man/cat3/dwarf_get_VIRTUALITY_name.0
+man/cat3/dwarf_get_VIS_name.0
+man/cat3/dwarf_get_abbrev.0
+man/cat3/dwarf_get_abbrev_children_flag.0
+man/cat3/dwarf_get_abbrev_code.0
+man/cat3/dwarf_get_abbrev_entry.0
+man/cat3/dwarf_get_abbrev_tag.0
+man/cat3/dwarf_get_address_size.0
+man/cat3/dwarf_get_arange.0
+man/cat3/dwarf_get_arange_cu_header_offset.0
+man/cat3/dwarf_get_arange_info.0
+man/cat3/dwarf_get_aranges.0
+man/cat3/dwarf_get_cie_index.0
+man/cat3/dwarf_get_cie_info.0
+man/cat3/dwarf_get_cie_of_fde.0
+man/cat3/dwarf_get_cu_die_offset.0
+man/cat3/dwarf_get_cu_die_offset_given_cu_header_offset.0
+man/cat3/dwarf_get_elf.0
+man/cat3/dwarf_get_fde_at_pc.0
+man/cat3/dwarf_get_fde_info_for_all_regs.0
+man/cat3/dwarf_get_fde_info_for_all_regs3.0
+man/cat3/dwarf_get_fde_info_for_cfa_reg3.0
+man/cat3/dwarf_get_fde_info_for_reg.0
+man/cat3/dwarf_get_fde_info_for_reg3.0
+man/cat3/dwarf_get_fde_instr_bytes.0
+man/cat3/dwarf_get_fde_list.0
+man/cat3/dwarf_get_fde_list_eh.0
+man/cat3/dwarf_get_fde_n.0
+man/cat3/dwarf_get_fde_range.0
+man/cat3/dwarf_get_form_class.0
+man/cat3/dwarf_get_funcs.0
+man/cat3/dwarf_get_globals.0
+man/cat3/dwarf_get_loclist_entry.0
+man/cat3/dwarf_get_macro_details.0
+man/cat3/dwarf_get_pubtypes.0
+man/cat3/dwarf_get_ranges.0
+man/cat3/dwarf_get_ranges_a.0
+man/cat3/dwarf_get_relocation_info.0
+man/cat3/dwarf_get_relocation_info_count.0
+man/cat3/dwarf_get_section_bytes.0
+man/cat3/dwarf_get_str.0
+man/cat3/dwarf_get_types.0
+man/cat3/dwarf_get_vars.0
+man/cat3/dwarf_get_weaks.0
+man/cat3/dwarf_global_cu_offset.0
+man/cat3/dwarf_global_die_offset.0
+man/cat3/dwarf_global_formref.0
+man/cat3/dwarf_global_name_offsets.0
+man/cat3/dwarf_globals_dealloc.0
+man/cat3/dwarf_globname.0
+man/cat3/dwarf_hasattr.0
+man/cat3/dwarf_hasform.0
+man/cat3/dwarf_highpc.0
+man/cat3/dwarf_init.0
+man/cat3/dwarf_line_srcfileno.0
+man/cat3/dwarf_lineaddr.0
+man/cat3/dwarf_linebeginstatement.0
+man/cat3/dwarf_lineblock.0
+man/cat3/dwarf_lineendsequence.0
+man/cat3/dwarf_lineno.0
+man/cat3/dwarf_lineoff.0
+man/cat3/dwarf_linesrc.0
+man/cat3/dwarf_lne_end_sequence.0
+man/cat3/dwarf_lne_set_address.0
+man/cat3/dwarf_loclist.0
+man/cat3/dwarf_loclist_from_expr.0
+man/cat3/dwarf_loclist_from_expr_a.0
+man/cat3/dwarf_loclist_n.0
+man/cat3/dwarf_lowpc.0
+man/cat3/dwarf_new_die.0
+man/cat3/dwarf_new_expr.0
+man/cat3/dwarf_new_fde.0
+man/cat3/dwarf_next_cu_header.0
+man/cat3/dwarf_object_finish.0
+man/cat3/dwarf_object_init.0
+man/cat3/dwarf_offdie.0
+man/cat3/dwarf_producer_init.0
+man/cat3/dwarf_producer_init_b.0
+man/cat3/dwarf_producer_set_isa.0
+man/cat3/dwarf_pubtype_cu_offset.0
+man/cat3/dwarf_pubtype_die_offset.0
+man/cat3/dwarf_pubtype_name_offsets.0
+man/cat3/dwarf_pubtypename.0
+man/cat3/dwarf_pubtypes_dealloc.0
+man/cat3/dwarf_ranges_dealloc.0
+man/cat3/dwarf_reset_section_bytes.0
+man/cat3/dwarf_set_frame_cfa_value.0
+man/cat3/dwarf_set_frame_rule_initial_value.0
+man/cat3/dwarf_set_frame_rule_table_size.0
+man/cat3/dwarf_set_frame_same_value.0
+man/cat3/dwarf_set_frame_undefined_value.0
+man/cat3/dwarf_set_reloc_application.0
+man/cat3/dwarf_seterrarg.0
+man/cat3/dwarf_seterrhand.0
+man/cat3/dwarf_siblingof.0
+man/cat3/dwarf_srcfiles.0
+man/cat3/dwarf_srclang.0
+man/cat3/dwarf_srclines.0
+man/cat3/dwarf_srclines_dealloc.0
+man/cat3/dwarf_start_macro_file.0
+man/cat3/dwarf_tag.0
+man/cat3/dwarf_transform_to_disk_form.0
+man/cat3/dwarf_type_cu_offset.0
+man/cat3/dwarf_type_die_offset.0
+man/cat3/dwarf_type_name_offsets.0
+man/cat3/dwarf_typename.0
+man/cat3/dwarf_types_dealloc.0
+man/cat3/dwarf_undef_macro.0
+man/cat3/dwarf_var_cu_offset.0
+man/cat3/dwarf_var_die_offset.0
+man/cat3/dwarf_var_name_offsets.0
+man/cat3/dwarf_varname.0
+man/cat3/dwarf_vars_dealloc.0
+man/cat3/dwarf_vendor_ext.0
+man/cat3/dwarf_weak_cu_offset.0
+man/cat3/dwarf_weak_die_offset.0
+man/cat3/dwarf_weak_name_offsets.0
+man/cat3/dwarf_weakname.0
+man/cat3/dwarf_weaks_dealloc.0
+man/cat3/dwarf_whatattr.0
+man/cat3/dwarf_whatform.0
+man/cat3/dwarf_whatform_direct.0
+man/cat3/elf.0
+man/cat3/elf32_checksum.0
+man/cat3/elf32_fsize.0
+man/cat3/elf32_getehdr.0
+man/cat3/elf32_getphdr.0
+man/cat3/elf32_getshdr.0
+man/cat3/elf32_newehdr.0
+man/cat3/elf32_newphdr.0
+man/cat3/elf32_xlatetof.0
+man/cat3/elf32_xlatetom.0
+man/cat3/elf64_checksum.0
+man/cat3/elf64_fsize.0
+man/cat3/elf64_getehdr.0
+man/cat3/elf64_getphdr.0
+man/cat3/elf64_getshdr.0
+man/cat3/elf64_newehdr.0
+man/cat3/elf64_newphdr.0
+man/cat3/elf64_xlatetof.0
+man/cat3/elf64_xlatetom.0
+man/cat3/elf_begin.0
+man/cat3/elf_cntl.0
+man/cat3/elf_end.0
+man/cat3/elf_errmsg.0
+man/cat3/elf_errno.0
+man/cat3/elf_fill.0
+man/cat3/elf_flagarhdr.0
+man/cat3/elf_flagdata.0
+man/cat3/elf_flagehdr.0
+man/cat3/elf_flagelf.0
+man/cat3/elf_flagphdr.0
+man/cat3/elf_flagscn.0
+man/cat3/elf_flagshdr.0
+man/cat3/elf_getarhdr.0
+man/cat3/elf_getarsym.0
+man/cat3/elf_getbase.0
+man/cat3/elf_getdata.0
+man/cat3/elf_getident.0
+man/cat3/elf_getphdrnum.0
+man/cat3/elf_getphnum.0
+man/cat3/elf_getscn.0
+man/cat3/elf_getshdrnum.0
+man/cat3/elf_getshdrstrndx.0
+man/cat3/elf_getshnum.0
+man/cat3/elf_getshstrndx.0
+man/cat3/elf_hash.0
+man/cat3/elf_kind.0
+man/cat3/elf_memory.0
+man/cat3/elf_ndxscn.0
+man/cat3/elf_newdata.0
+man/cat3/elf_newscn.0
+man/cat3/elf_next.0
+man/cat3/elf_nextscn.0
+man/cat3/elf_rand.0
+man/cat3/elf_rawdata.0
+man/cat3/elf_rawfile.0
+man/cat3/elf_setshstrndx.0
+man/cat3/elf_strptr.0
+man/cat3/elf_update.0
+man/cat3/elf_version.0
+man/cat3/elftc_bfd_find_target.0
+man/cat3/elftc_bfd_target_byteorder.0
+man/cat3/elftc_bfd_target_class.0
+man/cat3/elftc_bfd_target_flavor.0
+man/cat3/elftc_demangle.0
+man/cat3/elftc_version.0
+man/cat3/gelf.0
+man/cat3/gelf_checksum.0
+man/cat3/gelf_fsize.0
+man/cat3/gelf_getcap.0
+man/cat3/gelf_getclass.0
+man/cat3/gelf_getdyn.0
+man/cat3/gelf_getehdr.0
+man/cat3/gelf_getmove.0
+man/cat3/gelf_getphdr.0
+man/cat3/gelf_getrel.0
+man/cat3/gelf_getrela.0
+man/cat3/gelf_getshdr.0
+man/cat3/gelf_getsym.0
+man/cat3/gelf_getsyminfo.0
+man/cat3/gelf_getsymshndx.0
+man/cat3/gelf_newehdr.0
+man/cat3/gelf_newphdr.0
+man/cat3/gelf_update_cap.0
+man/cat3/gelf_update_dyn.0
+man/cat3/gelf_update_ehdr.0
+man/cat3/gelf_update_move.0
+man/cat3/gelf_update_phdr.0
+man/cat3/gelf_update_rel.0
+man/cat3/gelf_update_rela.0
+man/cat3/gelf_update_shdr.0
+man/cat3/gelf_update_sym.0
+man/cat3/gelf_update_syminfo.0
+man/cat3/gelf_update_symshndx.0
+man/cat3/gelf_xlatetof.0
+man/cat3/gelf_xlatetom.0
+man/cat5/ar.0
+man/man1/addr2line.1
+man/man1/ar.1
+man/man1/brandelf.1
+man/man1/c++filt.1
+man/man1/elfcopy.1
+man/man1/elfdump.1
+man/man1/findtextrel.1
+man/man1/mcs.1
+man/man1/nm.1
+man/man1/ranlib.1
+man/man1/readelf.1
+man/man1/size.1
+man/man1/strings.1
+man/man1/strip.1
+man/man3/dwarf_add_AT_comp_dir.3
+man/man3/dwarf_add_AT_const_value_signedint.3
+man/man3/dwarf_add_AT_const_value_string.3
+man/man3/dwarf_add_AT_const_value_unsignedint.3
+man/man3/dwarf_add_AT_dataref.3
+man/man3/dwarf_add_AT_flag.3
+man/man3/dwarf_add_AT_location_expr.3
+man/man3/dwarf_add_AT_name.3
+man/man3/dwarf_add_AT_producer.3
+man/man3/dwarf_add_AT_ref_address.3
+man/man3/dwarf_add_AT_reference.3
+man/man3/dwarf_add_AT_signed_const.3
+man/man3/dwarf_add_AT_string.3
+man/man3/dwarf_add_AT_targ_address.3
+man/man3/dwarf_add_AT_targ_address_b.3
+man/man3/dwarf_add_AT_unsigned_const.3
+man/man3/dwarf_add_arange.3
+man/man3/dwarf_add_arange_b.3
+man/man3/dwarf_add_die_to_debug.3
+man/man3/dwarf_add_directory_decl.3
+man/man3/dwarf_add_expr_addr.3
+man/man3/dwarf_add_expr_addr_b.3
+man/man3/dwarf_add_expr_gen.3
+man/man3/dwarf_add_fde_inst.3
+man/man3/dwarf_add_file_decl.3
+man/man3/dwarf_add_frame_cie.3
+man/man3/dwarf_add_frame_fde.3
+man/man3/dwarf_add_frame_fde_b.3
+man/man3/dwarf_add_funcname.3
+man/man3/dwarf_add_line_entry.3
+man/man3/dwarf_add_pubname.3
+man/man3/dwarf_add_typename.3
+man/man3/dwarf_add_varname.3
+man/man3/dwarf_add_weakname.3
+man/man3/dwarf_arrayorder.3
+man/man3/dwarf_attr.3
+man/man3/dwarf_attrlist.3
+man/man3/dwarf_attrval_flag.3
+man/man3/dwarf_attrval_signed.3
+man/man3/dwarf_attrval_string.3
+man/man3/dwarf_attrval_unsigned.3
+man/man3/dwarf_bitoffset.3
+man/man3/dwarf_bitsize.3
+man/man3/dwarf_bytesize.3
+man/man3/dwarf_child.3
+man/man3/dwarf_dealloc.3
+man/man3/dwarf_def_macro.3
+man/man3/dwarf_die_CU_offset.3
+man/man3/dwarf_die_CU_offset_range.3
+man/man3/dwarf_die_abbrev_code.3
+man/man3/dwarf_die_link.3
+man/man3/dwarf_diename.3
+man/man3/dwarf_dieoffset.3
+man/man3/dwarf_elf_init.3
+man/man3/dwarf_end_macro_file.3
+man/man3/dwarf_errmsg.3
+man/man3/dwarf_errno.3
+man/man3/dwarf_expand_frame_instructions.3
+man/man3/dwarf_expr_current_offset.3
+man/man3/dwarf_expr_into_block.3
+man/man3/dwarf_fde_cfa_offset.3
+man/man3/dwarf_fde_cie_list_dealloc.3
+man/man3/dwarf_find_macro_value_start.3
+man/man3/dwarf_finish.3
+man/man3/dwarf_formaddr.3
+man/man3/dwarf_formblock.3
+man/man3/dwarf_formexprloc.3
+man/man3/dwarf_formflag.3
+man/man3/dwarf_formref.3
+man/man3/dwarf_formsdata.3
+man/man3/dwarf_formsig8.3
+man/man3/dwarf_formstring.3
+man/man3/dwarf_formudata.3
+man/man3/dwarf_func_cu_offset.3
+man/man3/dwarf_func_die_offset.3
+man/man3/dwarf_func_name_offsets.3
+man/man3/dwarf_funcname.3
+man/man3/dwarf_funcs_dealloc.3
+man/man3/dwarf_get_ACCESS_name.3
+man/man3/dwarf_get_ATE_name.3
+man/man3/dwarf_get_AT_name.3
+man/man3/dwarf_get_CC_name.3
+man/man3/dwarf_get_CFA_name.3
+man/man3/dwarf_get_CHILDREN_name.3
+man/man3/dwarf_get_DSC_name.3
+man/man3/dwarf_get_DS_name.3
+man/man3/dwarf_get_EH_name.3
+man/man3/dwarf_get_END_name.3
+man/man3/dwarf_get_FORM_name.3
+man/man3/dwarf_get_ID_name.3
+man/man3/dwarf_get_INL_name.3
+man/man3/dwarf_get_LANG_name.3
+man/man3/dwarf_get_LNE_name.3
+man/man3/dwarf_get_LNS_name.3
+man/man3/dwarf_get_MACINFO_name.3
+man/man3/dwarf_get_OP_name.3
+man/man3/dwarf_get_ORD_name.3
+man/man3/dwarf_get_TAG_name.3
+man/man3/dwarf_get_VIRTUALITY_name.3
+man/man3/dwarf_get_VIS_name.3
+man/man3/dwarf_get_abbrev.3
+man/man3/dwarf_get_abbrev_children_flag.3
+man/man3/dwarf_get_abbrev_code.3
+man/man3/dwarf_get_abbrev_entry.3
+man/man3/dwarf_get_abbrev_tag.3
+man/man3/dwarf_get_address_size.3
+man/man3/dwarf_get_arange.3
+man/man3/dwarf_get_arange_cu_header_offset.3
+man/man3/dwarf_get_arange_info.3
+man/man3/dwarf_get_aranges.3
+man/man3/dwarf_get_cie_index.3
+man/man3/dwarf_get_cie_info.3
+man/man3/dwarf_get_cie_of_fde.3
+man/man3/dwarf_get_cu_die_offset.3
+man/man3/dwarf_get_cu_die_offset_given_cu_header_offset.3
+man/man3/dwarf_get_elf.3
+man/man3/dwarf_get_fde_at_pc.3
+man/man3/dwarf_get_fde_info_for_all_regs.3
+man/man3/dwarf_get_fde_info_for_all_regs3.3
+man/man3/dwarf_get_fde_info_for_cfa_reg3.3
+man/man3/dwarf_get_fde_info_for_reg.3
+man/man3/dwarf_get_fde_info_for_reg3.3
+man/man3/dwarf_get_fde_instr_bytes.3
+man/man3/dwarf_get_fde_list.3
+man/man3/dwarf_get_fde_list_eh.3
+man/man3/dwarf_get_fde_n.3
+man/man3/dwarf_get_fde_range.3
+man/man3/dwarf_get_form_class.3
+man/man3/dwarf_get_funcs.3
+man/man3/dwarf_get_globals.3
+man/man3/dwarf_get_loclist_entry.3
+man/man3/dwarf_get_macro_details.3
+man/man3/dwarf_get_pubtypes.3
+man/man3/dwarf_get_ranges.3
+man/man3/dwarf_get_ranges_a.3
+man/man3/dwarf_get_relocation_info.3
+man/man3/dwarf_get_relocation_info_count.3
+man/man3/dwarf_get_section_bytes.3
+man/man3/dwarf_get_str.3
+man/man3/dwarf_get_types.3
+man/man3/dwarf_get_vars.3
+man/man3/dwarf_get_weaks.3
+man/man3/dwarf_global_cu_offset.3
+man/man3/dwarf_global_die_offset.3
+man/man3/dwarf_global_formref.3
+man/man3/dwarf_global_name_offsets.3
+man/man3/dwarf_globals_dealloc.3
+man/man3/dwarf_globname.3
+man/man3/dwarf_hasattr.3
+man/man3/dwarf_hasform.3
+man/man3/dwarf_highpc.3
+man/man3/dwarf_init.3
+man/man3/dwarf_line_srcfileno.3
+man/man3/dwarf_lineaddr.3
+man/man3/dwarf_linebeginstatement.3
+man/man3/dwarf_lineblock.3
+man/man3/dwarf_lineendsequence.3
+man/man3/dwarf_lineno.3
+man/man3/dwarf_lineoff.3
+man/man3/dwarf_linesrc.3
+man/man3/dwarf_lne_end_sequence.3
+man/man3/dwarf_lne_set_address.3
+man/man3/dwarf_loclist.3
+man/man3/dwarf_loclist_from_expr.3
+man/man3/dwarf_loclist_from_expr_a.3
+man/man3/dwarf_loclist_n.3
+man/man3/dwarf_lowpc.3
+man/man3/dwarf_new_die.3
+man/man3/dwarf_new_expr.3
+man/man3/dwarf_new_fde.3
+man/man3/dwarf_next_cu_header.3
+man/man3/dwarf_object_finish.3
+man/man3/dwarf_object_init.3
+man/man3/dwarf_offdie.3
+man/man3/dwarf_producer_init.3
+man/man3/dwarf_producer_init_b.3
+man/man3/dwarf_producer_set_isa.3
+man/man3/dwarf_pubtype_cu_offset.3
+man/man3/dwarf_pubtype_die_offset.3
+man/man3/dwarf_pubtype_name_offsets.3
+man/man3/dwarf_pubtypename.3
+man/man3/dwarf_pubtypes_dealloc.3
+man/man3/dwarf_ranges_dealloc.3
+man/man3/dwarf_reset_section_bytes.3
+man/man3/dwarf_set_frame_cfa_value.3
+man/man3/dwarf_set_frame_rule_initial_value.3
+man/man3/dwarf_set_frame_rule_table_size.3
+man/man3/dwarf_set_frame_same_value.3
+man/man3/dwarf_set_frame_undefined_value.3
+man/man3/dwarf_set_reloc_application.3
+man/man3/dwarf_seterrarg.3
+man/man3/dwarf_seterrhand.3
+man/man3/dwarf_siblingof.3
+man/man3/dwarf_srcfiles.3
+man/man3/dwarf_srclang.3
+man/man3/dwarf_srclines.3
+man/man3/dwarf_srclines_dealloc.3
+man/man3/dwarf_start_macro_file.3
+man/man3/dwarf_tag.3
+man/man3/dwarf_transform_to_disk_form.3
+man/man3/dwarf_type_cu_offset.3
+man/man3/dwarf_type_die_offset.3
+man/man3/dwarf_type_name_offsets.3
+man/man3/dwarf_typename.3
+man/man3/dwarf_types_dealloc.3
+man/man3/dwarf_undef_macro.3
+man/man3/dwarf_var_cu_offset.3
+man/man3/dwarf_var_die_offset.3
+man/man3/dwarf_var_name_offsets.3
+man/man3/dwarf_varname.3
+man/man3/dwarf_vars_dealloc.3
+man/man3/dwarf_vendor_ext.3
+man/man3/dwarf_weak_cu_offset.3
+man/man3/dwarf_weak_die_offset.3
+man/man3/dwarf_weak_name_offsets.3
+man/man3/dwarf_weakname.3
+man/man3/dwarf_weaks_dealloc.3
+man/man3/dwarf_whatattr.3
+man/man3/dwarf_whatform.3
+man/man3/dwarf_whatform_direct.3
+man/man3/elf.3
+man/man3/elf32_checksum.3
+man/man3/elf32_fsize.3
+man/man3/elf32_getehdr.3
+man/man3/elf32_getphdr.3
+man/man3/elf32_getshdr.3
+man/man3/elf32_newehdr.3
+man/man3/elf32_newphdr.3
+man/man3/elf32_xlatetof.3
+man/man3/elf32_xlatetom.3
+man/man3/elf64_checksum.3
+man/man3/elf64_fsize.3
+man/man3/elf64_getehdr.3
+man/man3/elf64_getphdr.3
+man/man3/elf64_getshdr.3
+man/man3/elf64_newehdr.3
+man/man3/elf64_newphdr.3
+man/man3/elf64_xlatetof.3
+man/man3/elf64_xlatetom.3
+man/man3/elf_begin.3
+man/man3/elf_cntl.3
+man/man3/elf_end.3
+man/man3/elf_errmsg.3
+man/man3/elf_errno.3
+man/man3/elf_fill.3
+man/man3/elf_flagarhdr.3
+man/man3/elf_flagdata.3
+man/man3/elf_flagehdr.3
+man/man3/elf_flagelf.3
+man/man3/elf_flagphdr.3
+man/man3/elf_flagscn.3
+man/man3/elf_flagshdr.3
+man/man3/elf_getarhdr.3
+man/man3/elf_getarsym.3
+man/man3/elf_getbase.3
+man/man3/elf_getdata.3
+man/man3/elf_getident.3
+man/man3/elf_getphdrnum.3
+man/man3/elf_getphnum.3
+man/man3/elf_getscn.3
+man/man3/elf_getshdrnum.3
+man/man3/elf_getshdrstrndx.3
+man/man3/elf_getshnum.3
+man/man3/elf_getshstrndx.3
+man/man3/elf_hash.3
+man/man3/elf_kind.3
+man/man3/elf_memory.3
+man/man3/elf_ndxscn.3
+man/man3/elf_newdata.3
+man/man3/elf_newscn.3
+man/man3/elf_next.3
+man/man3/elf_nextscn.3
+man/man3/elf_rand.3
+man/man3/elf_rawdata.3
+man/man3/elf_rawfile.3
+man/man3/elf_setshstrndx.3
+man/man3/elf_strptr.3
+man/man3/elf_update.3
+man/man3/elf_version.3
+man/man3/elftc_bfd_find_target.3
+man/man3/elftc_bfd_target_byteorder.3
+man/man3/elftc_bfd_target_class.3
+man/man3/elftc_bfd_target_flavor.3
+man/man3/elftc_demangle.3
+man/man3/elftc_version.3
+man/man3/gelf.3
+man/man3/gelf_checksum.3
+man/man3/gelf_fsize.3
+man/man3/gelf_getcap.3
+man/man3/gelf_getclass.3
+man/man3/gelf_getdyn.3
+man/man3/gelf_getehdr.3
+man/man3/gelf_getmove.3
+man/man3/gelf_getphdr.3
+man/man3/gelf_getrel.3
+man/man3/gelf_getrela.3
+man/man3/gelf_getshdr.3
+man/man3/gelf_getsym.3
+man/man3/gelf_getsyminfo.3
+man/man3/gelf_getsymshndx.3
+man/man3/gelf_newehdr.3
+man/man3/gelf_newphdr.3
+man/man3/gelf_update_cap.3
+man/man3/gelf_update_dyn.3
+man/man3/gelf_update_ehdr.3
+man/man3/gelf_update_move.3
+man/man3/gelf_update_phdr.3
+man/man3/gelf_update_rel.3
+man/man3/gelf_update_rela.3
+man/man3/gelf_update_shdr.3
+man/man3/gelf_update_sym.3
+man/man3/gelf_update_syminfo.3
+man/man3/gelf_update_symshndx.3
+man/man3/gelf_xlatetof.3
+man/man3/gelf_xlatetom.3
+man/man5/ar.5
+@pkgdir man/html5
+@pkgdir man/html3
+@pkgdir man/html1
diff --git a/devel/elftoolchain/distinfo b/devel/elftoolchain/distinfo
new file mode 100644
index 00000000000..6c1f0538c4d
--- /dev/null
+++ b/devel/elftoolchain/distinfo
@@ -0,0 +1,19 @@
+$NetBSD: distinfo,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+SHA1 (elftoolchain-0.5.1.tar.bz2) = 333cfce857ca220177d0a5d111d40afca1eea0c7
+RMD160 (elftoolchain-0.5.1.tar.bz2) = 4be0adf8349c764474810e23cfb022c655002d77
+Size (elftoolchain-0.5.1.tar.bz2) = 5008332 bytes
+SHA1 (patch-aa) = e3588a6580ece7159b109e01730f144703aeda1d
+SHA1 (patch-ab) = 7ed42bdf24917a01e42580958d29078c7143168c
+SHA1 (patch-ac) = c681369aa0dd87a1b2fa5ede647f267a4c132e87
+SHA1 (patch-ad) = 22a254add215d7fa18b32e17e30c92d451c2cecd
+SHA1 (patch-ae) = 19f04351c82e4ab421582a2d5b2761308aeff53d
+SHA1 (patch-af) = 8de41e29969295b668deee22d6bbb761a586059a
+SHA1 (patch-ag) = adbf0b3ba6121bc9b3351cf2f79863a8bafc13d8
+SHA1 (patch-ah) = 1c1d31443566994f48d3b7e9ab2385bd4c07d55e
+SHA1 (patch-ai) = 37e8a01421c926b995f7a5cd32c77df7b18bd28f
+SHA1 (patch-aj) = 1656ff3c1a9dd9fe27af122d9cbe605092a40925
+SHA1 (patch-ak) = 699aeca92ce35f57988b6135c6b7f3a8f533825f
+SHA1 (patch-al) = 1ca5bb02b4bf8b4d0820747c3398d1f5f317c66c
+SHA1 (patch-am) = 286bd77aef36812b60fb29218368573b74ac892e
+SHA1 (patch-an) = 6de919bb0cf3f406c9b5addcf868c57d5d71403e
diff --git a/devel/elftoolchain/patches/patch-aa b/devel/elftoolchain/patches/patch-aa
new file mode 100644
index 00000000000..db105ecec86
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-aa
@@ -0,0 +1,15 @@
+$NetBSD: patch-aa,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Fix warning for printf format messages with gcc 4.5 and -Wformat=2
+
+--- addr2line/addr2line.c 2011/11/18 20:38:58 1.1
++++ addr2line/addr2line.c 2011/11/18 20:39:27
+@@ -57,7 +57,7 @@
+ static char unknown[] = { '?', '?', '\0' };
+ static Dwarf_Addr section_base;
+
+-static const char *usagemsg = "\
++static const char usagemsg[] = "\
+ Usage: %s [options] hexaddress...\n\
+ Map program addresses to source file names and line numbers.\n\n\
+ Options:\n\
diff --git a/devel/elftoolchain/patches/patch-ab b/devel/elftoolchain/patches/patch-ab
new file mode 100644
index 00000000000..42e10cd2e57
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-ab
@@ -0,0 +1,48 @@
+$NetBSD: patch-ab,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Fix warning for printf format messages with gcc 4.5 and -Wformat=2
+
+--- ar/ar.c 2011/11/18 20:41:01 1.1
++++ ar/ar.c 2011/11/18 20:41:58
+@@ -370,7 +370,7 @@
+ opt, bsdar->mode);
+ }
+
+-static const char *ar_usagemsg = "\
++static const char ar_usagemsg[] = "\
+ Usage: %s <command> [options] archive file...\n\
+ Manage archives.\n\n\
+ Where <command> is one of:\n\
+@@ -404,13 +404,13 @@
+ ";
+
+ static void
+-bsdar_usage()
++bsdar_usage(void)
+ {
+ (void) fprintf(stderr, ar_usagemsg, ELFTC_GETPROGNAME());
+ exit(EXIT_FAILURE);
+ }
+
+-static const char *ranlib_usagemsg = "\
++static const char ranlib_usagemsg[] = "\
+ Usage: %s [options] archive...\n\
+ Update or create archive symbol tables.\n\n\
+ Options:\n\
+@@ -420,14 +420,14 @@
+ ";
+
+ static void
+-ranlib_usage()
++ranlib_usage(void)
+ {
+ (void)fprintf(stderr, ranlib_usagemsg, ELFTC_GETPROGNAME());
+ exit(EXIT_FAILURE);
+ }
+
+ static void
+-bsdar_version()
++bsdar_version(void)
+ {
+ (void)printf("%s (%s, %s)\n", ELFTC_GETPROGNAME(), archive_version(),
+ elftc_version());
diff --git a/devel/elftoolchain/patches/patch-ac b/devel/elftoolchain/patches/patch-ac
new file mode 100644
index 00000000000..c587557cc19
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-ac
@@ -0,0 +1,27 @@
+$NetBSD: patch-ac,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Broken YY_NO_INPUT is only needed for NetBSD before 5.99.21
+
+--- common/_elftc.h 2011/11/19 10:48:54 1.1
++++ common/_elftc.h 2011/11/19 10:54:13
+@@ -163,6 +163,7 @@
+
+ #if defined(__NetBSD__)
+
++#include <sys/param.h>
+ #include <sys/endian.h>
+
+ #define ELFTC_BYTE_ORDER _BYTE_ORDER
+@@ -170,7 +171,11 @@
+ #define ELFTC_BYTE_ORDER_BIG_ENDIAN _BIG_ENDIAN
+
+ #define ELFTC_HAVE_STRMODE 1
+-#define ELFTC_BROKEN_YY_NO_INPUT 1
++#if __NetBSD_Version__ <= 599002100
++/* from src/doc/CHANGES: flex(1): Import flex-2.5.35 [christos 20091025] */
++/* and 5.99.21 was from Wed Oct 21 21:28:36 2009 UTC */
++# define ELFTC_BROKEN_YY_NO_INPUT 1
++#endif
+ #endif /* __NetBSD __ */
+
+ #endif /* _ELFTC_H */
diff --git a/devel/elftoolchain/patches/patch-ad b/devel/elftoolchain/patches/patch-ad
new file mode 100644
index 00000000000..544829dde9a
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-ad
@@ -0,0 +1,15 @@
+$NetBSD: patch-ad,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Fix warning for printf format messages with gcc 4.5 and -Wformat=2
+
+--- brandelf/brandelf.c 2011/11/18 21:21:58 1.1
++++ brandelf/brandelf.c 2011/11/18 21:22:12
+@@ -219,7 +219,7 @@
+ return (retval);
+ }
+
+-static const char *usagemsg = "\
++static const char usagemsg[] = "\
+ Usage: %s [options] file...\n\
+ Set or display the ABI field for an ELF object.\n\n\
+ Supported options are:\n\
diff --git a/devel/elftoolchain/patches/patch-ae b/devel/elftoolchain/patches/patch-ae
new file mode 100644
index 00000000000..802e6c0c4c5
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-ae
@@ -0,0 +1,15 @@
+$NetBSD: patch-ae,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Fix warning for printf format messages with gcc 4.5 and -Wformat=2
+
+--- cxxfilt/cxxfilt.c 2011/11/18 21:24:38 1.1
++++ cxxfilt/cxxfilt.c 2011/11/18 21:24:54
+@@ -71,7 +71,7 @@
+ {"gnu-v3", ELFTC_DEM_GNU3}
+ };
+
+-static const char *usagemsg = "\
++static const char usagemsg[] = "\
+ Usage: %s [options] [encoded-names...]\n\
+ Translate C++ symbol names to human-readable form.\n\n\
+ Options:\n\
diff --git a/devel/elftoolchain/patches/patch-af b/devel/elftoolchain/patches/patch-af
new file mode 100644
index 00000000000..1d3a29425a1
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-af
@@ -0,0 +1,33 @@
+$NetBSD: patch-af,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Fix warning for printf format messages with gcc 4.5 and -Wformat=2
+
+--- elfcopy/main.c 2011/11/18 21:25:47 1.1
++++ elfcopy/main.c 2011/11/18 21:26:31
+@@ -1259,7 +1259,7 @@
+ errx(EXIT_FAILURE, "unrecognized OSABI %s", abi);
+ }
+
+-static const char *elfcopy_usagemsg = "\
++static const char elfcopy_usagemsg[] = "\
+ Usage: %s [options] infile [outfile]\n\
+ Transform an ELF object.\n\n\
+ Options:\n\
+@@ -1338,7 +1338,7 @@
+ exit(EXIT_FAILURE);
+ }
+
+-static const char *mcs_usagemsg = "\
++static const char mcs_usagemsg[] = "\
+ Usage: %s [options] file...\n\
+ Manipulate the comment section in an ELF object.\n\n\
+ Options:\n\
+@@ -1357,7 +1357,7 @@
+ exit(EXIT_FAILURE);
+ }
+
+-static const char *strip_usagemsg = "\
++static const char strip_usagemsg[] = "\
+ Usage: %s [options] file...\n\
+ Discard information from ELF objects.\n\n\
+ Options:\n\
diff --git a/devel/elftoolchain/patches/patch-ag b/devel/elftoolchain/patches/patch-ag
new file mode 100644
index 00000000000..6bff1fe174a
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-ag
@@ -0,0 +1,15 @@
+$NetBSD: patch-ag,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Fix warning for printf format messages with gcc 4.5 and -Wformat=2
+
+--- elfdump/elfdump.c 2011/11/18 21:28:48 1.1
++++ elfdump/elfdump.c 2011/11/18 21:29:03
+@@ -2736,7 +2736,7 @@
+ PRT("\nelf checksum: %#lx\n", gelf_checksum(ed->elf));
+ }
+
+-static const char *usagemsg = "\
++static const char usagemsg[] = "\
+ Usage: %s [options] file...\n\
+ Display information about ELF objects and ar(1) archives.\n\n\
+ Options:\n\
diff --git a/devel/elftoolchain/patches/patch-ah b/devel/elftoolchain/patches/patch-ah
new file mode 100644
index 00000000000..addd6305f18
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-ah
@@ -0,0 +1,15 @@
+$NetBSD: patch-ah,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Fix warning for printf format messages with gcc 4.5 and -Wformat=2
+
+--- findtextrel/findtextrel.c 2011/11/18 21:29:57 1.1
++++ findtextrel/findtextrel.c 2011/11/18 21:30:11
+@@ -47,7 +47,7 @@
+ {NULL, 0, NULL, 0}
+ };
+
+-static const char *usagemsg = "\
++static const char usagemsg[] = "\
+ Usage: %s [options] [files...]\n\
+ Show text relocations present in position independent code.\n\n\
+ Options:\n\
diff --git a/devel/elftoolchain/patches/patch-ai b/devel/elftoolchain/patches/patch-ai
new file mode 100644
index 00000000000..503e569424c
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-ai
@@ -0,0 +1,36 @@
+$NetBSD: patch-ai,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Fix warning for printf format messages with gcc 4.5 and -Wformat=2
+
+--- nm/nm.c 2011/11/18 21:31:02 1.1
++++ nm/nm.c 2011/11/18 21:45:38
+@@ -855,9 +855,9 @@
+
+ if (nm_opts.demangle_type < 0 ||
+ elftc_demangle(name, dem, sizeof(dem), nm_opts.demangle_type) < 0)
+- printf(format, name);
++ printf((strcmp(format, "%s") == 0) ? "%s" : "%-20s|", name);
+ else
+- printf(format, dem);
++ printf((strcmp(format, "%s") == 0) ? "%s" : "%-20s|", dem);
+ }
+
+ static void
+@@ -1355,7 +1355,7 @@
+ process_sym:
+
+ p_data.list_num = get_sym(elf, &list_head, shnum, dynndx, strndx,
+- type_table, (const char **)sec_table, shnum);
++ type_table, (const char **)(const void **)sec_table, shnum);
+
+ if (p_data.list_num == 0)
+ goto next_cmd;
+@@ -1363,7 +1363,7 @@
+ p_data.headp = &list_head;
+ p_data.sh_num = shnum;
+ p_data.t_table = type_table;
+- p_data.s_table = (const char **)sec_table;
++ p_data.s_table = (const char **)(const void **)sec_table;
+ p_data.filename = filename;
+ p_data.objname = objname;
+
diff --git a/devel/elftoolchain/patches/patch-aj b/devel/elftoolchain/patches/patch-aj
new file mode 100644
index 00000000000..931dceb1d79
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-aj
@@ -0,0 +1,15 @@
+$NetBSD: patch-aj,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Fix warning for printf format messages with gcc 4.5 and -Wformat=2
+
+--- readelf/readelf.c 2011/11/18 21:46:36 1.1
++++ readelf/readelf.c 2011/11/18 21:47:04
+@@ -6580,7 +6580,7 @@
+ exit(EXIT_SUCCESS);
+ }
+
+-static const char *usagemsg = "\
++static const char usagemsg[] = "\
+ Usage: %s [options] file...\n\
+ Display information about ELF objects and ar(1) archives.\n\n\
+ Options:\n\
diff --git a/devel/elftoolchain/patches/patch-ak b/devel/elftoolchain/patches/patch-ak
new file mode 100644
index 00000000000..fcf0c6f08ce
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-ak
@@ -0,0 +1,15 @@
+$NetBSD: patch-ak,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+cast through void pointer first
+
+--- size/size.c 2011/11/18 21:47:50 1.1
++++ size/size.c 2011/11/18 21:48:08
+@@ -194,7 +194,7 @@
+ argc -= optind;
+ argv += optind;
+
+- files = (argc == 0) ? default_args : (const char **) argv;
++ files = (argc == 0) ? default_args : (const char **)(const void **)argv;
+
+ while ((fn = *files) != NULL) {
+ rc = handle_elf(fn);
diff --git a/devel/elftoolchain/patches/patch-al b/devel/elftoolchain/patches/patch-al
new file mode 100644
index 00000000000..5ea5df97617
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-al
@@ -0,0 +1,15 @@
+$NetBSD: patch-al,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+Fix warning for printf format messages with gcc 4.5 and -Wformat=2
+
+--- strings/strings.c 2011/11/18 21:48:54 1.1
++++ strings/strings.c 2011/11/18 21:49:07
+@@ -426,7 +426,7 @@
+ return (RETURN_OK);
+ }
+
+-static const char *usagemsg = "\
++static const char usagemsg[] = "\
+ Usage: %s [options] [file...]\n\
+ Print contiguous sequences of printable characters.\n\n\
+ Options:\n\
diff --git a/devel/elftoolchain/patches/patch-am b/devel/elftoolchain/patches/patch-am
new file mode 100644
index 00000000000..ef7273049e7
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-am
@@ -0,0 +1,31 @@
+$NetBSD: patch-am,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+don't build tests for ordinary packaging
+
+--- Makefile 2011/11/18 21:53:08 1.1
++++ Makefile 2011/11/18 21:53:38
+@@ -26,9 +26,9 @@
+ SUBDIR += strings
+
+ # Build the test suites.
+-.if exists(${.CURDIR}/test)
+-SUBDIR += test
+-.endif
++#.if exists(${.CURDIR}/test)
++#SUBDIR += test
++#.endif
+
+ # Build documentation at the end.
+ .if exists(${.CURDIR}/documentation)
+@@ -42,7 +42,7 @@
+ #
+
+ # Run the test suites.
+-.if exists(${.CURDIR}/test)
+-run-tests: all .PHONY
+- (cd ${.CURDIR}/test; ${MAKE} test)
+-.endif
++#.if exists(${.CURDIR}/test)
++#run-tests: all .PHONY
++# (cd ${.CURDIR}/test; ${MAKE} test)
++#.endif
diff --git a/devel/elftoolchain/patches/patch-an b/devel/elftoolchain/patches/patch-an
new file mode 100644
index 00000000000..2c0d163a901
--- /dev/null
+++ b/devel/elftoolchain/patches/patch-an
@@ -0,0 +1,16 @@
+$NetBSD: patch-an,v 1.1.1.1 2011/11/20 06:25:18 agc Exp $
+
+NetBSD uses the straight "MAN" definition for manual pages
+
+--- libelftc/Makefile 2011/11/19 10:22:19 1.1
++++ libelftc/Makefile 2011/11/19 10:24:35
+@@ -28,6 +28,9 @@
+ elftc_demangle.3 \
+ elftc_version.3
+
++# for NetBSD
++MAN= ${MAN3}
++
+ MLINKS= elftc_bfd_find_target.3 elftc_bfd_target_byteorder.3 \
+ elftc_bfd_find_target.3 elftc_bfd_target_class.3 \
+ elftc_bfd_find_target.3 elftc_bfd_target_flavor.3