{"id":50,"date":"2020-09-27T06:30:43","date_gmt":"2020-09-27T06:30:43","guid":{"rendered":"https:\/\/smedley.id.au\/os2ports_wp\/?page_id=50"},"modified":"2020-09-27T09:15:34","modified_gmt":"2020-09-27T09:15:34","slug":"gnu-binutils","status":"publish","type":"page","link":"https:\/\/os2ports.smedley.id.au\/?page_id=50","title":{"rendered":"GNU Binutils"},"content":{"rendered":"\n<p>The GNU Binutils are a collection of binary tools. The main ones are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>ld<\/strong>&nbsp;&#8211; the GNU linker. (not yet working on OS\/2)<\/li><li><strong>as<\/strong>&nbsp;&#8211; the GNU assembler.<\/li><\/ul>\n\n\n\n<p>But they also include:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>addr2line<\/strong>&nbsp;&#8211; Converts addresses into filenames and line numbers.<\/li><li><strong>ar<\/strong>&nbsp;&#8211; A utility for creating, modifying and extracting from archives.<\/li><li><strong>c++filt<\/strong>&nbsp;&#8211; Filter to demangle encoded C++ symbols.<\/li><li><strong>dlltool<\/strong>&nbsp;&#8211; Creates files for building and using DLLs.<\/li><li><strong>gold<\/strong>&nbsp;&#8211; A new, faster, ELF only linker, still in beta test.<\/li><li><strong>gprof<\/strong>&nbsp;&#8211; Displays profiling information.<\/li><li><strong>nlmconv<\/strong>&nbsp;&#8211; Converts object code into an NLM.<\/li><li><strong>nm<\/strong>&nbsp;&#8211; Lists symbols from object files.<\/li><li><strong>objcopy<\/strong>&nbsp;&#8211; Copys and translates object files.<\/li><li><strong>objdump<\/strong>&nbsp;&#8211; Displays information from object files.<\/li><li><strong>ranlib<\/strong>&nbsp;&#8211; Generates an index to the contents of an archive.<\/li><li><strong>readelf<\/strong>&nbsp;&#8211; Displays information from any ELF format object file.<\/li><li><strong>size<\/strong>&nbsp;&#8211; Lists the section sizes of an object or archive file.<\/li><li><strong>strings<\/strong>&nbsp;&#8211; Lists printable strings from files.<\/li><li><strong>strip<\/strong>&nbsp;&#8211; Discards symbols.<\/li><li><strong>windmc<\/strong>&nbsp;&#8211; A Windows compatible message compiler.<\/li><li><strong>windres<\/strong>&nbsp;&#8211; A compiler for Windows resource files.<\/li><\/ul>\n\n\n\n<p>Most of these programs use&nbsp;<strong>BFD<\/strong>, the Binary File Descriptor library, to do low-level manipulation. Many of them also use the&nbsp;<strong>opcodes<\/strong>&nbsp;library to assemble and disassemble machine instructions.<\/p>\n\n\n\n<p>The binutils have been ported to most major Unix variants as well as Wintel systems, and their main reason for existence is to give the&nbsp;<a href=\"http:\/\/www.gnu.org\/gnu\/gnu-history.html\">GNU system<\/a>&nbsp;(and&nbsp;<a href=\"http:\/\/www.gnu.org\/gnu\/linux-and-gnu.html\">GNU\/Linux<\/a>) the facility to compile and link programs.<\/p>\n\n\n\n<p>Download links:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.dropbox.com\/s\/3y8gstjqiiu6aec\/binutils-2.25-os2-20150108.zip?dl=0\">binutils v2.25 2015-01-08<\/a>&nbsp;build<\/p>\n\n\n\n<p><a href=\"https:\/\/www.dropbox.com\/s\/5b4x975revr19jd\/binutils-2.24-os2-20141006.zip?dl=0\">binutils v2.24 2014-10-06<\/a>&nbsp;build<\/p>\n\n\n\n<p><a href=\"https:\/\/www.dropbox.com\/s\/nzwdz08y3rgwajo\/binutils-2.23.2-os2-20130907.zip?dl=0\">binutils v2.23.2 2013-09-07 build<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.dropbox.com\/s\/yza3d81d8ek8wpk\/binutils-2.21.1a-os2-20111220.zip?dl=0\">binutils v2.21.1a 2011-12-20 build<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The GNU Binutils are a collection of binary tools. The main ones are: ld&nbsp;&#8211; the GNU linker. (not yet working on OS\/2) as&nbsp;&#8211; the GNU assembler. But they also include: addr2line&nbsp;&#8211; Converts addresses into filenames and line numbers. ar&nbsp;&#8211; A utility for creating, modifying and extracting from archives. c++filt&nbsp;&#8211; Filter to demangle encoded C++ symbols. &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/os2ports.smedley.id.au\/?page_id=50\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;GNU Binutils&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":70,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-50","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/os2ports.smedley.id.au\/index.php?rest_route=\/wp\/v2\/pages\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/os2ports.smedley.id.au\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/os2ports.smedley.id.au\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/os2ports.smedley.id.au\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/os2ports.smedley.id.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=50"}],"version-history":[{"count":2,"href":"https:\/\/os2ports.smedley.id.au\/index.php?rest_route=\/wp\/v2\/pages\/50\/revisions"}],"predecessor-version":[{"id":264,"href":"https:\/\/os2ports.smedley.id.au\/index.php?rest_route=\/wp\/v2\/pages\/50\/revisions\/264"}],"up":[{"embeddable":true,"href":"https:\/\/os2ports.smedley.id.au\/index.php?rest_route=\/wp\/v2\/pages\/70"}],"wp:attachment":[{"href":"https:\/\/os2ports.smedley.id.au\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}