[LLVMdev] Binutils and LLVM - gathering information

Marshall Clow mclow.lists at gmail.com
Tue Nov 6 14:19:33 PST 2012

Binutils and LLVM

As part of "owning our own toolchain", various people have expressed an interest and have been working on creating various tools that duplicate the functionality of tools available on other systems.

As a start, I'd like to summarize the current status, and ask people for help updating the list.

List taken from <http://www.gnu.org/software/binutils/>


* ld (linker) -- lld is under active development

* as (assembler) -- There is llvm-as, but it appears to be an assembler for LLVM bitcode. 

* addr2line (Converts addresses into filenames and line numbers) -- ????

* ar (creates, modifies and extracts from archives) -- llvm-ar <http://llvm.org/docs/CommandGuide/llvm-ar.html> appears to do this for bitcode, object and archive files.

* c++filt (demangles encoded C++ symbols) -- this facility is built into libcxxabi, but I don't know of a tool that brings this out to the command-line.

* dlltool (Creates files for building and using DLLs) -- ????

* gprof (Displays profiling information) -- ????

* nlmconv (Converts object code into an Netware Loadable Module) -- ????

* nm (Lists symbols from object files) -- llvm-nm does this for bitcode, object and archive files.

* objcopy (Copies and translates object files) -- ???

* objdump (Displays information from object files) -- llvm-objdump appears to do this for bitcode, object and archive files.

* ranlib (Generates an index to the contents of an archive) -- There is an llvm-ranlib, but the docs at  <http://llvm.org/docs/CommandGuide/llvm-ranlib.html> say that it only indexes bitcode files.

* readelf (Displays information from any ELF format object file) -- ????

* size (Lists the section sizes of an object or archive file) -- llvm-size does this for bitcode, object and archive files.

* strings (Lists printable strings from files) -- I have written a program named llvm-strings that does this, and will be submitting it as a patch shortly.

* strip (discards symbols) -- ????

* windmc (A Windows compatible message compiler) -- ????

* windres (A compiler for Windows resource files) -- ????

I'd appreciate if people with more knowledge than myself could chime in with updates to this list. 


-- Marshall

More information about the llvm-dev mailing list