* 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:
Jeff Law 1993-11-12 23:43:24 +00:00
parent 70f1d7387e
commit 4fdb66cd50
2 changed files with 34 additions and 0 deletions

View file

@ -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.

View file

@ -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 *));