[PATCH v3 2/4] libio: Remove the usage of __libc_IO_vtables
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Mon Mar 6 18:53:34 GMT 2023
On 06/03/23 15:47, Arsen Arsenović wrote:
>
> Adhemerval Zanella Netto via Libc-alpha <libc-alpha@sourceware.org> writes:
>
>> On 06/03/23 14:24, Adhemerval Zanella Netto wrote:
>>>
>>>
>>> On 06/03/23 13:53, Andreas Schwab wrote:
>>>> On Mär 06 2023, Adhemerval Zanella Netto wrote:
>>>>
>>>>> So could be an issue with my patch then? I did not added any new
>>>>> dependency or rule with this patchset.
>>>>
>>>> The new dependency is gen-as-const-headers.
>>>>
>>>> I think it adds a cycle because libio-macros.h depends on
>>>> $(common-objpfx)bits/stdio_lim.h, whereas other gen-as-const-headers
>>>> don't depend on it.
>>>
>>> Right, do we really have to autogenerate stdio_lim.h? It seems that no
>>> target currently requires to the overrides its values. It would be way
>>> simpler if we can assume the sysdeps/posix/Makefile values instead.
>>
>> Alright, I could reproduce it and I am not sure how to fix it. This fix
>> requires libio-macros.sym to correctly setup _IO_file_jumps and
>> _IO_wfile_jumps alias symbol, and the libio/libio-macros.sym requires to
>> know the size ofstruct _IO_jump_t (which in turn uses function pointer
>> that uses FILE *).
>>
>> So libio-macros.sym does require stdio_lim.h in the end. Best solution
>> I can think of is to just remove stdio_lim.h autogeneration, the only
>> real system dependent definition is FILENAME_MAX, obtained from kernel
>> limits.h. I think it should be feasible to just define is a 1024 for
>> hurd and 4096 for Linux (these should not change in near future and
>> change it might incur in some compatibility issues).
>
> FWIW, I have an interest in making a new port (as time permits...), so
> please also add an...
>
> #else
> # error "Update the port!"
>
> ... or such, if you choose to do that.
>
The usual way now is to provide arch specific files through sysdep, so
if a new target does not provide it either build will fail (if it
includes direct or indirectly it) or by running the testsuite (which
run install on a temporary file at build directory).
More information about the Libc-alpha
mailing list