diff mbox

[doc,avr] PR61044: Note that label defferences are not supported

Message ID 53837035.6030208@gjlay.de
State New
Headers show

Commit Message

Georg-Johann Lay May 26, 2014, 4:47 p.m. UTC
This adds a note to the user manual that code with label differences is not 
supported.  This is because adding an offset to a stub address as generated 
with gs() will in general not yield the address of the label+offset.

This actually occurs only if gs() has something to do, e.g. on devices with 
more than 128KiB of flash; but I don't see any benefit from supporting the 
feature on small devices -- left out all the problems caused by relaxing and 
when gas resolves the label difference.

Thus, add a note that it's not available on any AVR and mark the PR as invalid.

Ok for trunk?

Johann


	PR target/61044
	* doc/extend.texi (Local Labels): Note that label differences are
	not supported for AVR.

Comments

Denis Chertykov May 27, 2014, 10:59 a.m. UTC | #1
2014-05-26 20:47 GMT+04:00 Georg-Johann Lay <avr@gjlay.de>:
> This adds a note to the user manual that code with label differences is not
> supported.  This is because adding an offset to a stub address as generated
> with gs() will in general not yield the address of the label+offset.
>
> This actually occurs only if gs() has something to do, e.g. on devices with
> more than 128KiB of flash; but I don't see any benefit from supporting the
> feature on small devices -- left out all the problems caused by relaxing and
> when gas resolves the label difference.
>
> Thus, add a note that it's not available on any AVR and mark the PR as
> invalid.
>
> Ok for trunk?
>
> Johann
>
>
>         PR target/61044
>         * doc/extend.texi (Local Labels): Note that label differences are
>         not supported for AVR.
>
> Index: doc/extend.texi
>

Approved.
Please, apply.
diff mbox

Patch

Index: doc/extend.texi
===================================================================
--- doc/extend.texi     (revision 210936)
+++ doc/extend.texi     (working copy)
@@ -373,6 +373,8 @@  goto *(&&foo + array[i]);
  This is more friendly to code living in shared libraries, as it reduces
  the number of dynamic relocations that are needed, and by consequence,
  allows the data to be read-only.
+This alternative with label differences is not supported for the AVR target,
+please use the first approach for AVR programs.

  The @code{&&foo} expressions for the same label might have different
  values if the containing function is inlined or cloned.  If a program