[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/10774] Bogus documentation
From: |
konrad.schwarz at siemens dot com |
Subject: |
[Bug ld/10774] Bogus documentation |
Date: |
Wed, 16 Sep 2015 06:54:36 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=10774
--- Comment #2 from Konrad Schwarz <konrad.schwarz at siemens dot com> ---
I believe ELF reserves section names beginning with a dot for its own use, so
technically you shouldn't name your sections .FLASH or .ROM.
The compiler will issue a diagnostic for a write to a const-qualified object.
In your example, the symbols are not const qualified. You would make more use
of the type-checking facilities of the compiler with
extern char const start_of_FLASH [];
This makes the clause about the compiler being able to check writes true.
(You would then probably want to replace start_of_FLASH with start_of_ROM in
the later example dealing with alignment.)
I prefer `&start_of_FLASH' to `& start_of_FLASH'; as I leave a space around
binary operators `a & b', it makes it easier to distinguish between the unary
and binary meanings of `&'.
In the final section, I would write "transformations". There is one
transformation from C++ symbol to C symbol names (mangling), and possibly a
second transformation from C to assember/linker names (e.g., underscore
prepending). Mangling is dealt with `extern "C"'. You could add that from
C++, you need to declare `foo' as `extern "C" int foo [];'
--
You are receiving this mail because:
You are on the CC list for the bug.