On 30/04/18 22:12 -0600, Sandra Loosemore wrote:
On 04/30/2018 05:56 AM, Jonathan Wakely wrote:
Should we standardize on "position-independent" and add it to
https://gcc.gnu.org/codingconventions.html#Spelling ?
The same generic English usage rules apply here as to other compound
phrases; hyphenate when immediately before a noun, don't hyphenate in
other contexts. So "the compiler generates position-independent code"
and "the compiler generates code that is position independent" are
both correct.
Or we could decide that "position-independent" should always be
hyphenated as it's a commonly established adjective. I'm not arguing
in favour of that, but it's how it's used in some of the docs already.
However, I don't think it's common to use "position
independent" (hyphenated or not) except as a modifier for "code", so
you could add "position-independent code" (rather than just
"position-independent") to the glossary.
We have several of uses of "position independent executable" and
one "position independent data" which should be hyphenated.
Ignoring all the uses of "position-independent code" that already have
a hyphen we're left with the following and none of them is correct!
--
gcc/doc/invoke.texi-@opindex pie
gcc/doc/invoke.texi:Produce a dynamically linked position independent
executable on targets
gcc/doc/invoke.texi-that support it. For predictable results, you must also
specify the same
--
gcc/doc/invoke.texi-@opindex no-pie
gcc/doc/invoke.texi:Don't produce a dynamically linked position independent
executable.
gcc/doc/invoke.texi-
--
gcc/doc/invoke.texi-@opindex static-pie
gcc/doc/invoke.texi:Produce a static position independent executable on targets
that support
gcc/doc/invoke.texi:it. A static position independent executable is similar to
a static
gcc/doc/invoke.texi-executable, but can be loaded at any address without a
dynamic linker.
--
gcc/doc/invoke.texi-but not for the Sun 386i. Code generated for the IBM
RS/6000 is always
gcc/doc/invoke.texi:position-independent.
gcc/doc/invoke.texi-
--
gcc/doc/invoke.texi-Generate code that does not use a global pointer register.
The result
gcc/doc/invoke.texi:is not position independent code, and violates the IA-64
ABI@.
gcc/doc/invoke.texi-
--
gcc/doc/invoke.texi-@itemx -mno-shared
gcc/doc/invoke.texi:Generate (do not generate) code that is fully
position-independent,
gcc/doc/invoke.texi-and that can therefore be linked into shared libraries.
This option
--
gcc/doc/invoke.texi-
gcc/doc/invoke.texi:All @option{-mabicalls} code has traditionally been
position-independent,
gcc/doc/invoke.texi-regardless of options like @option{-fPIC} and
@option{-fpic}. However,
--
gcc/doc/invoke.texi-@opindex mno-pid
gcc/doc/invoke.texi:Enables the generation of position independent data. When
enabled any
gcc/doc/invoke.texi-access to constant data is done via an offset from a base
address
--
gcc/doc/md.texi-Constant for arithmetic/logical operations.
gcc/doc/md.texi:This is like @code{i}, except that for position independent
code,
gcc/doc/md.texi-no symbols / expressions needing relocations are allowed.
--
gcc/doc/tm.texi-* Sections:: Dividing storage into text, data, and
other sections.
gcc/doc/tm.texi:* PIC:: Macros for position independent code.
gcc/doc/tm.texi-* Assembler Format:: Defining how to write insns and
pseudo-ops to output.
--
gcc/doc/tm.texi-@section Position Independent Code
gcc/doc/tm.texi:@cindex position independent code
gcc/doc/tm.texi-@cindex PIC
--
gcc/doc/tm.texi-A C expression that is nonzero if @var{x} is a legitimate
immediate
gcc/doc/tm.texi:operand on the target machine when generating position
independent code.
gcc/doc/tm.texi-You can assume that @var{x} satisfies @code{CONSTANT_P}, so you
need not
--
gcc/doc/tm.texi-(including @code{SYMBOL_REF}) can be immediate operands when
generating
gcc/doc/tm.texi:position independent code.
gcc/doc/tm.texi-@end defmac
--
gcc/doc/tm.texi.in-* Sections:: Dividing storage into text, data,
and other sections.
gcc/doc/tm.texi.in:* PIC:: Macros for position independent code.
gcc/doc/tm.texi.in-* Assembler Format:: Defining how to write insns and
pseudo-ops to output.
--
gcc/doc/tm.texi.in-@section Position Independent Code
gcc/doc/tm.texi.in:@cindex position independent code
gcc/doc/tm.texi.in-@cindex PIC
--
gcc/doc/tm.texi.in-A C expression that is nonzero if @var{x} is a legitimate
immediate
gcc/doc/tm.texi.in:operand on the target machine when generating position
independent code.
gcc/doc/tm.texi.in-You can assume that @var{x} satisfies @code{CONSTANT_P}, so
you need not
--
gcc/doc/tm.texi.in-(including @code{SYMBOL_REF}) can be immediate operands when
generating
gcc/doc/tm.texi.in:position independent code.
gcc/doc/tm.texi.in-@end defmac