This is the mail archive of the binutils@sourceware.org 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: New syntax for IVMS prolog epilog size


Nick Clifton wrote:

Is the slot count always guaranteed to be a 4-byte value or could it be bigger (8-byte maybe ?) or smaller. If this is the case then adding a size to the directive would make sense. Ie:

.slot_count4 .LPE2 , .LFB2

From the HP Dwarf extensions manual:


If the value of DW_AT_HP_prologue has class constant, then the integer value of the attribute gives the offset of the one and only prologue end relative to the base of reference.

-------------
Note: This is the case we are discussing above, but it gets more complicated for multiple prologues (and epilogues), for which we need SLEB slot offsets, and possibly even addresses.
-------------


This case applies when there is a single prologue end location and it is in the same section as the base of reference.

If no DW_AT_HP_prologue is specified, then the (only) prologue end is assumed to be equal to the base of reference.

If the value of DW_AT_HP_prologue has class block, then the block contains a sequence of values. The first value is a signed non-zero LEB integer value. There are two cases:
1.If the first value is positive, it is a count of the number of signed LEB integer values that follow. Each such value is an (instruction slot) offset relative to the base of reference to a prologue end location.


This case applies when there is more than one prologue end location, but they are all in the same section as the base of reference.
2.If the first value is negative, its absolute value is a count of the number of addresses that follow. Each such address is a prologue end location.


This case applies when the conditions for using earlier cases are not satisfied.


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