George Koehler
a41b6f0458
Allow more PowerPC instructions in relocations.
...
I need this for relocations in lis/lfd pairs. I add lfd along with
addi, lfs, lha, stfs, stfd to the list.
2017-01-23 16:19:38 -05:00
David Given
9a346c382d
Turns out Apple's hi16/ha16 exactly match my ha16/has16, so renamed
...
accordingly. (Memo to self: read the docs *before* doing the work.)
2017-01-15 11:59:33 +01:00
David Given
f80acfe9f5
Signed vs unsigned lower halves of powerpc fixups are now handled by having two
...
assembler directives, ha16() and has16(), for the upper half; has16() applies
the sign adjustment. .powerpcfixup is now gone, as we generate the relocation
in ha*() instead. Add special logic to the linker for undoing and redoing the
sign adjustment when reading/writing fixups. Tests still pass.
2017-01-15 11:51:37 +01:00
David Given
14aab21204
Revert change; addis/ori requires different handling to addis/lwz due to ori's
...
payload being unsigned while lwz's payload is signed.
2017-01-15 10:31:20 +01:00
David Given
8edbff9795
Add assembler support for fixing up arbitrary oris/addi pairs of instructions;
...
this should allow oris/lwz constant value loads, which will save an opcode.
2017-01-15 00:15:01 +01:00
David Given
80cb6ba927
Eliminate the RELOH2 relocation, as it never worked --- the address would be
...
calculated incorrectly because of overflow errors.
Replace it with an extended RELOPPC relocation which understands addis/ori
pairs; add an la pseudoop to the assembler which generates these and the
appropriate relocation. Make good.
--HG--
branch : dtrg-experimental-powerpc-branch
2016-09-17 12:43:15 +02:00
David Given
ef8e6e25e0
Fix a whole pile of issues related to the failed attempt to increase
...
the number of types of relocation possible in the object file. (Now,
hopefully, working.)
Also change the object serialiser/deserialiser to never try to read or
write raw structures; it's way safer this way and we don't need the
performance boost any more.
--HG--
branch : default-branch
2016-03-18 21:46:55 +01:00
David Given
5e9102955c
Reworked VC4 relocations and some of the instruction encoding to be actually correct. Now generating what could be real code!
...
--HG--
branch : dtrg-videocore
2013-05-21 23:17:30 +01:00
David Given
5378e3fe53
Add special relocation type for VC4 jump instructions.
...
--HG--
branch : dtrg-videocore
2013-05-17 22:40:50 +01:00
David Given
c93cb69959
Check in incomplete Linux PowerPC and M68K work.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-08 00:48:48 +01:00
dtrg
45b4fef7d6
Rationalised use of #includes to be more standards-compliant.
2006-07-30 23:40:35 +00:00
ceriel
5c83e7dbb5
Header --> Id
1994-06-24 11:31:16 +00:00
ceriel
df1ed9426d
Do not use '#endif/#else xxx'; it is not allowed for ANSI C
1991-12-17 15:28:58 +00:00
ceriel
c1ffb28416
improved the c-flag, and corrected a bug in the produced relocation info
1987-08-26 13:22:44 +00:00
ceriel
4caf71f5b5
Some changes to handle more on small machines:
...
a section is now split into parts that fit in core
1987-05-21 10:06:14 +00:00
ceriel
815166e421
Added copyright notice
1987-03-09 19:15:41 +00:00
ceriel
baf5b74da2
A new version, that no longer tries to move all null parts to the end
...
of a segment. It also uses the "object" library to read and write ACK-
object files and libraries.
1986-10-20 10:17:57 +00:00
ceriel
8ffde3c86a
I don't really know why, but the file was changed.
1986-10-20 09:35:51 +00:00
keie
78961d37c1
Now using out.h from ../../h
1985-04-18 15:22:22 +00:00
duk
d7fb9edfe2
Maybe some minor changes.
1985-01-10 13:35:39 +00:00