On 1 August 2016 at 16:56, Ard Biesheuvel <[email protected]> wrote:
> On 1 August 2016 at 16:49, Ard Biesheuvel <[email protected]> wrote:
>> On 1 August 2016 at 16:18, Gao, Liming <[email protected]> wrote:
>>> Ard:
>>>   I don't think it is good way to define GCC_VISIBILITY_PROTECTED and apply 
>>> it in EntryPointLib. We only need to expose _ModuleEntryPoint. It has been 
>>> specified in LINK_FLAGS in tools_def.txt. Could we also specify its 
>>> attribute in CC_FLAGS or LINK_FLAGS in tools_def.txt?
>>>
>>
>> It seems this does the trick as well
>>
>> diff --git a/BaseTools/Scripts/GccBase.lds b/BaseTools/Scripts/GccBase.lds
>> index 281af8a9bd33..02387d4f8d6f 100644
>> --- a/BaseTools/Scripts/GccBase.lds
>> +++ b/BaseTools/Scripts/GccBase.lds
>> @@ -80,3 +80,7 @@ SECTIONS {
>>      *(COMMON)
>>    }
>>  }
>> +
>> +VERSION {
>> +  { global: _ModuleEntryPoint*; };
>> +};
>>
>>
>> Note that * at the end: this is necessary since _ModuleEntryPoint will
>> be called _ModuleEntryPoint.lto_priv.xxx in the LTO objects.
>>
>
> Hmm, looks like I spoke too soon. I don't know what I did wrong, but
> this does not actually work.
>

The only alternative I can think of is to add a static non-lto object
to the tree that refers to _ModuleEntryPoint, similar to the way I
handle the ARM intrinsics in patch #5

Which one do you hate the least? :-)
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to