This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch,wwwdocs] Add gcc-5 caveats for avr.


Am 04/20/2015 um 09:02 PM schrieb Gerald Pfeifer:
Hi Johann,

On Mon, 20 Apr 2015, Georg-Johann Lay wrote:
Okay to install?

+    <li>The AVR port uses a new scheme to describe supported devices:
+        For each supported device the compiler provides a device-specific
+        <a href="http://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html";>spec
file</a>.
+        If the compiler is used together with AVR-LibC, this requires at
+        least GCC&nbsp;5.2 and a version of AVR-LibC which implements
+        <a href="http://savannah.nongnu.org/bugs/?44574";</a>#44574</a>.</li>

Can you please make the two links https-links?  (Especially the
one to gcc.gnu.org actually redirects.)

Just using "#44574" for a reference, may that be a little confusing,
or is it sufficiently clear to AVR users?

+  <li>A new command option <code>-nodevicelib</code> has been added.

"command-line option"

+    If this option is turned on the compiler won't link against AVR-LibC's
+    device-specific library <code>lib<i>device</i>.a</code> by omitting
+    <code>-l<i>device</i></code> from the linker's command line.

How about making this "...-nodevicelib</code> prevents the compiler
from linking against...."?

+    If the compiler had not been
+    <a href="http://gcc.gnu.org/install/configure.html";>configured</a>
+    to be used with AVR-LibC, the compiler will not link against that
+    library and the option has no effect.</li>

"was not" (or "is") instead of "had not", and can you please use
https here as well?

Though, really, could this be just simplified to "If the compiler is
not configured for use with AVR-LibC to begin with, this option has no effect"?


Your patch is fine with the above changes or considering them and
deciding not go for one or the other.

Gerald


Thanks for your support.  The new entry also contains more topics.





Index: gcc-5/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v
retrieving revision 1.109
diff -u -p -r1.109 changes.html
--- gcc-5/changes.html	20 Apr 2015 08:22:35 -0000	1.109
+++ gcc-5/changes.html	21 Apr 2015 13:00:11 -0000
@@ -28,6 +28,14 @@
         <code>is_trivially_default_constructible</code>,
         <code>is_trivially_copy_constructible</code> and
         <code>is_trivially_copy_assignable</code> should be used instead.</li>
+    <li>On AVR, support has been added for the devices ATtiny4/5/9/10/20/40.
+        This requires Binutils&nbsp;2.25 or newer.</li>
+    <li>The AVR port uses a new scheme to describe supported devices:
+        For each supported device the compiler provides a device-specific
+        <a href="https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html";>spec file</a>.
+        If the compiler is used together with AVR-LibC, this requires at
+        least GCC&nbsp;5.2 and a version of AVR-LibC which implements
+        <a href="https://savannah.nongnu.org/bugs/?44574";</a>feature #44574</a>.</li>
   </ul>
 
 <h2 id="general">General Optimizer Improvements</h2>
@@ -690,6 +698,57 @@ here</a>.</p>
      </li>
      </ul>
 
+<h3 id="avr">AVR</h3>
+<ul>
+  <li>The compiler no more supports individual devices like <code>ATmega8</code>.
+    Specifying, say, <code>-mmcu=atmega8</code> triggers the usage of the
+    device-specific
+    <a href="https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html";>spec file</a>
+    <code>specs-atmega8</code> which is part of the installation and describes
+    options for the sub-processes like compiler proper, assembler and linker.
+    You can add support for a new device <code>-mmcu=<i>mydevice</i></code> as follows:
+        <ol>
+          <li>In an empty directory <code>/<i>someplace</i></code>, create a new
+          directory <code>device-specs</code>.</li>
+          <li>Copy a device spec file from the installed <code>device-specs</code>
+            folder, follow the comments in that file and then save it as
+            <code>/<i>someplace</i>/device-specs/specs-<i>mydevice</i></code>.
+          <li>Add <code>-B /<i>someplace</i> -mmcu=<i>mydevice</i></code> to the
+            compiler's command-line options.  Notice that <code>/<i>someplace</i></code>
+            must specify an absolute path and that <code><i>mydevice</i></code> must
+            not start with "<code>avr</code>".</li>
+          <li>Provided you have a device-specific library
+            <code>lib<i>mydevice</i>.a</code> available, you can put it at
+            <code>/<i>someplace</i></code>, dito for a device-specific startup
+            file <code>crt<i>mydevice</i>.o</code>.</li>
+        </ol>
+        The contents of the device spec files depend on the compiler's
+        configuration, in particular on <code>--with-avrlibc=no</code> and
+        whether or not it is configured for RTEMS.
+  </li>
+  <li>A new command-line option <code>-nodevicelib</code> has been added.
+    It prevents the compiler from linking against AVR-LibC's
+    device-specific library <code>lib<i>device</i>.a</code>.</li>
+  <li>The following three command-line options have been added:
+    <dl>
+      <dt><code>-mrmw</code></dt>
+      <dd>Set if the device supports the read-modify-write instructions
+        <code>LAC</code>, <code>LAS</code>, <code>LAT</code>
+        and <code>XCH</code>.</dd>
+      <dt><code>-mn-flash=<i>size</i></code></dt>
+      <dd>Specify the flash size of the device in units of 64&nbsp;KiB,
+        rounded up to the next integer as needed.  This option affects the
+        availability of the
+        <a href="https://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html";>AVR
+          address-spaces</a>.</dd>
+      <dt><code>-mskip-bug</code></dt>
+      <dd>Set if the device is affected by the respective silicon bug.</dd>
+    </dl>
+    In general, you don't need to set these options by hand.  The new
+    device-specific spec file will set them as needed.
+  </li>
+</ul>
+
 <h3 id="x86">IA-32/x86-64</h3>
   <ul>
     <li>New ISA extensions support

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]