I'm seeing the same thing. I'm using a Due board and I've tried to switch the optimizations from -Os to -O2 or -O3 and it isn't taken effect as observed by viewing console output in the IDE after enabling verbose compiler output....and yes, I made the changes with the IDE not running and then started it up afterward.
I'm running 64 bit version 1.6.5 on a customized Fedora base install with kernel 3.8.13.
1.6.5 doesn't even have a "custom" binary and there is already an avrdude binary in the avr/bin directory. The platform.txt references avrdude as well. This is seriously getting irritating
I have grepped the entire source tree and cannot find where that param is being defined and used.
-> Update <-
Doh! Nevermind, it's the platform.txt file in the ~/.arduino15 directory...not the one that comes with the IDE source
On linux, the path is ~/.arduino15/packages/arduino/hardware/sam/1.6.4/