2015-03-10 18:02 GMT+03:00 Georg-Johann Lay <a...@gjlay.de>: > This is just a small addendum to the option and specs handling: > > - Document new avr-gcc command options > > - Change -march= to -mmcu= in some test cases > > - Add comfigure test to detect whether gas supports -mrmw and --mlink-relax. > > - Use result of these tests in specs generatio, i.e. omit respective options > if they are not supported. > > > Ok to apply? > > > Two issues remain: > > - The tests that add -mmcu= to the command options will fail because there > must not be more than one -mmcu=. Supporting several, incompatible MCUs > makes no sense (same for incompatible -march + -mmcu which was the case). > In 4.9 this works per accident with unspecified definitions for built-in > macros or when the options differ in default settings, for example. > > - Spaces in the installation path are not supported. It's possible to > recover from spaces in -specs= by escaping them in spec function > device-specs-file. However this is almost impossible for the device library > without changing gcc.c which can use convert_white_space() as needed. > Adding more than one escape level is not possible because the '\' would be > interpreted as part of the path. > > > Johann > > > gcc/ > PR target/65296 > * configure.ac [avr]: Check as for options -mrmw, --mlink-relax. > * configure: Regenerate. > * config.in: Regenerate. > * config/avr/gen-avr-mmcu-specs.c (config.h): Include it. > (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION. > (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION. > > > gcc/ > PR target/65296 > * doc/invoke.texi (AVR Options) [-mrmw]: Document it. > [-mn-flash]: Document it. > [__AVR_DEVICE_NAME__]: Document it. > [__ARV_ARCH__]: Document avrtiny. > > gcc/testsuite/ > PR target/65296 > * gcc.target/avr/tiny-memx: Use -mmcu instead of -march. > * gcc.target/avr/tiny-caller-save.c: Same. > > > gcc/ > PR target/65296 > * configure.ac [avr]: Check as for option -mrmw. > * configure: Regenerate. > * config.in: Regenerate. > * config/avr/driver-avr.c (avr_device_to_as): Don't add -mrmw to > assembler options if not HAVE_AS_AVR_MRMW_OPTION. >
Approved. Denis.