Ticket #17 (new enhancement)

Opened 3 years ago

Last modified 3 years ago

Integrate PpHd's patches to ld-tigcc

Reported by: debrouxl Owned by:
Priority: major Milestone: Version 1.00
Component: toolchain-ld-tigcc Version: 0.96
Keywords: Cc:

Description

They are needed to link PedroM.

They should be expanded if time permits (the reason why Kevin refuses to merge them in TIGCC is that they're complete enough for PedroM, but may be incomplete for another usage).

Change History

comment:1 Changed 3 years ago by godzil

  • Version set to 0.96
  • Milestone set to Version 1.00

comment:2 Changed 3 years ago by debrouxl

  • Priority changed from critical to major

comment:3 Changed 3 years ago by debrouxl

PpHd?'s patch was dropped in the ld-tigcc-flashos-improvements branch.
The documentation part of it is TBD in the ld-tigcc-flashos-improvements-doc branch.

Lowering priority to major.

comment:4 Changed 3 years ago by PpHd

The real reason why they were dropped is that the size optimisation for all writes to the RAM are not performed. Functionnaly speaking, it works (It had been tested for months with PedroM alone, PedroM + gmp/mpfr/maylib +/- test suite). They should be complete enought for all usages. The ld-tigcc infrastructure allows the size optimisation of the reads to the RAM (ie. replace the addresses from absolute.l into absolute.w when the operand is a source of the asm instruction), but it doesn't support the size optimization of the writes to the RAM. To perform such an optimisation, you need to perform some heavy changes to gas and a68k so that you export another section which logs all the start address of all the assembled instructions AND modify ld-tigcc so that it reads this section, and performs the optimisation. It is far more dangerous and error prone that the proposed patch, so I think it should go to another ticket.

Note: See TracTickets for help on using tickets.