"position independent" vs "position-independent" in documentation

Jonathan Wakely jwakely@redhat.com
Tue May 1 10:17:00 GMT 2018


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




More information about the Gcc mailing list