*ping* [Patch] (2/n) newlib: Move vasniprintf.c to ELIX 1 (was: Build-dependency issues with ELIX_LEVEL)

Tobias Burnus tobias@codesourcery.com
Wed Apr 6 05:11:29 GMT 2022


*ping*

On 30.03.22 12:56, Tobias Burnus wrote:
> Attached is a revised version of the patch in the first email in the
> thread.
> Found when looking for referenced but not provided functions
> with nvptx, which sets ELIX Level to 1.
>
>
> libc/stdio/vdiprintf.c's _vdiprintf_r calls _vasniprintf_r
> The file is compiled with ELIX Level 1.
>
> The function _vasniprintf_r is provided either via
> * libc/stdio/vasniprintf.c which calls _svfiprintf_r
> * libc/stdio/vasnprintf.c (only '#ifdef _NANO_FORMATTED_IO')
>   which calls _svfprintf_r
>
> We can ignore the second file as no NANO function calls
> it. Thus, only the first file (vasniprintf.c) remains.
>
> The _svfiprintf_r / _svfiprintf_r are provided by
> libc/stdio/(nano-)vfprintf.c
> Those files are also available with ELIX Level 1.
>
>
> Solution: Also build vasniprintf.c with ELIX Level 1
> instead of building it with ELIX Level 4.
>
> The change should be save as the only library call I see
> in that file (vasniprintf.c) is to vfprintf.c. And on the
> caller side, the call to _vasniprintf_r is not guarded by
> any #if. Thus, no new dependencies should get introduced
> by this change.
>
>
> OK? Comments?
>
> Tobias
> (Makefile.inc patch + regenerated Makefile.in as separate patch)
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955


More information about the Newlib mailing list