From: Georg-Johann Lay <avr@gjlay.de>
To: gcc-patches@gcc.gnu.org
Cc: Gerald Pfeifer <gerald@pfeifer.com>,
Denis Chertykov <chertykov@gmail.com>,
Eric Weddington <eric.weddington@atmel.com>
Subject: Re: [Patch,wwwdocs,AVR]: AVR release notes
Date: Mon, 30 Jan 2012 13:55:00 -0000 [thread overview]
Message-ID: <4F26A14D.4050207@gjlay.de> (raw)
In-Reply-To: <alpine.LNX.2.00.1201300020280.2227@gerinyyl.fvgr>
[-- Attachment #1: Type: text/plain, Size: 3622 bytes --]
Gerald Pfeifer wrote:
> On Fri, 20 Jan 2012, Georg-Johann Lay wrote:
>> Adding AVR-specific release notes to wwwdocs/htdocs/gcc-4.7/changes.html
>
> Index: changes.html
> ===================================================================
> + <li>The AVR port's libgcc has been improved and its multilib structure
> + has been enhanced. As a result, all objects contributing to an
> + application must either be compiled with GCC versions up to 4.6.x or
> + with GCC versions ≥ 4.7.</li>
>
> How about "...compiled with older versions of GCC, up to GCC 4.6.x,
> or GCC 4.7.0 and later" ?
The "compiled with" might be confusing, for example if someone uses a library
generated with 4.6 and compiles his application with 4.7. He does not compile
the library, but yet he might run into problems because the code assumes a
specific layout of libgcc. Therefore I used the "all objects" wording. It's bit
more technical, but I hoped the reduce misunderstandings.
> And I'd omit the just ≥4.7.0 should work?
>
> + <li>Support has beed added for instrinsic named address spaces
>
> "Support for...has been added" (also typo: beed -> been)
>
> + <code>__pgm</code>, <code>__pgm1</code>, …, <code>__pgm5</code>
>
> How about omitting here?
>
> + and <code>__pgmx</code>. These address spaces locate read-only data in
> + flash memory and allow reading from flash memory by means of vanilla
> + C instructions, i.e. without the need of (inline) assembler code.</li>
>
> What's a C instruction? C builtins?
Is "C code" better? Or C-code? Without the extension, inline assembler must be
used to get correct code, using C like a = b or pstruct->component will yield
wrong code without the extensions if b or *pstruct is located in flash.
> + <li>Support for AVR-specific built-in functions has beed added.</li>
>
> Which ones?
Must they all be named explicitly? Or is it ok to link to onlinedocs?
I'd prefer a link to the explanation in onlinedocs but I am unsure how stable
the links are as docs evolve over time/versions.
> + <li>New command-line options <code>-maccumulate-args</code>,
> + <code>-mbranch-cost=<i>cost</i></code> and <code>-mstrict-X</code>
> + were added to allow better fine-tuning of code optimization.</li>
>
> Should X be put under <i>...</i> here, to?
No, the X refers to X-register and must be literally, nothing else than
uppercase X is permitted.
> + <li>Many optimizations to:
> + <ul>
> + <li>64-bit integer arithmetic</li>
> + <li>Widening multiplication</li>
> + <li>Integer divide-by-constant</li>
>
> "division by a constant"
>
> + <li>Generic built-in functions + like <code>__builtin_ffs*</code>,
> <code>__builtin_clz*</code>, etc.</li>
>
> I don't think we need here. Breaking the lines here is something
> a web browser should avoid, but it is not verboten, technically.
Tried to get typesetting all right and avoid Hurenkinder, and I really don't
know if browsers add penalties like TeX does. I frequently see browsers offend
typesetting rules if there is no nanny.
What does "need no " mean? Nothing at ",etc." all or blank ", etc."?
>
> + <li>Merging of data in <code>.progmem</code></li>
>
> What is ".progmen"? Perhaps paraphrase this briefly?
Not easy without getting into too much technical details...
Maybe Eric can help. He is definitely better in English than I am.
> The update is fine assuming you look into my suggestions.
Attached an updated patch as there were many changes and so that Eric and Denis
can easier catch up.
Johann
[-- Attachment #2: www-changes-avr.diff --]
[-- Type: text/x-patch, Size: 2844 bytes --]
Index: changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.7/changes.html,v
retrieving revision 1.73
diff -u -r1.73 changes.html
--- changes.html 12 Jan 2012 19:35:29 -0000 1.73
+++ changes.html 30 Jan 2012 13:42:13 -0000
@@ -45,6 +45,11 @@
<code>-compat-bsd</code> compiler option is not recognized any
longer.</li>
+ <li>The AVR port's libgcc has been improved and its multilib structure
+ has been enhanced. As a result, all objects contributing to an
+ application must either be compiled with GCC versions up to 4.6.x or
+ with GCC versions 4.7.0 or later.</li>
+
<li>The ARM port's <code>-mwords-little-endian</code> option has
been deprecated. It will be removed in a future release.</li>
@@ -530,6 +535,44 @@
<h2 id="targets">New Targets and Target Specific Improvements</h2>
+<h3 id="avr">AVR</h3>
+ <ul>
+ <li>Support for the
+ <a href="http://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html">named address spaces</a>
+ <code>__flash</code>, <code>__flash1</code>,…,
+ <code>__flash5</code> and <code>__memx</code> has beed added.
+ These address spaces locate read-only data in
+ flash memory and allow reading from flash memory by means of ordinary
+ C code, i.e. without the need of (inline) assembler code.</li>
+ <li>Support for AVR-specific <a href="http://gcc.gnu.org/onlinedocs/gcc/AVR-Built_002din-Functions.html">built-in functions</a>
+ has beed added.</li>
+ <li>Support has beed added for the built-in, 24-bit, signed and unsigned
+ integer types <code>__int24</code> and <code>__uint24</code>.</li>
+ <li>New command-line options <code>-maccumulate-args</code>,
+ <code>-mbranch-cost=<i>cost</i></code> and <code>-mstrict-X</code>
+ were added to allow better fine-tuning of code optimization.</li>
+ <li>Many optimizations to:
+ <ul>
+ <li>64-bit integer arithmetic</li>
+ <li>Widening multiplication</li>
+ <li>Integer division by a constant</li>
+ <li>Generic built-in functions like
+ <code>__builtin_ffs*</code>, <code>__builtin_clz*</code>, etc.</li>
+ <li>If-else decision trees generated by <code>switch</code> instructions</li>
+ <li>Merging of data located in flash memory</li>
+ <li>New libgcc variants for devices with 8-bit wide stack pointer</li>
+ <li>…</li>
+ </ul>
+ <li>Better documentation:
+ <ul>
+ <li>Handling of <code>EIND</code> and indirect jumps on devices with
+ more than 128 KiB of program memory.</li>
+ <li>Function attributes <code>OS_main</code> and <code>OS_task</code>.</li>
+ <li>AVR-specific built-in macros.</li>
+ </ul>
+ </li>
+ </ul>
+
<h3 id="arm">ARM</h3>
<ul>
<li>GCC now supports the Cortex-A7 processor implementing the
next prev parent reply other threads:[~2012-01-30 13:55 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-20 18:30 Georg-Johann Lay
2012-01-25 15:57 ` Ping #1: " Georg-Johann Lay
2012-01-29 23:27 ` Gerald Pfeifer
2012-01-30 13:55 ` Georg-Johann Lay [this message]
2012-01-30 18:59 ` Weddington, Eric
2012-01-30 23:07 ` Georg-Johann Lay
2012-02-12 22:23 ` Gerald Pfeifer
2012-02-13 14:28 ` Weddington, Eric
2012-02-15 17:04 ` Georg-Johann Lay
2012-02-15 17:17 ` Georg-Johann Lay
2015-04-11 0:02 ` Gerald Pfeifer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F26A14D.4050207@gjlay.de \
--to=avr@gjlay.de \
--cc=chertykov@gmail.com \
--cc=eric.weddington@atmel.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=gerald@pfeifer.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).