Index: head/devel/binutils/Makefile =================================================================== --- head/devel/binutils/Makefile +++ head/devel/binutils/Makefile @@ -3,7 +3,7 @@ PORTNAME= binutils PORTVERSION= 2.27 -PORTREVISION= 4 +PORTREVISION= 5 PORTEPOCH?= 1 CATEGORIES?= devel MASTER_SITES= SOURCEWARE/binutils/releases Index: head/devel/binutils/files/patch-bfd_elfnn-aarch64.c =================================================================== --- head/devel/binutils/files/patch-bfd_elfnn-aarch64.c +++ head/devel/binutils/files/patch-bfd_elfnn-aarch64.c @@ -0,0 +1,28 @@ +--- bfd/elfnn-aarch64.c.orig 2016-11-20 12:04:44.613621000 +0000 ++++ bfd/elfnn-aarch64.c 2016-11-20 12:05:01.143334000 +0000 +@@ -4369,7 +4369,9 @@ + off = h->got.offset; + BFD_ASSERT (off != (bfd_vma) - 1); + if (!WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h) +- || (bfd_link_pic (info) ++ || ((bfd_link_pic (info) ++ || (!bfd_link_relocatable (info) ++ && (info->export_dynamic || info->dynamic))) + && SYMBOL_REFERENCES_LOCAL (info, h)) + || (ELF_ST_VISIBILITY (h->other) + && h->root.type == bfd_link_hash_undefweak)) +@@ -8891,6 +8893,14 @@ + + h->root.u.def.section->output_section->vma + + h->root.u.def.section->output_offset); + } ++ else if (!bfd_link_relocatable (info) ++ && (info->export_dynamic || info->dynamic) ++ && SYMBOL_REFERENCES_LOCAL (info, h)) ++ { ++ BFD_ASSERT ((h->got.offset & 1) != 0); ++ rela.r_info = ELFNN_R_INFO (h->dynindx, AARCH64_R (GLOB_DAT)); ++ rela.r_addend = 0; ++ } + else + { + do_glob_dat: