binutils and Linux/ARM

H.J. Lu
Sun Jun 6 09:09:00 GMT 1999


I forgot including some important Linux/ARM note on binutils
If you use Linux/ARM, please make sure you read it first.

Sorry for that.

H.J. Lu (
This is the beta release of binutils for Linux, which is
based on binutils 1999 0605 plus various changes.

Please report any bugs related to binutils to

For arm-linux targets, there are some important differences in behaviour 
between these tools and binutils  The linker emulation name has 
changed from elf32arm{26} to armelf_linux{26}.  Also, the "-p" flag must be 
passed with the linker when working with object files (or static libraries) 
created using older versions of the assembler.  If this flag is omitted the 
linker will silently generate bad output when given old input files.

To get the correct behaviour from gcc, amend the *link section of your specs 
file as follows:

%{h*} %{version:-v}    %{b} %{Wl,*:%*}    %{static:-Bstatic}    %{shared:-shared
}    %{symbolic:-Bsymbolic}    %{rdynamic:-export-dynamic}    %{!dynamic-linker:
-dynamic-linker /lib/}    -X    %{mbig-endian:-EB} %{mapcs-26:-m ar
melf_linux26} %{!mapcs-26:-m armelf_linux} -p

Changes from binutils 1999 0605:

1. Fix a -Bsymbolic bug for Linux/alpha.
2. Add ELF/i370.
3. Fix 8/16-bit relocations for i386.
4. Add --redefine-sym=old_form=new_form to objcopy.
5. Add "-j section" for objcopy.
6. Fix i386 disassembler for fwait.
7. Fix a Sparc asm bug.
8. Add Ada demangle support.
9. Fix MIPS/ELF bugs.
10. Add some vxworks suppport.
11. Fix a.out assembler.

The file list:

1. binutils- Source code.
2. binutils- Source RPM.
3. binutils- Binary RPM for RedHat 6.0.

The primary ftp sites for the beta Linux binutils are:



H.J. Lu

More information about the Gcc mailing list