Marcus Shawcroft writes:

> On 26 June 2015 at 10:32, Jiong Wang <jiong.w...@arm.com> wrote:
>>
>> This patch respin https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01804.html.
>>
>> A new symbol classification "SYMBOL_SMALL_GOT_28K" added to represent symbol
>> which needs go through GOT table and it's under -fpic/-mcmodel-small. the 
>> "_28K"
>> suffix can reflect the symbol's attribute better, and by introducing this new
>> symbol type, we could avoid checking aarch64_cmodel at some extent
>> though still needs the check somewhere.
>>
>> All other code logic not changed.
>>
>> OK for trunk?
>>
>> Thanks.
>>
>> 2015-06-26  Jiong. Wang  <jiong.w...@arm.com>
>>
>> gcc/
>>   * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
>>   SYMBOL_SMALL_GOT_28K.
>>   * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
>>   relocation modifiers.
>>   (unspec): New enum "UNSPEC_GOTMALLPIC28K.
>>   (ldr_got_small_28k_<mode>): New.
>>   (ldr_got_small_28k_sidi): New.
>>   * 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
>>   SYMBOL_SMALL_GOT_28K.
>>   (aarch64_rtx_costs): Add costs for new instruction sequences.
>>   (initialize_aarch64_code_model): Initialize new model.
>>   (aarch64_classify_symbol): Recognize new model and new symbol 
>> classification.
>>   (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.
>
>
> OK, Thanks Jiong.  Could you prepare a NEWS entry for this change?
> Cheers
> /Marcus

How about this one?

2015-06-26  Jiong Wang  <jiong.w...@arm.com>

wwwdocs/
  * htdocs/gcc-6/changes.html (AArch64): Document -fpic for small model.

Index: gcc-6/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-6/changes.html,v
retrieving revision 1.12
diff -u -r1.12 changes.html
--- gcc-6/changes.html	16 Jun 2015 08:48:02 -0000	1.12
+++ gcc-6/changes.html	26 Jun 2015 13:30:05 -0000
@@ -90,6 +90,15 @@
        If GCC is unable to detect the host CPU these options have no effect.
      </li>
    </ul>
+   <ul>
+     <li>
+       <code>-fpic</code> is now supported on AArch64 for small memory
+       model.  Compared with <code>-fPIC</code>, <code>-fpic</code>
+       will guide GCC to generate more efficient position independent
+       instruction sequences when accessing global objects and
+       28KiB/15KiB global offset table size supported under ILP64/32.
+     </li>
+   </ul>
 <!-- <h3 id="arm">ARM</h3> -->
 
 <!-- <h3 id="avr">AVR</h3> -->

Reply via email to