Marcus Shawcroft writes:

> On 20 May 2015 at 11:21, Jiong Wang <jiong.w...@arm.com> wrote:
>
>> gcc/
>>   * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT 
>> relocation
>>   modifiers.
>>   (ldr_got_small_sidi): Ditto.
>>   * config/aarch64/iterators.md (got_modifier): New mode iterator.
>>   * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
>>   * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support 
>> -fpic.
>>   (aarch64_rtx_costs): Add costs for new instruction sequences.
>>   (initialize_aarch64_code_model): Initialize new model.
>>   (aarch64_classify_symbol): Recognize new model.
>>   (aarch64_asm_preferred_eh_data_format): Support new model.
>>   (aarch64_load_symref_appropriately): Generate new instruction sequences 
>> for -fpic.
>>   (TARGET_USE_PSEUDO_PIC_REG): New definition.
>>   (aarch64_use_pseudo_pic_reg): New function.
>>
>> gcc/testsuite/
>>   * gcc.target/aarch64/pic-small.c: New testcase.
>
>
> Rather than thread tests against aarch64_cmodel throughout the
> existing code can we instead extend classify_symbol with a new symbol
> classification?

Yes, we can. As -fPIC/-fpic allow 4G/32K GOT table size, we may name
corresponding symbol classification as "SYMBOL_GOT_4G",
"SYMBOL_GOT_32K".

But can we let this patch go in and create a another patch to improve
this? there are several other TLS patches may needs rebase if we change
this immedaitely.

Thanks

--
Regards,
Jiong

Reply via email to