The linker rejects --relax in relocatable links (-r), hence only
add --relax when -r is not specified.

Applied as obvious.

Johann

--

AVR: target/121608 - Don't add --relax when linking with -r.

The linker rejects --relax in relocatable links (-r), hence only
add --relax when -r is not specified.

gcc/
        PR target/121608
        * config/avr/specs.h (LINK_RELAX_SPEC): Wrap in %{!r...}.

diff --git a/gcc/config/avr/specs.h b/gcc/config/avr/specs.h
index ff269bf43bd..c95c75856cb 100644
--- a/gcc/config/avr/specs.h
+++ b/gcc/config/avr/specs.h
@@ -57,7 +57,7 @@ along with GCC; see the file COPYING3.  If not see
   "%(asm_errata_skip) "

 #define LINK_RELAX_SPEC                         \
-  "%{mrelax:--relax} "
+  "%{!r:%{mrelax:--relax}} "

 #undef  LINK_SPEC
 #define LINK_SPEC                               \

Reply via email to