This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]