This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Unknown relocation type 182, 183
Hi David,
and linked using gcc-3.4.0 we get the following error from the linker:
powerpc-eabi-ld: /path/to/libx.a(xxx.o): unknown relocation type 182 for
symbol asdf
These relocation types are registered in elf.h as
/* Diab tool relocations. */
#define R_PPC_DIAB_SDA21_HA 182 /* like EMB_SDA21, adjusted high
16 */
(I assume that you are referring to the file /usr/include/elf.h) That
is a Linux system header file, not a binutils file. The relocations
known by the linker (for the PowerPC) are defined in
<binutils-sources>/include/elf/ppc.h.
so they are known. Are they not implemented in ld?
No.
Is our cross compile tool chain wrongly configured (host i686-linux,
target powerpc-eabi)?
Is this a bug?
No it is a lack of support for the Diab compiler. The current binutils
linker sources do not support these relocations. Unfortunately this
leaves you with only a few of choices:
1. Do not use the files that contain these relocations.
2. Obtain the sources for the files that contain these relocations
and recompile them using GCC.
3. Find out what these relocations do (presumably from the
documentation supplied by Diab for their compiler) and then implement
them for the GNU linker.
4. Persuade someone else to do 3) for you. You may have to pay to do
this.
Cheers
Nick