Subject: bfd&aout extended reloc howto callbacks ...
To: <>
From: Andrew Cagney <cagney@highland.com.au>
List: tech-ports
Date: 10/17/1994 11:57:25
[Follow-ups to gnu.utils.bug]
Hello,
(Background) There are two types of a.out relocations `traditional'
and `extended'. Here I'm proposing a change to the way extended
reloc's are handled for a.out object files.
At present, extended relocations are kept in a table. With (until bfd
in gas-4.13) certain entries being magic (eg the constructor reloc).
I would like to see the a.out extend relocation interface to the
backend extended so that it includes:
o Call back function (or pointer) to find (define) the
`C++ constructor reloc howto'.
Since I made this change to my local bfd, gdb-4.13 bfd got
released, it addresses this problem a different way.
o Call back to, given an external reloc type, find the
internal reloc howto structure.
This is more generic then a table. It would appear
that elf backends already use this.
o Call back to determine the type of relocation
(`traditional' or extended).
At present code determines that a relocation is
`extended' because it is a certain size.
Comments? If interested in further detail I've got working examples
for both binutils-2.4 bfd and the gdb-4.13 bfd.
Andrew