Commit 2e152e16 by Anatoly Sokolov Committed by Anatoly Sokolov

avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.

	* config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
	* config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.

From-SVN: r131609
parent 185082a7
2008-01-17 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
* config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
2008-01-17 Seongbae Park <seongbae.park@gmail.com> 2008-01-17 Seongbae Park <seongbae.park@gmail.com>
PR rtl-optimization/34400 PR rtl-optimization/34400
......
...@@ -737,12 +737,21 @@ extern int avr_case_values_threshold; ...@@ -737,12 +737,21 @@ extern int avr_case_values_threshold;
#define ASM_SPEC "%{mmcu=avr25:-mmcu=avr2;mmcu=avr35:-mmcu=avr3;\ #define ASM_SPEC "%{mmcu=avr25:-mmcu=avr2;mmcu=avr35:-mmcu=avr3;\
mmcu=*:-mmcu=%*}" mmcu=*:-mmcu=%*}"
#define LINK_SPEC " %{!mmcu*:-m avr2}\ #define LINK_SPEC "\
%{mrelax:--relax\
%{mpmem-wrap-around:%{mmcu=at90usb8*:--pmem-wrap-around=8k}\
%{mmcu=atmega16*:--pmem-wrap-around=16k}\
%{mmcu=atmega32*|\
mmcu=at90can32*:--pmem-wrap-around=32k}\
%{mmcu=atmega64*|\
mmcu=at90can64*|\
mmcu=at90usb64*:--pmem-wrap-around=64k}}}\
%{!mmcu*: -m avr2}\
%{mmcu=at90s1200|\ %{mmcu=at90s1200|\
mmcu=attiny11|\ mmcu=attiny11|\
mmcu=attiny12|\ mmcu=attiny12|\
mmcu=attiny15|\ mmcu=attiny15|\
mmcu=attiny28:-m avr1}\ mmcu=attiny28: -m avr1}\
%{mmcu=attiny22|\ %{mmcu=attiny22|\
mmcu=attiny26|\ mmcu=attiny26|\
mmcu=at90s2*|\ mmcu=at90s2*|\
...@@ -756,19 +765,19 @@ mmcu=*:-mmcu=%*}" ...@@ -756,19 +765,19 @@ mmcu=*:-mmcu=%*}"
mmcu=attiny25|\ mmcu=attiny25|\
mmcu=attiny261|\ mmcu=attiny261|\
mmcu=attiny4*|\ mmcu=attiny4*|\
mmcu=attiny8*:-m avr2}\ mmcu=attiny8*: -m avr2}\
%{mmcu=atmega103|\ %{mmcu=atmega103|\
mmcu=at43*|\ mmcu=at43*|\
mmcu=at76*|\ mmcu=at76*|\
mmcu=at90usb82|\ mmcu=at90usb82|\
mmcu=at90usb162:-m avr3}\ mmcu=at90usb162: -m avr3}\
%{mmcu=atmega8*|\ %{mmcu=atmega8*|\
mmcu=atmega48*|\ mmcu=atmega48*|\
mmcu=at90pwm1|\ mmcu=at90pwm1|\
mmcu=at90pwm2|\ mmcu=at90pwm2|\
mmcu=at90pwm2b|\ mmcu=at90pwm2b|\
mmcu=at90pwm3|\ mmcu=at90pwm3|\
mmcu=at90pwm3b:-m avr4}\ mmcu=at90pwm3b: -m avr4}\
%{mmcu=atmega16*|\ %{mmcu=atmega16*|\
mmcu=atmega32*|\ mmcu=atmega32*|\
mmcu=atmega406|\ mmcu=atmega406|\
...@@ -779,7 +788,7 @@ mmcu=*:-mmcu=%*}" ...@@ -779,7 +788,7 @@ mmcu=*:-mmcu=%*}"
mmcu=at90pwm316|\ mmcu=at90pwm316|\
mmcu=at90usb64*|\ mmcu=at90usb64*|\
mmcu=at90usb128*|\ mmcu=at90usb128*|\
mmcu=at94k:-m avr5}\ mmcu=at94k: -m avr5}\
%{mmcu=atmega324*|\ %{mmcu=atmega324*|\
mmcu=atmega325*|\ mmcu=atmega325*|\
mmcu=atmega328p|\ mmcu=atmega328p|\
......
...@@ -58,3 +58,11 @@ Output instruction sizes to the asm file ...@@ -58,3 +58,11 @@ Output instruction sizes to the asm file
mtiny-stack mtiny-stack
Target Report Mask(TINY_STACK) Target Report Mask(TINY_STACK)
Change only the low 8 bits of the stack pointer Change only the low 8 bits of the stack pointer
mrelax
Target Report
Relax branches
mpmem-wrap-around
Target Report
Make the linker relaxation machine assume that a program counter wrap-around occures.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment