This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][gold] AArch64: Implement MOVW_UABS_* and MOVW_SABS_* relocations.


> This patch implements R_AARCH64_MOVW_UABS_G* and R_AARCH64_MOVW_SABS_G*
> relocations for AArch64 target.
>
> Best regards,
> Igor Kudrin
>
> ---
> gold/ChangeLog
>
>         * aarch64-reloc-property.cc (Rvalue_bit_select_impl): New class.
>         (rvalue_bit_select): Use Rvalue_bit_select_impl.
>         * aarch64-reloc.def (MOVW_UABS_G0, MOVW_UABS_G0_NC, MOVW_UABS_G1,
>         MOVW_UABS_G1_NC, MOVW_UABS_G2, MOVW_UABS_G2_NC, MOVW_UABS_G3,
>         MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2): New relocations.
>         * aarch64.cc (Target_aarch64::Scan::local): Add cases for new
>         MOVW_UABS_* and MOVW_SABS_* relocations.
>         (Target_aarch64::Scan::global): Likewise.
>         (Target_aarch64::Relocate::relocate): Add cases and handlings
>         for new MOVW_UABS_* and MOVW_SABS_* relocations.
>         * testsuite/Makefile.am (aarch64_relocs): New test.
>         * testsuite/Makefile.in: Regenerate.
>         * testsuite/aarch64_globals.s: New test source file.
>         * testsuite/aarch64_relocs.s: New test source file.
>         * testsuite/aarch64_relocs.sh: New test script.

+  static uint64_t
+  calc(uint64_t x)
+  {
+    return (x & (((uint64_t)1 << (U+1)) - 1)) >> L;
+  }

I know this was the same before your patch, but I'd prefer using
"1ULL" instead of the C-style cast.

Han, can you take a look at this patch?

-cary


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]