1.5.8 linker error?

When I try to compile on 1.5.8 I get:

/arduino-1.5.8/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr6/libc.a(isspace.o): In function `isspace':
(.text.avr-libc+0x2): relocation truncated to fit: R_AVR_13_PCREL against symbol `__ctype_isfalse' defined in .text.avr-libc section in /arduino-1.5.8/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr6/libc.a(cty_isfalse.o)
collect2: error: ld returned 1 exit status
Error compiling.

I don't get this error with 1.0.x

Did you add compiler optimizations ?
Is it with the Arduino Mega 2560 ?

The compiler has optimized the code and also the addresses, and the linker is missing a part of the address and can't link everything together anymore.

It is on a Mega2560.
I am running Visual Micro but I don't believed I've changed anything regarding the compiler.
I get this error in both the arduino IDE as well as Visual Micro.

I'd really like to use 1.5.8 to get rid of all the warnings generated by the F() macro.

It is a compiler option that has gone too far. Or a mismatch between compiler versions.
The compiler options are in the Arduino file "platform.txt". It is mainly -Os and some segment names.
Or do you have PROGMEM data larger than 64k ? I think that is still not fixed.

If you install Arduino 1.5.8 on an other computer or other operating system, and there are no traces of other avr gcc compiler or Arduino there, I think it will run okay if your PROGMEM data does not exceed the 64k.
In Windows and linux, I use the zip-file and unzip it in a folder in my home folder. That way no system-wide things are installed and it is possible to have a few different Arduino versions on the same computer.

I doubt that the strings I'm saving in progmem are even 1k. I'll try to find another computer to do a fresh install.