[Bug target/93694] Inconsistent grammar in darwin.opt

2020-04-21 Thread roland.illig at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93694

Roland Illig  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Roland Illig  ---
(In reply to Iain Sandoe from comment #6)
> Is this sufficiently clear now?

Yes, thank you very much.

[Bug target/93694] Inconsistent grammar in darwin.opt

2020-04-21 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93694

Iain Sandoe  changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #6 from Iain Sandoe  ---
Is this sufficiently clear now?

[Bug target/93694] Inconsistent grammar in darwin.opt

2020-03-21 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93694

--- Comment #5 from CVS Commits  ---
The master branch has been updated by Iain D Sandoe :

https://gcc.gnu.org/g:837cece888f36543b6d326101362acb67ac3df0a

commit r10-7315-g837cece888f36543b6d326101362acb67ac3df0a
Author: Iain Sandoe 
Date:   Sun Mar 1 13:04:58 2020 +

Darwin: Address translation comments (PR93694).

This updates the options descriptions after feedback from
a translator.

gcc/ChangeLog:

2020-03-21  Iain Sandoe  

PR target/93694
* gcc/config/darwin.opt: Amend options descriptions.

[Bug target/93694] Inconsistent grammar in darwin.opt

2020-03-01 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93694

--- Comment #4 from Iain Sandoe  ---
Created attachment 47938
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47938=edit
Update darwin opts descriptions

Thanks for the comments.

As background, (most of) these options have ben present in the Darwin toolchain
since before my involvement - however they were never described; there is note
in the GCC manual suggesting that the user should use the man page.

The majority here are actually options passed on to the linker, and the details
can be quite complex - so that the user should still make use of the manage (so
I would not delete that statement from the GCC manual).  The idea here is a
brief summary to serve as a reminder for a more detailed description.  Perhaps
I should have left them undocumented 

an example of the manpage:
https://www.manpagez.com/man/1/ld64/

In some cases (especially for determining which options are obsolete) several
versions of the man pages were consulted - and the linker source code itself.



I will apply a patch that makes the following changes in a few days if there
are no more comments (such comments are welcome):

> Loads all members of archive libraries

Load all members of archive libraries, rather than only those that satisfy
undefined symbols.

> The version of ld64 in use for this toolchain.

-mtarget-linkerSpecify that ld64  is the toolchain
linker for the current invocation.

> Produce an output file that will bind symbols on load, rather than lazily.

Generate an output executable that binds symbols on load, rather than lazily.

> Produce a Mach-O bundle (file type MH_BUNDLE)

Generate a Mach-O bundle (file type MH_BUNDLE).

> This will allow relocs

-read_only_relocsAllow relocations in read-only pages (not
recommended).

>And a typo:
> exectuable
fixed.

>Unnecessarily unspecific wording:
> Allows setting the page 0 size to 4kb for certain special cases
>What exactly are "certain special cases"?
I don't think that can be reasonable answered in a brief option description, I
suggest what's below, it is the user's responsibility to know when the option
is required.

-pagezero_sizeAllows setting the page 0 size (for example, to 4kb)
when required.

double space:
> architecture  \"name\"
fixed.

> unnecessarily verbose:
> Specify that the output file should be generated for architecture  "name"
> Why not simply: Generate output file for the named architecture.

-arch Generate output for architecture .

>anachronism:
> MacOS X
> Should that be macOS nowadays?

Changed throughout.

> off-by-one:
> must record a greater
> I think this should rather be "greater or equal".
Actually, the man page is quite confusing on this option, I've tried to make
this more specific:

-compatibility_version  Set the version for the client interface. 
Client programs must record a value less than or equal to , or the
binding will fail at runtime.

>double space:
> dyld  will

fixed,

>  Provided
> (Obsolete after 10.3.9) Set
> Shouldn't there be a tab between the words instead of the space?

fixed.

> -pagezero_size size
> The other placeholders are written in , so should this one.

done, as per the comment above.

> (Obsolete, ld_classic only) -sectcreate segname sectname file
> segname, sectname and file should be marked as .
> (Obsolete, ld_classic only) -sectcreate segname sectname file

-sectcreateCreate section  in segment
 from the contents of .

> -segprot  max_prot init_prot\tThe protection values are
> This like only describes the syntax but doesn't lose a single word about the 
> effect.
Indeed ...

-segprot  The virtual memory protections
for segment  are set to maximum and initial values  and
 respectively.  The specified values may contain \"r\", \"w\", \"x\"
or \"-\" the latter meaning \"no access\".

> -segs_read_only_addr address
>Missing placeholder.
> space-tab.

-segs_read_only_addr   Specify that  is the base address of
the read-only segments of a dylib.

> Allows specifying
>I hope that this option actually _sets_ the address instead of only _allowing_ 
>to set. (2 times)

done as per segs_read_only_addr  above.


> Specifies content
> That's another case of very unspecific wording. As the German translator I 
> have no idea what this could mean. This option is documented nowhere. It only 
> appears in the ChangeLogs, darwin.h and darwin.opt.

As noted, the source for the information is outside the GCC tree - ld64 source
/ manages suggested change:

Add extra information to the executable that can speed up dynamic loading
(provided that dependent libraries are unchanged).

[Bug target/93694] Inconsistent grammar in darwin.opt

2020-02-21 Thread iains at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93694

Iain Sandoe  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-02-21
   Assignee|unassigned at gcc dot gnu.org  |iains at gcc dot gnu.org
   Target Milestone|--- |10.0
 Ever confirmed|0   |1

[Bug target/93694] Inconsistent grammar in darwin.opt

2020-02-12 Thread roland.illig at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93694

--- Comment #3 from Roland Illig  ---
> (Obsolete, ld_classic only) -sectcreate segname sectname file
segname, sectname and file should be marked as .


> -segprot  max_prot init_prot\tThe protection values are
This like only describes the syntax but doesn't lose a single word about the
effect.


> -segs_read_only_addr address
Missing placeholder.
space-tab.


> Allows specifying
I hope that this option actually _sets_ the address instead of only _allowing_
to set. (2 times)


> Specifies content
That's another case of very unspecific wording. As the German translator I have
no idea what this could mean. This option is documented nowhere. It only
appears in the ChangeLogs, darwin.h and darwin.opt.

[Bug target/93694] Inconsistent grammar in darwin.opt

2020-02-12 Thread roland.illig at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93694

--- Comment #2 from Roland Illig  ---
double space:
> dyld  will


missing word:
> two-level information
should probably be "two-level namespace information"


>  Provided
> (Obsolete after 10.3.9) Set
Shouldn't there be a tab between the words instead of the space?


> -pagezero_size size
The other placeholders are written in , so should this one.

[Bug target/93694] Inconsistent grammar in darwin.opt

2020-02-11 Thread roland.illig at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93694

--- Comment #1 from Roland Illig  ---
double space:
> architecture  \"name\"


unnecessarily verbose:
> Specify that the output file should be generated for architecture  "name"

Why not simply: Generate output file for the named architecture.


anachronism:
> MacOS X

Should that be macOS nowadays?


off-by-one:
> must record a greater

I think this should rather be "greater or equal".