As already discussed, this patch removes the -mshort-calls command option from avr-gcc.
Ok to apply? If the change is on order, changes to wwwdocs will follow, i.e. deprecate the option in 4.7 and tell it is removed in the 4.8 caveats. Johann * doc/invoke.texi (AVR Options): Remove -mshort-calls. * config/avr/avr.opt (-mshort-calls): Remove option. * config/avr/avr.h (AVR_HAVE_JMP_CALL): Don't depend on TARGET_SHORT_CALLS.
Index: doc/invoke.texi =================================================================== --- doc/invoke.texi (revision 192131) +++ doc/invoke.texi (working copy) @@ -505,7 +505,7 @@ Objective-C and Objective-C++ Dialects}. @emph{AVR Options} @gccoptlist{-mmcu=@var{mcu} -maccumulate-args -mbranch-cost=@var{cost} @gol --mcall-prologues -mint8 -mno-interrupts -mrelax -mshort-calls @gol +-mcall-prologues -mint8 -mno-interrupts -mrelax @gol -mstrict-X -mtiny-stack} @emph{Blackfin Options} @@ -11291,13 +11291,6 @@ differ from instructions in the assemble Relaxing must be turned on if linker stubs are needed, see the section on @code{EIND} and linker stubs below. -@item -mshort-calls -@opindex mshort-calls -Use @code{RCALL}/@code{RJMP} instructions even on devices with -16@tie{}KiB or more of program memory, i.e.@: on devices that -have the @code{CALL} and @code{JMP} instructions. -See also the @code{-mrelax} command line option. - @item -msp8 @opindex msp8 Treat the stack pointer register as an 8-bit register, @@ -11560,7 +11553,7 @@ The device has a hardware multiplier. @item __AVR_HAVE_JMP_CALL__ The device has the @code{JMP} and @code{CALL} instructions. This is the case for devices with at least 16@tie{}KiB of program -memory and if @code{-mshort-calls} is not set. +memory. @item __AVR_HAVE_EIJMP_EICALL__ @item __AVR_3_BYTE_PC__ Index: config/avr/avr.opt =================================================================== --- config/avr/avr.opt (revision 192131) +++ config/avr/avr.opt (working copy) @@ -50,10 +50,6 @@ Target Report Undocumented Mask(ORDER_1) morder2 Target Report Undocumented Mask(ORDER_2) -mshort-calls -Target Report Mask(SHORT_CALLS) -Use rjmp/rcall (limited range) on >8K devices - mtiny-stack Target Report Mask(TINY_STACK) Change only the low 8 bits of the stack pointer Index: config/avr/avr.h =================================================================== --- config/avr/avr.h (revision 192131) +++ config/avr/avr.h (working copy) @@ -57,7 +57,7 @@ enum #define TARGET_CPU_CPP_BUILTINS() avr_cpu_cpp_builtins (pfile) -#define AVR_HAVE_JMP_CALL (avr_current_arch->have_jmp_call && !TARGET_SHORT_CALLS) +#define AVR_HAVE_JMP_CALL (avr_current_arch->have_jmp_call) #define AVR_HAVE_MUL (avr_current_arch->have_mul) #define AVR_HAVE_MOVW (avr_current_arch->have_movw_lpmx) #define AVR_HAVE_LPMX (avr_current_arch->have_movw_lpmx)