[PATCH] Cygwin: doc: Fix type mismatch in porting.texi

Jon Turney jon.turney@dronecode.org.uk
Thu Mar 16 18:55:33 GMT 2023

On 16/03/2023 02:59, Songhe Zhu wrote:
> Issue:newlib/libgloss/doc/porting.texi:570: warning: @ref node name should not contain `.'
>        newlib/libgloss/doc/porting.texi:747: warning: @ref node name should not contain `.'
>        newlib/libgloss/doc/porting.texi:938: warning: @ref node name should not contain `.'
> reproduce:
> git clone https://github.com/riscv-collab/riscv-gnu-toolchain.git
> cd riscv-gnu-toolchain
> ./configure --prefix=`pwd`/install --with-arch=rv64gc --with-abi=lp64d --enable-multilib
> make -j $(nproc)
> The above issue will happen when executing the build command. This patch eliminates these warnings.
> @ref{That},'That' does not contain node;
> I think it's just appropriate to use @file here,
> @file{file-name},'file-name' support node;
> refer:https://www.gnu.org/software/texinfo/manual/texinfo/texinfo.html#g_t_0040file

 From a brief reading of that, it doesn't appear that @file{} supports 
the 3 argument form, so should the 2nd and 3rd arguments be dropped?

This would seem to change the meaning subtly, as it drops the indication 
that the files in Appendix A are examples.

Then again, these uses of @ref alone as a sentence are just ungrammatical.

So maybe the correct solution is to give those sections names which 
don't contain '.' and/or embed these references into sentences which 
direct the reader to that full example, from which a sample is given 
below (or whatever the documentation is actually trying to say, I'm not 
well versed enough in libgloss to know for sure)

> ---
>   libgloss/doc/porting.texi | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> diff --git a/libgloss/doc/porting.texi b/libgloss/doc/porting.texi
> index 15f214d02..4a269a970 100644
> --- a/libgloss/doc/porting.texi
> +++ b/libgloss/doc/porting.texi
> @@ -567,7 +567,7 @@ and then the ROM takes over. Pick a safe vector with no side
>   effects. Some ROMs have a builtin trap handler just for this case.
>   @end enumerate
>   portable between all the m68k based boards we have here.
> -@ref{crt0.S,,Example Crt0.S}.
> +@file{crt0.S,,Example Crt0.S}.
>   @smallexample
> @@ -744,7 +744,7 @@ check a few critical addresses like @code{start}, @code{bss_end}, and
>   Here's a breakdown of a linker script for a m68k based target board.
>   See the file @code{libgloss/m68k/idp.ld}, or go to the appendixes in
> -the end of the manual. @ref{idp.ld,,Example Linker Script}.
> +the end of the manual. @file{idp.ld,,Example Linker Script}.
>   @smallexample
>   STARTUP(crt0.o)
> @@ -935,7 +935,7 @@ sbrk(). @code{malloc()}, @code{calloc()}, and @code{realloc()} all call
>   @code{sbrk()} at there lowest level. @code{caddr_t} is defined elsewhere
>   as @code{char *}. @code{RAMSIZE} is presently a compile time option. All
>   this does is move a pointer to heap memory and check for the upper
> -limit. @ref{glue.c,,Example libc support code}. @code{sbrk()} returns a
> +limit. @file{glue.c,,Example libc support code}. @code{sbrk()} returns a
>   pointer to the previous value before more memory was allocated.
>   @smallexample

More information about the Newlib mailing list