Where did all my memory go?

DrAzzy:
I would love to know how to get the Arduino IDE to output the assembler listing (.lst) with a modified platform.txt - it should be possible...

Definitely possible.
It is not difficult. I do it and have been doing it for many years.
It involves using a wrapper script.
If you are insisting on using Windows, then well... can't help you, since that is an environment that is hostile to the commandline and does not have proper tools.

I catch the create hex rule which calls avr-objcopy.
I do what I need to do, then call the avr-objcopy.

Here is an example that I had laying around on one machine of how I did it back on IDE 1.5.5

#!/bin/sh
# NOTE:
# This intercepts the Arduino IDE avr-objcopy command
# it requires that you modify the platforms.txt file down in
# {installdir}/hardware/arduino/avr
# as follows.
#
# change the "Create Hex" recipe.objcopy.hex.pattern to insert:
# "{compiler.path}../../avr-objcopy-wrapper.sh" in front of what ever was there
# NOTE: that this rule varies from release to release so an exact example cannot be provided.
# Here is what it looks like for the 1.5.5 IDE release
# recipe.objcopy.hex.pattern="{compiler.path}../../avr-objcopy-wrapper.sh" "{compiler.path}{compiler.elf2hex.cmd}" "{compiler.elf2hex.flags}" "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"
#
# You must then name this script avr-objcopy-wrapper.sh and put it into
# {installdir}/hardware/tools
#
# after that, the files will be built automatically every time the sketch
# is built.
#
# Note that anything output from this script will show up as "red" on IDE console
#
# 2014.02.21  bperrybap - original creation
#
# author:   Bill Perry  - bperrybap@opensource.billsworld.billandterrie.com
#
##############################################################################################


echo Start of objcopy wrapper ---------------------
elfname=$3
bname=`basename $elfname .elf`
buildpath=`dirname $elfname`
compilerpath=`dirname $1`

echo Creating Listing file $buildpath/$bname.lss
#echo "$compilerpath/avr-objdump -s -H $elfname > $buildpath/$bname.lss"
$compilerpath/avr-objdump -S -h $elfname > $buildpath/$bname.lss

echo Creating Symbol table file $buildpath/$bname.sym
#echo "$compilerpath/avr-nm -S $elfname >$buildpath/$bname.sym"
$compilerpath/avr-nm -S $elfname >$buildpath/$bname.sym

echo Creating hex file $elfname
#echo $*
# run the original command
$*

echo End of objcopy wrapper ---------------------

It is also possible to do it without modifying anything in the platform file with just a shell script wrapper.
That is what I do on more recent versions of the script.

BTW,
It was also possible to this on the older IDEs before all the platform stuff.
I was also doing it back then as well using a wrapper script.

--- bill