[x264-devel] [PATCH 20/32] Generate a header listing every symbol that needs to be duplicated

Vittorio Giovara vittorio.giovara at gmail.com
Mon Jan 23 20:15:11 CET 2017


On Mon, Jan 23, 2017 at 7:13 PM, BugMaster <BugMaster at narod.ru> wrote:
> On Mon, 23 Jan 2017 18:58:41 +0100, Vittorio Giovara wrote:
>> On Mon, Jan 23, 2017 at 6:35 PM, BugMaster <BugMaster at narod.ru> wrote:
>>> On Mon, 23 Jan 2017 17:55:20 +0100, Vittorio Giovara wrote:
>>>> On Mon, Jan 23, 2017 at 5:48 PM, Derek Buitenhuis
>>>> <derek.buitenhuis at gmail.com> wrote:
>>>>> On 1/23/2017 4:43 PM, Luca Barbato wrote:
>>>>>> Alternatively we could go and add a specific suffix to all those symbols
>>>>>> and generate the list automatically using a simple grep+sed.
>>>>>>
>>>>>> Since it would be severely more invasive we preferred to avoid it.
>>>>>>
>>>>>> We have the list so we can do easily the symbol rename in the code anytime.
>>>>>
>>>>> The actual x264 devs (not me) should chime in with their opinion, probably.
>>>
>>>> If I may add, this list is basically static as the number and names of
>>>> the internal functions hardly ever changes nowadays. It seemed more
>>>> efficient to list every symbol once than making script-friendly edits
>>>> and generating the same list of functions at every make run.
>>>
>>> For the record on the ML. I already many times mentioned in PMs that I
>>> don't like this huge function list and "hardly ever changes nowadays"
>>> is not the argument for this maintenance burden which will only make
>>> x264 to change even less. I would prefer some preprocessor magic like
>>> private_prefix in x86inc.asm if this is possible.
>
>> I actually doubt that adding a line for each function is a
>> "maintenance burden" and there is only so much code that can change in
>> an established codebase. At any rate, I can only object that
>> generating the same list every time is just wasteful and since it has
>> to happen *before* the code is compiled so there is no preprocessor
>> magic that could help with it.
>
>> We initially experimented generating the list with `sed` (and actually
>> got most of the list out of it) but nonetheless it required a lot of
>> manual intervention to get the full scope.
>
> Were I said that this list should be generated before compilation or
> at all? IMHO this list shouldn't exist at all and functions that need
> duplication should be somehow annotated (preprocessed) directly in the
> place where they defined.

As in my other reply, every function depending on x264_t would need
this wrapper, which boils down to 90% of the functions present in the
codebase.
I think a centralized place where to control the list, in my opinion,
makes sense, however if other solutions can be thought of, I'm
available to try them out.
-- 
Vittorio


More information about the x264-devel mailing list