+2013-08-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (get_elf_x86_64_arch_data): New.
+       (get_elf_x86_64_backend_data): Use it.
+       (elf_x86_64_size_dynamic_sections): Likewise.
+
 2013-08-23  Yuri Chornoivan  <yurchor@ukr.net>
 
        PR binutils/15834
 
   unsigned int eh_frame_plt_size;
 };
 
+#define get_elf_x86_64_arch_data(bed) \
+  ((const struct elf_x86_64_backend_data *) (bed)->arch_data)
+
 #define get_elf_x86_64_backend_data(abfd) \
-  ((const struct elf_x86_64_backend_data *) \
-   get_elf_backend_data (abfd)->arch_data)
+  get_elf_x86_64_arch_data (get_elf_backend_data (abfd))
 
 #define GET_PLT_ENTRY_SIZE(abfd) \
   get_elf_x86_64_backend_data (abfd)->plt_entry_size
       && _bfd_elf_eh_frame_present (info))
     {
       const struct elf_x86_64_backend_data *arch_data
-       = (const struct elf_x86_64_backend_data *) bed->arch_data;
+       = get_elf_x86_64_arch_data (bed);
       htab->plt_eh_frame->size = arch_data->eh_frame_plt_size;
     }
 
       && htab->plt_eh_frame->contents != NULL)
     {
       const struct elf_x86_64_backend_data *arch_data
-       = (const struct elf_x86_64_backend_data *) bed->arch_data;
+       = get_elf_x86_64_arch_data (bed);
 
       memcpy (htab->plt_eh_frame->contents,
              arch_data->eh_frame_plt, htab->plt_eh_frame->size);