ack/util/led
George Koehler 1bf58cf51c Add RELOLIS for PowerPC lis with ha16 or hi16.
The new relocation type RELOLIS handles these instructions:

    lis RT, ha16[expr] == addis RT, r0, ha16[expr]
    lis RT, hi16[expr] == addis RT, r0, hi16[expr]

RELOLIS stores a 32-bit value in the program text.  In this value, the
high bit is a ha16 flag, the next 5 bits are the target register RT,
and the low bits are a signed 26-bit offset.  The linker replaces this
value with the lis instruction.

The old RELOPPC relocated a ha16/lo16 or hi16/lo16 pair.  The new
RELOLIS relocates only a ha16 or hi16, so it is no longer necessary to
have a matching lo16 in the next instruction.  The disadvantage is
that RELOLIS has only a signed 26-bit offset, not a 32-bit offset.

Switch the assembler to use RELOLIS for ha16 or hi16 and RELO2 for
lo16.  The li32 instruction still uses the old RELOPPC relocation.

This is not the same as my RELOPPC change from my recent mail to
tack-devel (https://sourceforge.net/p/tack/mailman/message/35651528/).
This commit is on a different branch.  Here I am throwing away my
RELOPPC change and instead trying RELOLIS.
2017-02-08 11:46:31 -05:00
..
ack.out.5 Tune the installed manual pages. 2017-01-18 23:02:30 -05:00
archive.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
assert.h Header --> Id 1994-06-24 11:31:16 +00:00
build.lua LED builds now. 2016-08-14 14:40:01 +02:00
const.h Signed vs unsigned lower halves of powerpc fixups are now handled by having two 2017-01-15 11:51:37 +01:00
debug.h Signed vs unsigned lower halves of powerpc fixups are now handled by having two 2017-01-15 11:51:37 +01:00
defs.h Header --> Id 1994-06-24 11:31:16 +00:00
error.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
extract.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
finish.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
led.6 Tune the installed manual pages. 2017-01-18 23:02:30 -05:00
led.layout Initial revision 1987-04-16 16:04:55 +00:00
mach.h LED builds now. 2016-08-14 14:40:01 +02:00
main.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
memory.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
memory.h Header --> Id 1994-06-24 11:31:16 +00:00
memory_layout Do not use '#endif/#else xxx'; it is not allowed for ANSI C 1991-12-17 15:28:58 +00:00
orig.h Header --> Id 1994-06-24 11:31:16 +00:00
output.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
proto.make Header --> Id 1994-06-24 11:31:16 +00:00
read.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
relocate.c Add RELOLIS for PowerPC lis with ha16 or hi16. 2017-02-08 11:46:31 -05:00
save.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
scan.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
scan.h Header --> Id 1994-06-24 11:31:16 +00:00
sym.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
write.c Clean up the led includes. 2017-01-18 19:55:56 +01:00
WRONG Adapted to current situation 1987-01-29 13:20:23 +00:00