* som.c (struct reloc_queue): New structure to keep track of
the last four multibyte relocations emitted. (enum pa_symbol_type): Type to fully describe the symbol types associated with .import/.export assembler directives.
This commit is contained in:
parent
70f1d7387e
commit
4fdb66cd50
2 changed files with 34 additions and 0 deletions
|
@ -1,5 +1,10 @@
|
|||
Fri Nov 12 15:29:36 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||||
|
||||
* som.c (struct reloc_queue): New structure to keep track of
|
||||
the last four multibyte relocations emitted.
|
||||
(enum pa_symbol_type): Type to fully describe the symbol types
|
||||
associated with .import/.export assembler directives.
|
||||
|
||||
* som.c: Include libhppa.h
|
||||
|
||||
* som.c (bfd_som_set_section_attributes): New function.
|
||||
|
|
29
bfd/som.c
29
bfd/som.c
|
@ -67,6 +67,35 @@
|
|||
((__m_num) >= _PA_RISC1_1_ID && (__m_num) <= _PA_RISC_MAXID))
|
||||
#endif /* _PA_RISC_ID */
|
||||
|
||||
/* SOM allows any one of the four previous relocations to be reused
|
||||
with a "R_PREV_FIXUP" relocation entry. Since R_PREV_FIXUP
|
||||
relocations are always a single byte, using a R_PREV_FIXUP instead
|
||||
of some multi-byte relocation makes object files smaller.
|
||||
|
||||
Note one side effect of using a R_PREV_FIXUP is the relocation that
|
||||
is being repeated moves to the front of the queue. */
|
||||
struct reloc_queue
|
||||
{
|
||||
unsigned char *reloc;
|
||||
unsigned int size;
|
||||
} reloc_queue[4];
|
||||
|
||||
/* This fully describes the symbol types which may be attached to
|
||||
an EXPORT or IMPORT directive. Only SOM uses this formation
|
||||
(ELF has no need for it). */
|
||||
typedef enum
|
||||
{
|
||||
SYMBOL_TYPE_UNKNOWN,
|
||||
SYMBOL_TYPE_ABSOLUTE,
|
||||
SYMBOL_TYPE_CODE,
|
||||
SYMBOL_TYPE_DATA,
|
||||
SYMBOL_TYPE_ENTRY,
|
||||
SYMBOL_TYPE_MILLICODE,
|
||||
SYMBOL_TYPE_PLABEL,
|
||||
SYMBOL_TYPE_PRI_PROG,
|
||||
SYMBOL_TYPE_SEC_PROG,
|
||||
} pa_symbol_type;
|
||||
|
||||
/* Forward declarations */
|
||||
|
||||
static boolean som_mkobject PARAMS ((bfd *));
|
||||
|
|
Loading…
Reference in a new issue