The Binary File Descriptor library (BFD) is the GNU Project's main mechanism for the portable manipulation of object files in a variety of formats. As of 2003[update], it supports approximately 50 file formats and 25 instruction set architectures.