[PATCH] RISC-V: fix setting up std streams in init_semihosting()

Kito Cheng kito.cheng@sifive.com
Wed Jan 3 08:17:50 GMT 2024


The change seems weird to me at my first time reading, however it
makes sense after reading _open and __add_fdentry.

So LGTM, thanks for fixing this issue :)

(BTW, I don't have commit right either :P)

On Wed, Jan 3, 2024 at 4:03 PM Ram Nalamothu (QUIC)
<quic_vnalamot@quicinc.com> wrote:
>
> Without this patch, the following simple test would fail to run as expected.
>
> #include <stdio.h>
> int main() {
>   int n;
>   printf("Enter a number\n");
>   scanf("%d", &n);
>   printf("Entered number: %d\n", n);
>   return 0;
> }
>
> If the patch looks good, could someone please commit it on behalf of me as I don't have commit rights.
>
> -- 8< --
>
> Currently init_semihosting() assumes the return value from _open()
> call as the file descriptor handle and that is incorrect.
>
> The semihost _open() call returns the fdtable index returned by the
> __add_fdentry() for the file opened.


More information about the Newlib mailing list