Somewhat tangential to you original line of experiment: I've made a
couple of changes to the trunk version of proton in the last few days
that should completely eliminate static use of the .data section for
proton. There were a bunch of things that I've made "const" and so have
moved to .rodata in a static build and so should go into ROM with the
program and not RAM any longer.
This may save up to around 30-40k of data space depending on what gets
statically linked into your code. I don't know if any of your private
modifications will have preempted these changes so I suggest you give
trunk another go and see how much extra headroom you have now.
Just to be clear: these changes don't affect the dynamic allocation
behaviour of proton at all, just what is statically allocated before the
program even runs.