ChangeLog-2014 127 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430
  1. 2014-12-30 H.J. Lu <hongjiu.lu@intel.com>
  2. PR ld/17773
  3. * elflink.c (bfd_elf_final_link): Assign the file position for
  4. the symbol string table only there are symbols to be emitted.
  5. 2014-12-28 Alan Modra <amodra@gmail.com>
  6. PR 17766
  7. * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct string
  8. length. Use memcpy rather than strcpy.
  9. 2014-12-26 Alan Modra <amodra@gmail.com>
  10. PR 17755
  11. * elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code
  12. copying SHF_SH5_ISA32.
  13. 2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
  14. * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new
  15. Tag_ABI_VFP_args value and replace hardcoded values by enum values.
  16. (elf32_arm_post_process_headers): Set e_flags in ELF header as hard
  17. float only when Tag_ABI_VFP_args is 1, using new enum value
  18. AEABI_VFP_args_vfp to check that.
  19. 2014-12-24 H.J. Lu <hongjiu.lu@intel.com>
  20. * pei-x86_64.c (pex64_bfd_print_pdata_section): Add cast to
  21. unsigned long.
  22. 2014-12-24 Pierre Muller <muller@sourceware.org>
  23. Add support for pdata output for pe coff objects.
  24. * pe-x86_64.c (pex64_bfd_print_pdata): Add external
  25. declaration.
  26. (bfd_pe_print_data): Set macro to pex64_bfd_print_data.
  27. * pei-x86_64.c (pex64_bfd_print_pdata): Changed to
  28. global function. Now handles multiple .pdata sections.
  29. (pex_bfd_print_pdata_section): New static helper function,
  30. using most of old pex_bfd_print_pdata function code, but adding
  31. support for coff pe objects, which might have some fields
  32. starting at zero offset.
  33. (pex64_print_all_pdata_sections) : New static helper function,
  34. used in call to bfd_map_over_sections inside new
  35. pex66_bfd_print_pdata function.
  36. (bfd_boolean pdata_count): New static variable, used to return
  37. bfd_boolean value for pex64_bfd_print_pdata function.
  38. 2014-12-24 Alan Modra <amodra@gmail.com>
  39. * linker.c (_bfd_generic_link_output_symbols): Remove BSF_WEAK
  40. flag from bfd_link_hash_defined symbols.
  41. 2014-12-23 Andrew Burgess <andrew.burgess@embecosm.com>
  42. * elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set
  43. EF_AVR_LINKRELAX_PREPARED unconditionally.
  44. 2014-12-23 Alan Modra <amodra@gmail.com>
  45. * elflink.c (_bfd_elf_define_linkage_sym): Set linker_def.
  46. * linker.c (_bfd_generic_link_add_one_symbol): Clear linker_def
  47. for CDEF, DEF, DEFW, COM.
  48. 2014-12-22 Nick Clifton <nickc@redhat.com>
  49. PR binutils/17512
  50. * archive.c (do_slurp_bsd_armap): Return if the parsed_size is
  51. zero.
  52. (bfd_slurp_armap): Zero terminate the name.
  53. (bfd_generic_stat_arch_elt): If there is no header, fail.
  54. * elf32-arc.c (arc_info_to_howto_rel): Replace BFD_ASSERT with
  55. error message.
  56. * elf32-avr.c (avr_info_to_howto_rela): Likewise.
  57. * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise.
  58. * elf32-cris.c (cris_info_to_howto_rela): Likewise.
  59. * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
  60. * elf32-d30v.c (d30v_info_to_howto_rel): Likewise.
  61. * elf32-dlx.c (dlx_rtype_to_howto): Likewise.
  62. * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
  63. * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
  64. * elf32-frv.c (frv_info_to_howto_rela): Likewise.
  65. * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
  66. * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
  67. * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
  68. * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
  69. * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
  70. * elf32-m32r.c (m32r_info_to_howto_rel): Likewise.
  71. * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
  72. * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
  73. * elf32-mep.c (mep_info_to_howto_rela): Likewise.
  74. * elf32-metag.c (metag_info_to_howto_rela): Likewise.
  75. * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
  76. * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
  77. * elf32-mt.c (mt_info_to_howto_rela): Likewise.
  78. * elf32-nds32.c (nds32_info_to_howto_rel): Likewise.
  79. * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
  80. * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
  81. * elf32-rx.c (rx_info_to_howto_rela): Likewise.
  82. * elf32-v850.c (v850_elf_info_to_howto_rel): Likewise.
  83. * elf32-visium.c (visium_info_to_howto_rela): Likewise.
  84. * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
  85. * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
  86. * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
  87. * elf64-x86-64.c (elf_x86_64_reloc_type_lookup): Likewise.
  88. * elfnn-aarch64.c (elfNN_aarch64_bfd_reloc_from_type): Likewise.
  89. * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Add range
  90. checking of reloc symbol index.
  91. * mach-o.c (bfd_mach_o_canonicalize_one_reloc): If no symbols have
  92. been provided then set the reloc's symbol to undefined.
  93. * reloc.c (bfd_generic_get_relocated_section_contents): Add range
  94. checking of the reloc to be applied.
  95. * versados.c (process_otr): Add more range checks.
  96. (versados_canonicalize_reloc): If the section is unknown, set the
  97. symbol to undefined.
  98. * vms-alpha.c (_bfd_vms_slurp_eisd): Add range checks.
  99. (alpha_vms_object_p): Likewise.
  100. 2014-12-18 Richard Henderson <rth@redhat.com>
  101. * elf32-ppc.c (ELF_COMMONPAGESIZE): Set to 64k.
  102. * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
  103. 2014-12-16 Nick Clifton <nickc@redhat.com>
  104. PR binutils/17512
  105. * format.c (bfd_check_format_matches): Check for a matching vector
  106. before using match priorities.
  107. * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Fix off-by-one
  108. errors with previous delta.
  109. 2014-12-15 H.J. Lu <hongjiu.lu@intel.com>
  110. PR ld/17713
  111. * elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input.
  112. 2014-12-13 H.J. Lu <hongjiu.lu@intel.com>
  113. PR ld/17689
  114. * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy.
  115. Change has_bnd_reloc to bit field.
  116. (elf_x86_64_link_hash_newfunc): Initialize needs_copy and
  117. has_bnd_reloc to 0.
  118. (elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead
  119. of TRUE.
  120. (elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the
  121. real definition to a weak symbol.
  122. (elf_x86_64_allocate_dynrelocs): Also check needs_copy of a
  123. weak symbol for PIE when discarding space for relocs against
  124. symbols which turn out to need copy relocs.
  125. (elf_x86_64_relocate_section): Also check needs_copy of a
  126. weak symbol for PIE with copy reloc.
  127. 2014-12-12 Alan Modra <amodra@gmail.com>
  128. PR 15228
  129. * elflink.c (_bfd_elf_adjust_dynamic_copy): Call bfd_set_error.
  130. 2014-12-12 Alan Modra <amodra@gmail.com>
  131. PR 15228
  132. * elflink.c (_bfd_elf_adjust_dynamic_copy): Add "info" param.
  133. Error on copy relocs against protected symbols.
  134. (elf_merge_st_other): Set h->protected_def.
  135. * elf-bfd.h (struct elf_link_hash_entry): Add "protected_def".
  136. (_bfd_elf_adjust_dynamic_copy): Update prototype.
  137. * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Update
  138. _bfd_elf_adjust_dynamic_copy call.
  139. * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
  140. * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
  141. * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
  142. * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
  143. * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
  144. * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
  145. * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
  146. * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
  147. * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
  148. * elf32-metag.c (elf_metag_adjust_dynamic_symbol): Likewise.
  149. * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Likewise.
  150. * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
  151. * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
  152. * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
  153. * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
  154. * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
  155. * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
  156. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
  157. * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
  158. * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
  159. * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
  160. * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise.
  161. * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
  162. * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
  163. * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.
  164. 2014-12-11 Keith Seitz <keiths@redhat.com>
  165. * elf.c (elf_parse_notes): Define convenience macro
  166. GROKER_ELEMENT to add elements to 'grokers' array.
  167. Add 'len' element to 'grokers'.
  168. Use grokers.len instead of sizeof in string
  169. comparisons.
  170. 2014-12-10 Alan Modra <amodra@gmail.com>
  171. * Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2
  172. and coffgen. Add coff-bfd. Sort.
  173. (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2.
  174. * bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete.
  175. (struct coff_comdat_info, bfd_coff_get_comdat_section): Delete.
  176. * coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro,
  177. without unused param. Update uses.
  178. (bfd_coff_get_comdat_section): Move to coff-bfd.h as macro.
  179. (bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c.
  180. * libcoff-in.h: #include "coff-bfd.h".
  181. (struct coff_section_tdata, coff_section_data): Move to coff-bfd.h.
  182. (coff_symbol_from): Delete.
  183. * coff-bfd.c: New file.
  184. * coff-bfd.h: New file.
  185. * coff-i386.c: Update coff_symbol_from occurrences.
  186. * coff-i960.c: Likewise.
  187. * coff-m68k.c: Likewise.
  188. * coff-sh.c: Likewise.
  189. * coff-x86_64.c: Likewise.
  190. * coffcode.h: Likewise.
  191. * pe-mips.c: Likewise.
  192. * configure.ac (elf): Add dwarf2.lo.
  193. (coffgen, coff, ecoff, xcoff): Define. Use when mapping bfd
  194. target vectors to .o files. Add dwarf2 for mach-o targets.
  195. Fix the sh target FIXME.
  196. * po/SRC-POTFILES.in: Regenerate.
  197. * Makefile.in: Regenerate.
  198. * configure: Regenerate.
  199. * bfd-in2.h: Regenerate.
  200. * libcoff.h: Regenerate.
  201. 2014-12-10 Alan Modra <amodra@gmail.com>
  202. PR 17541
  203. * dwarf2.c (struct comp_unit): Add "lang".
  204. (non_mangled): New function.
  205. (struct funcinfo): Add "is_linkage". Reorder for better packing.
  206. Make "name" a const char*.
  207. (lookup_address_in_function_table): Delete functionname_ptr param.
  208. (find_abstract_instance_name): Add is_linkage param. Set if we
  209. have DW_AT_linkage_name or non_mangled DW_AT_name.
  210. (scan_unit_for_symbols): Similarly set func->is_linkage.
  211. (parse_comp_unit): Stash DW_AT_language.
  212. (comp_unit_find_nearest_line): Replace functionname_ptr param
  213. with function_ptr param.
  214. (_bfd_dwarf2_find_nearest_line): Adjust above calls. Set
  215. functionname_ptr from function->name. Call _bfd_elf_find_function
  216. to retrieve symbol for function if not linkage name.
  217. (_bfd_elf_find_function): Add bfd_target_elf_flavour test, moved from..
  218. * elf.c (elf_find_function): ..here.
  219. (_bfd_elf_find_nearest_line): Adjust calls.
  220. * elf-bfd.h (_bfd_elf_find_function): Declare.
  221. 2014-12-10 Alan Modra <amodra@gmail.com>
  222. * dwarf2.c (read_address): Check bfd_target_elf_flavour before
  223. calling get_elf_backend_data.
  224. (_bfd_dwarf2_find_nearest_line): Fix parens.
  225. 2014-12-10 Alan Modra <amodra@gmail.com>
  226. PR 17666
  227. * elf-bfd.h (struct elf_backend_data): Add sort_relocs_p.
  228. * elfxx-target.h (elf_backend_sort_relocs_p): Define.
  229. (elfNN_bed): Init new field.
  230. * elflink.c (elf_link_adjust_relocs): Conditionally sort.
  231. (bfd_elf_final_link): Control sorting of relocs.
  232. * elfxx-mips.c (_bfd_mips_elf_sort_relocs_p): New function.
  233. * elfxx-mips.h (_bfd_mips_elf_sort_relocs_p): Declare.
  234. * elf32-mips.c (elf_backend_sort_relocs_p): Define.
  235. * elf64-mips.c (elf_backend_sort_relocs_p): Define.
  236. 2014-12-09 Nick Clifton <nickc@redhat.com>
  237. PR binutils/17512
  238. * archive64.c (bfd_elf64_archive_slurp_armap): Add range checks.
  239. * libbfd.c (safe_read_leb128): New function.
  240. * libbfd-in.h (safe_read_leb128): Add prototype.
  241. * libbfd.h: Regenerate.
  242. * elf-attrs.c (_bfd_elf_parse_attributes): Use safe_read_leb128.
  243. Check for an over-long subsection length.
  244. * elf.c (elf_parse_notes): Check that the namedata is long enough
  245. for the string comparison that is about to be performed.
  246. (elf_read_notes): Zero-terminate the note buffer.
  247. 2014-12-09 Alan Modra <amodra@gmail.com>
  248. * elf64-ppc.c (sort_r_offset): Delete.
  249. (ppc64_elf_edit_opd): Don't sort input relocs.
  250. 2014-12-06 Eric Botcazou <ebotcazou@adacore.com>
  251. * config.bfd: Add Visium support.
  252. * configure.ac: Likewise.
  253. * configure: Regenerate.
  254. * Makefile.am (ALL_MACHINES): Add cpu-visium.lo.
  255. (ALL_MACHINES_CFILES): Add cpu-visium.c.
  256. (BFD32_BACKENDS): Add elf32-visium.lo.
  257. (BFD32_BACKENDS_CFILES): Add elf32-visium.c.
  258. * Makefile.in: Regenerate.
  259. * archures.c (DESCRIPTION): Add Visium support.
  260. (bfd_visium_arch): Declare.
  261. (bfd_archures_list): Add bfd_visium_arch.
  262. * reloc.c: Add Visium relocations.
  263. * targets.c (visium_elf32_vec): Declare.
  264. (_bfd_target_vector): Add visium_elf32_vec.
  265. * bfd-in2.h: Regenerate.
  266. * libbfd.h: Likewise.
  267. * cpu-visium.c: New file.
  268. * elf32-visium.c: Likewise.
  269. * po/SRC-POTFILES.in: Regenerate.
  270. 2014-12-05 Steve Ellcey <sellcey@mips.com>
  271. * ecoff.c (_bfd_ecoff_slurp_symbol_table): Add cast.
  272. 2014-12-05 H.J. Lu <hongjiu.lu@intel.com>
  273. * elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New.
  274. 2014-12-04 H.J. Lu <hongjiu.lu@intel.com>
  275. PR binutils/17677
  276. * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype.
  277. * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New
  278. function.
  279. * elf32-i386.c (elf_i386_plt_sym_val): Removed.
  280. (elf_backend_plt_sym_val): Likewise.
  281. (elf_i386_get_plt_sym_val): New.
  282. (elf_i386_get_synthetic_symtab): Likewise.
  283. (bfd_elf32_get_synthetic_symtab): Likewise.
  284. * elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed.
  285. (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
  286. (elf_backend_plt_sym_val): Likewise.
  287. (elf_x86_64_get_plt_sym_val): New.
  288. (elf_x86_64_get_synthetic_symtab): Use
  289. _bfd_elf_ifunc_get_synthetic_symtab.
  290. (bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl.
  291. 2014-12-04 Alan Modra <amodra@gmail.com>
  292. PR 17666
  293. * elflink.c: Include bfd_stdint.h.
  294. (cmp_ext32l_r_offset, cmp_ext32b_r_offset,
  295. cmp_ext64l_r_offset, cmp_ext64b_r_offset): New functions.
  296. (elf_link_adjust_relocs): Sort relocs. Free rel hashes after
  297. sorting invalidates.
  298. 2014-12-03 Nick Clifton <nickc@redhat.com>
  299. PR binutils/17512
  300. * compress.c (bfd_get_full_section_contents): Fail if there are no
  301. section contents available when the compress_status is
  302. COMPRESS_SECTION_DONE.
  303. * libbfd.c (bfd_malloc): Refuse to allocate a negative size.
  304. (bfd_malloc2): Use bfd_malloc.
  305. (bfd_realloc): Refuse to reallocate a negative size.
  306. (bfd_realloc2): Use bfd_realloc.
  307. (bfd_realloc_or_free): Use bfd_realloc.
  308. (bfd_zmalloc): Use bfd_malloc.
  309. (bfd_zmalloc): Use bfd_malloc2.
  310. * opncls.c (bfd_alloc): Refuse to allocate a negative size.
  311. 2014-12-03 H.J. Lu <hongjiu.lu@intel.com>
  312. * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat.
  313. 2014-12-02 H.J. Lu <hongjiu.lu@intel.com>
  314. * elf64-x86-64.c (elf_x86_64_relocate_section): Check
  315. info->executable for symbols which need copy relocs.
  316. 2014-12-02 H.J. Lu <hongjiu.lu@intel.com>
  317. * elf64-x86-64.c (elf_x86_64_check_relocs): Revert the last
  318. change.
  319. (elf_x86_64_adjust_dynamic_symbol): Don't check !info->shared
  320. with ELIMINATE_COPY_RELOCS.
  321. (elf_x86_64_allocate_dynrelocs): For PIE, discard space for
  322. relocs against symbols which turn out to need copy relocs.
  323. 2014-12-02 H.J. Lu <hongjiu.lu@intel.com>
  324. * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always
  325. allow copy relocs for building executables.
  326. (elf_x86_64_check_relocs): Allow copy relocs for non-GOT
  327. pc-relative relocation in shared object.
  328. (elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for
  329. PIE.
  330. (elf_x86_64_relocate_section): Don't copy a pc-relative
  331. relocation into the output file if the symbol needs copy reloc.
  332. 2014-12-02 Andrew Bennett <andrew.bennett@imgtec.com>
  333. * elfxx-mips.c (mips_elf_calculate_relocation): Only check for
  334. overflow on non-weak undefined symbols.
  335. 2014-12-02 Alan Modra <amodra@gmail.com>
  336. * elf64-ppc.c (OPD_NDX): Define. Use throughout for sizing/indexing
  337. _opd_sec_data array, halving required memory.
  338. (sort_r_offset): New function.
  339. (ppc64_elf_edit_opd): Sort incoming relocs. Accept .opd
  340. sections with a mix of 16 and 24 byte OPD entries. Don't
  341. attempt to honour --non-overlapping-opd for .opd sections with
  342. unexpected relocs. Simplify opd entry size calculations by
  343. first finding the reloc for the next entry. Make edit loop
  344. handle one opd entry per iteration, with an inner loop
  345. handling relocs per entry.
  346. 2014-12-01 Nick Clifton <nickc@redhat.com>
  347. PR binutils/17512
  348. * archive.c (do_slurp_coff_armap): Add range checks to prevent
  349. running off the end of the string table.
  350. * compress.c (bfd_get_full_section_contents): Return a NULL
  351. pointer for zero sized sections. Do not attempt to copy a buffer
  352. onto itself.
  353. * elf-attrs.c (_bfd_elf_parse_attributes): Check for an empty
  354. header. Add range checks to avoid running off the end of the
  355. section.
  356. * elf.c (bfd_elf_get_str_section): Seek before allocating so that
  357. if the seek fails, no memory is allocated.
  358. (bfd_elf_string_from_elf_section): Do not allocate a string from a
  359. non string section. It only leads to trouble later on.
  360. (_bfd_elf_print_private_bfd_data): Check for there being too
  361. little external dynamic data.
  362. (bfd_section_from_shdr): Replace assertion with a failure mode.
  363. (bfd_section_from_shdr): When walking a loaded group section use
  364. the internal structure size, not the external size. Check for the
  365. group section being empty.
  366. * elf32-i386.c (elf_i386_rtype_to_howto): Replace assertion with a
  367. failure mode.
  368. * elfcode.h (elf_slurp_reloc_table): Likewise.
  369. * reloc.c (bfd_perform_relocation): Avoid seg-fault if the howto
  370. parameter is NULL.
  371. 2014-11-30 Alan Modra <amodra@gmail.com>
  372. PR 16452, 16457
  373. * elflink.c (_bfd_elf_link_find_version_dependencies): Exclude
  374. symbols from libraries that won't be listed in DT_NEEDED.
  375. (elf_link_output_extsym): Don't output verdefs for such symbols.
  376. 2014-11-28 Alan Modra <amodra@gmail.com>
  377. * elf.c (_bfd_elf_slurp_version_tables): Exit loops when vn_next/
  378. vna_next/vd_next/vda_next is zero. Correct counts.
  379. 2014-11-27 Nick Clifton <nickc@redhat.com>
  380. PR binutils/17512
  381. * ecoff.c (_bfd_ecoff_slurp_symbol_table): Warn about and correct
  382. a discrepancy between the isymMax and ifdMax values in the
  383. symbolic header.
  384. * elf.c (_bfd_elf_print_private_bfd_data): Fix the range check
  385. scanning the external dynamic entries.
  386. 2014-11-26 Nick Clifton <nickc@redhat.com>
  387. PR binutils/17512
  388. * coff-h8300.c (rtype2howto): Replace abort with returning a NULL
  389. value.
  390. * coff-h8500.c (rtype2howto): Likewise.
  391. * coff-tic30.c (rtype2howto): Likewise.
  392. * coff-z80.c (rtype2howto): Likewise.
  393. * coff-z8k.c (rtype2howto): Likewise.
  394. * coff-ia64.c (RTYPE2HOWTO): Always return a valid howto.
  395. * coff-m68k.c (m68k_rtype2howto): Return a NULL howto if none
  396. could be found.
  397. * coff-mcore.c (RTYPE2HOWTO): Add range checking.
  398. * coff-w65.c (rtype2howto): Likewise.
  399. * coff-we32k.c (RTYPE2HOWTO): Likewise.
  400. * pe-mips.c (RTYPE2HOWTO): Likewise.
  401. * coff-x86_64.c (coff_amd64_reloc): Likewise. Replace abort with
  402. an error return.
  403. * coffcode.h (coff_slurp_reloc_table): Allow the rel parameter to
  404. be unused.
  405. * coffgen.c (make_a_section_from_file): Check the length of a
  406. section name before testing to see if it is a debug section name.
  407. (coff_object_p): Zero out any uninitialised bytes in the opt
  408. header.
  409. * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Test for the raw
  410. source being empty when there are values to be processed.
  411. (_bfd_ecoff_slurp_symbol_table): Add range check.
  412. * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Likewise.
  413. (bfd_mach_o_mangle_sections): Move test for too many sections to
  414. before the allocation of the section table.
  415. (bfd_mach_o_read_symtab_strtab): If the read fails, free the
  416. memory and nullify the symbol pointer.
  417. * reloc.c (bfd_generic_get_relocated_section_contents): Add
  418. handling of a bfd_reloc_notsupported return value.
  419. * versados.c (EDATA): Add range checking.
  420. (get_record): Likewise.
  421. (process_otr): Check for contents being available before updating
  422. them.
  423. (versados_canonicalize_reloc): Add range check.
  424. 2014-11-26 Alan Modra <amodra@gmail.com>
  425. * elf.c (_bfd_elf_slurp_version_tables): Delay allocation of
  426. internal verref buffer. Error for zero sh_info. Print errors.
  427. Check for zero vd_ndx. Use bfd_zalloc for vd_auxptr buffer.
  428. 2014-11-25 H.J. Lu <hongjiu.lu@intel.com>
  429. * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use
  430. NAME##_get_symbol_version_string.
  431. (bfd_get_symbol_version_string): New.
  432. * aout-adobe.c (aout_32_get_symbol_version_string): Define using
  433. _bfd_nosymbols define.
  434. * aout-target.h (MY_get_symbol_version_string): Likewise.
  435. * aout-tic30.c (MY_get_symbol_version_string): Likewise.
  436. * binary.c (binary_get_symbol_version_string): Likewise.
  437. * bout.c (aout_32_get_symbol_version_string): Likewise.
  438. * coff-rs6000.c (_bfd_xcoff_get_symbol_version_string): Likewise.
  439. * i386msdos.c (msdos_get_symbol_version_string): Likewise.
  440. * i386os9k.c (aout_32_get_symbol_version_string): Likewise.
  441. * ieee.c (ieee_get_symbol_version_string): Likewise.
  442. * ihex.c (ihex_get_symbol_version_string): Likewise.
  443. * libecoff.h (_bfd_ecoff_get_symbol_version_string): Likewise.
  444. * mach-o-target.c (bfd_mach_o_get_symbol_version_string): Likewise.
  445. * mmo.c (mmo_get_symbol_version_string): Likewise.
  446. * nlm-target.h (nlm_get_symbol_version_string): Likewise.
  447. * oasys.c (oasys_get_symbol_version_string): Likewise.
  448. * pef.c (bfd_pef_get_symbol_version_string): Likewise.
  449. * plugin.c (bfd_plugin_get_symbol_version_string): Likewise.
  450. * ppcboot.c (ppcboot_get_symbol_version_string): Likewise.
  451. * som.c (som_get_symbol_version_string): Likewise.
  452. * srec.c (srec_get_symbol_version_string): Likewise.
  453. * tekhex.c (tekhex_get_symbol_version_string): Likewise.
  454. * versados.c (versados_get_symbol_version_string): Likewise.
  455. * vms-alpha.c (alpha_vms_get_symbol_version_string): Likewise.
  456. * xsym.c (bfd_sym_get_symbol_version_string): Likewise.
  457. * coff64-rs6000.c (rs6000_xcoff64_vec): Use
  458. coff_get_symbol_version_string.
  459. (rs6000_xcoff64_aix_vec): Likewise.
  460. * elf-bfd.h (bfd_elf_get_symbol_version_string): Renamed to ...
  461. (_bfd_elf_get_symbol_version_string): This.
  462. * elf.c: Likewise.
  463. (bfd_elf_print_symbol): Updated.
  464. * elfxx-target.h (bfd_elfNN_get_symbol_version_string): Define.
  465. * libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Define.
  466. * libcoff-in.h (coff_get_symbol_version_string): Likewise.
  467. * bfd-in2.h: Regenerated.
  468. * libbfd.h: Likewise.
  469. * libcoff.h: Likewise.
  470. 2014-11-25 H.J. Lu <hongjiu.lu@intel.com>
  471. PR binutils/16496
  472. * elf-bfd.h (bfd_elf_get_symbol_version_string): New.
  473. * elf.c (bfd_elf_get_symbol_version_string): New. Extracted
  474. from bfd_elf_print_symbol.
  475. (bfd_elf_print_symbol): Use it.
  476. 2014-11-25 H.J. Lu <hongjiu.lu@intel.com>
  477. * elf32-i386.c (elf_i386_got_plt_entry): New.
  478. (elf_i386_pic_got_plt_entry): Likewise.
  479. (elf_i386_link_hash_entry): Add plt_got.
  480. (elf_i386_link_hash_table): Likewise.
  481. (elf_i386_link_hash_newfunc): Initialize plt_got.offset to -1.
  482. (elf_i386_get_local_sym_hash): Likewise.
  483. (elf_i386_check_relocs): Create the GOT PLT if there are both
  484. PLT and GOT references when the regular PLT is used.
  485. (elf_i386_allocate_dynrelocs): Use the GOT PLT if there are
  486. both PLT and GOT references unless pointer equality is needed.
  487. (elf_i386_relocate_section): Also check the GOT PLT when
  488. resolving R_386_PLT32.
  489. (elf_i386_finish_dynamic_symbol): Use the GOT PLT if it is
  490. available.
  491. * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add plt_got.
  492. (elf_x86_64_link_hash_table): Likewise.
  493. (elf_x86_64_link_hash_newfunc): Initialize plt_got.offset to -1.
  494. (elf_x86_64_get_local_sym_hash): Likewise.
  495. (elf_x86_64_check_relocs): Create the GOT PLT if there are both
  496. PLT and GOT references when the regular PLT is used.
  497. (elf_x86_64_allocate_dynrelocs): Use the GOT PLT if there are
  498. both PLT and GOT references unless pointer equality is needed.
  499. (elf_x86_64_relocate_section): Also check the GOT PLT when
  500. resolving R_X86_64_PLT32.
  501. (elf_x86_64_finish_dynamic_symbol): Use the GOT PLT if it is
  502. available.
  503. 2014-11-24 H.J. Lu <hongjiu.lu@intel.com>
  504. * configure: Regenerated.
  505. 2014-11-24 Tejas Belagod <tejas.belagod@arm.com>
  506. * elfnn-aarch64.c (elf_aarch64_compare_mapping): New.
  507. (erratum_835769_scan): Sort map list.
  508. 2014-11-24 Alan Modra <amodra@gmail.com>
  509. * elf64-ppc.c (plt_stub_pad): Correct.
  510. 2014-11-23 H.J. Lu <hongjiu.lu@intel.com>
  511. * elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of
  512. elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
  513. (elf_x86_64_allocate_dynrelocs): Don't assert size of
  514. elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
  515. 2014-11-22 H.J. Lu <hongjiu.lu@intel.com>
  516. * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
  517. branch displacement overflow in PLT entry.
  518. 2014-11-21 Nick Clifton <nickc@redhat.com>
  519. PR binutils/17512
  520. * coffgen.c (coff_get_normalized_symtab): Check for an excessive
  521. number of auxiliary entries.
  522. * ieee.c (next_byte): Convert to a function. Return FALSE if the
  523. next byte is beyond the end of the buffer.
  524. (parse_int): Test the return value of next_byte.
  525. (parse_expression): Convert to boolean. Return FALSE if the
  526. parsing failed. Test the return value of next_byte.
  527. (ieee_seek): Convert to a function. Return FALSE if the seek goes
  528. beyond the end of the buffer.
  529. (ieee_slurp_external_symbols): Test the return value of ieee_seek
  530. and next_byte.
  531. (ieee_slurp_sections): Convert to boolean. Return FALSE if the
  532. operation failed. Test the return value of ieee_seek and
  533. next_byte.
  534. (ieee_archive_p): Test the return value of ieee_seek and
  535. next_byte.
  536. (do_one): Likewise.
  537. (ieee_slurp_section_data): Likewise.
  538. (ieee_object_p): Likewise. Store the size of the buffer in the
  539. total_amt field in the header.
  540. * libieee.h (common_header_type): Add amt field.
  541. * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Check that the
  542. reloc's value is within range.
  543. (bfd_mach_o_read_symtab_symbols): Nullify the symbols field if the
  544. operation fails.
  545. * pei-x86_64.c (pex64_xdata_print_uwd_codes): Replace abort with
  546. an error message.
  547. (pex64_dump_xdata): Check for buffer overflows.
  548. * versados.c (process_otr): Check that the section exists before
  549. taking its size.
  550. (versados_object_p): Make sure that enough data was read for the
  551. header to be checked.
  552. * vms-alpha.c (vms_get_remaining_object_record): Change
  553. read_so_far parameter to an unsigned int. Check that the amount
  554. read is in range.
  555. 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
  556. * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Optimize
  557. PC-relative offset overflow check.
  558. 2014-11-21 Alexander Cherepanov <cherepan@mccme.ru>
  559. PR binutils/17512
  560. * coffgen.c (_bfd_coff_read_string_table): Test allocation of
  561. string table before clearing the first few bytes.
  562. 2014-11-21 Terry Guo <terry.guo@arm.com>
  563. * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5.
  564. 2014-11-20 Alan Modra <amodra@gmail.com>
  565. * elf64-ppc.c (group_sections): Init stub14_group_size from
  566. --stub-group-size parameter divided by 1024.
  567. 2014-11-20 Alan Modra <amodra@gmail.com>
  568. * elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround
  569. alignment calculation.
  570. 2014-11-20 Terry Guo <terry.guo@arm.com>
  571. * elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd
  572. hasn't attribute section.
  573. 2014-11-20 Alan Modra <amodra@gmail.com>
  574. * elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters.
  575. 2014-11-18 H.J. Lu <hongjiu.lu@intel.com>
  576. PR ld/17618
  577. * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
  578. PC-relative offset overflow in PLT entry.
  579. 2014-11-18 Nick Clifton <nickc@redhat.com>
  580. PR binutils/17512
  581. * peXXIgen.c (pe_print_pdata): Fail if the section's virtual size
  582. is larger than its real size.
  583. (rsrc_print_section): Fix off-by-one error checking for overflow.
  584. * pei-x86_64.c (pex64_bfd_print_pdata): Handle empty unwind
  585. sections.
  586. 2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com>
  587. * elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only
  588. for -z bndplt.
  589. 2014-11-14 Nick Clifton <nickc@redhat.com>
  590. PR binutils/17597
  591. * opncls.c (bfd_get_debug_link_info): Avoid reading off the end of
  592. the section.
  593. (bfd_get_alt_debug_link_info): Likewise.
  594. 2014-11-14 Nick Clifton <nickc@redhat.com>
  595. PR binutils/17512
  596. * ieee.c (ieee_archive_p) Skip processing if no bytes are read at
  597. all.
  598. (ieee_object_p): Likewise.
  599. 2014-11-13 H.J. Lu <hongjiu.lu@intel.com>
  600. * coffcode.h (coff_slurp_line_table): Add cast to unsigned int.
  601. 2014-11-13 H.J. Lu <hongjiu.lu@intel.com>
  602. * coffcode.h (coff_pointerize_aux_hook): Fix a typo.
  603. 2014-11-13 H.J. Lu <hongjiu.lu@intel.com>
  604. PR gas/17598
  605. * elf64-x86-64.c (elf_x86_64_check_relocs): Treat
  606. R_X86_64_GOTPLT64 the same as R_X86_64_GOT64.
  607. (elf_x86_64_relocate_section): Likewise.
  608. 2014-11-13 Nick Clifton <nickc@redhat.com>
  609. PR binutils/17512
  610. * coffcode.h (coff_ptr_struct): Add is_sym field.
  611. (coff_new_section_hook): Set the is_sym field.
  612. (coff_pointerize_aux_hook): Check the is_sym field.
  613. (coff_print_aux): Likewise.
  614. (coff_compute_section_file_positions): Likewise.
  615. (coff_write_object_contents): Likewise.
  616. (coff_slurp_line_table): Likewise.
  617. (coff_slurp_symbol_table): Likewise.
  618. (CALC_ADDEND): Likewise.
  619. * coffgen.c (coff_renumber_symbols): Likewise.
  620. (coff_mangle_symbols): Likewise.
  621. (coff_fix_symbol_name): Likewise.
  622. (coff_write_symbol): Likewise.
  623. (coff_write_alien_symbol): Likewise.
  624. (coff_write_native_symbol): Likewise.
  625. (coff_write_symbols): Likewise.
  626. (coff_write_linenumbers): Likewise.
  627. (coff_pointerize_aux): Likewise.
  628. (coff_get_normalized_symtab): Likewise.
  629. (coff_get_symbol_info): Likewise.
  630. (bfd_coff_get_syment): Likewise.
  631. (bfd_coff_get_auxent): Likewise.
  632. (coff_print_symbol): Likewise.
  633. (coff_find_nearest_line_with_names): Likewise.
  634. (bfd_coff_set_symbol_class): Likewise.
  635. (coff_make_empty_symbol): Set the is_sym field.
  636. (coff_bfd_make_debug_symbol): Likewise.
  637. * peicode.h (pe_ILF_make_a_symbol): Likewise.
  638. * libcoff.h: Regenerate.
  639. * libcoff-in.h: Regenerate.
  640. 2014-11-12 Nick Clifton <nickc@redhat.com>
  641. PR binutils/17512
  642. * coffcode.h (coff_slurp_line_table): Set the line number of
  643. corrupt entries to -1.
  644. (coff_slurp_symbol_table): Alway initialise the value of the
  645. symbol.
  646. * coffgen.c (coff_print_symbol): Check that the combined pointer
  647. is valid.
  648. (coff_print_symbol): Do not print negative line numbers.
  649. * peXXigen.c (pe_print_idata): Add range checking displaying
  650. member names.
  651. 2014-11-12 Alan Modra <amodra@gmail.com>
  652. PR binutils/17512
  653. * coffcode.h (coff_slurp_line_table): Drop line number info
  654. not preceded by a valid function entry. Revert last change.
  655. 2014-11-11 Nick Clifton <nickc@redhat.com>
  656. PR binutils/17512
  657. * coffcode.h (coff_slurp_line_table): Initialise the parts of the
  658. line number cache that would not be initialised by the copy from
  659. the new line number table.
  660. (coff_classify_symbol): Allow for _bfd_coff_internal_syment_name
  661. returning NULL.
  662. * coffgen.c (coff_get_normalized_symbols): Get the external
  663. symbols before allocating space for the internal symbols, in case
  664. the get fails.
  665. * elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref
  666. array if one is needed. Likewise with the verdef array.
  667. * peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error
  668. messages.
  669. (_bfd_XXi_swap_aux_in): Make sure that all fields of the aux
  670. structure are initialised.
  671. (pe_print_edata): Avoid reading off the end of the data buffer.
  672. 2014-11-11 Alan Modra <amodra@gmail.com>
  673. PR binutils/17512
  674. * coffcode.h (coff_slurp_line_table): Use updated lineno_count
  675. when building func_table.
  676. 2014-11-11 Alan Modra <amodra@gmail.com>
  677. PR binutils/17512
  678. * coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just
  679. memset the particular bits we need. Update src after hitting loop
  680. "continue". Don't count lineno omitted due to invalid symbols in
  681. nbr_func, and update lineno_count. Init entire terminating
  682. lineno. Don't both allocating terminator in n_lineno_cache.
  683. Redirect sym->lineno pointer to where n_lineno_cache will be
  684. copied, and free n_lineno_cache.
  685. * pe-mips.c (NUM_HOWTOS): Typo fix.
  686. 2014-11-11 Alan Modra <amodra@gmail.com>
  687. * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section
  688. size check to account for possible zero terminator.
  689. 2014-11-10 James Cowgill <James.Cowgill@imgtec.com>
  690. * elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small
  691. data sections to be PROGBITS
  692. 2014-11-10 Nick Clifton <nickc@redhat.com>
  693. PR binutils/17521
  694. * coff-i386.c (NUM_HOWTOS): New define.
  695. (RTYPE2HOWTO): Use it.
  696. (coff_i386_rtype_to_howto): Likewise.
  697. (coff_i386_reloc_name_lookup): Likewise.
  698. (CALC_ADDEND): Check that reloc r_type field is valid.
  699. * coff-x86_64.c (NUM_HOWTOS): New define.
  700. (RTYPE2HOWTO): Use it.
  701. (coff_amd64_rtype_to_howto): Likewise.
  702. (coff_amd64_reloc_name_lookup): Likewise.
  703. (CALC_ADDEND): Check that reloc r_type field is valid.
  704. * coffcode.h (coff_slurp_line_table): Check for symbol table
  705. indexing underflow.
  706. (coff_slurp_symbol_table): Use zalloc to ensure that all table
  707. entries are initialised.
  708. * coffgen.c (_bfd_coff_read_string_table): Initialise unused bits
  709. in the string table. Also ensure that the table is 0 terminated.
  710. (coff_get_normalized_symtab): Check for symbol table indexing
  711. underflow.
  712. * opncls.c (bfd_alloc): Catch the case where a small negative size
  713. can result in only 1 byte being allocated.
  714. (bfd_alloc2): Use bfd_alloc.
  715. * pe-mips.c (NUM_HOWTOS): New define.
  716. (coff_mips_reloc_name_lookup): Use it.
  717. (CALC_ADDEND): Check that reloc r_type field is valid.
  718. * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries
  719. in the DataDirectory.
  720. (pe_print_idata): Avoid reading beyond the end of the data block
  721. wen printing strings.
  722. (pe_print_edata): Likewise.
  723. Check for table indexing underflow.
  724. * peicode.h (pe_mkobject): Initialise the pe_opthdr field.
  725. (pe_bfd_object_p): Allocate and initialize enough space to hold a
  726. PEAOUTHDR, even if the opt_hdr field specified less.
  727. 2014-11-08 Alan Modra <amodra@gmail.com>
  728. * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead.
  729. 2014-11-07 H.J. Lu <hongjiu.lu@intel.com>
  730. * peXXigen.c (pe_print_idata): Cast to unsigned long in range
  731. checks.
  732. 2014-11-07 H.J. Lu <hongjiu.lu@intel.com>
  733. PR ld/17482
  734. * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments
  735. for IE->LE transition.
  736. 2014-11-07 Alan Modra <amodra@gmail.com>
  737. * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors.
  738. 2014-11-07 Alan Modra <amodra@gmail.com>
  739. * tekhex.c (CHUNK_SPAN): Define.
  740. (struct data_struct <chunk_init>): Use one byte per span, update
  741. all code accessing this field.
  742. (find_chunk): Add create param, don't create new entry unless set.
  743. (insert_byte): Don't save zeros.
  744. (first_phase): Set section SEC_CODE or SEC_DATA flag depending
  745. on symbol type. Create an alternate section if both types of
  746. symbol are given. Attach type '2' and '6' symbols to absolute
  747. section.
  748. (move_section_contents): Fix caching of chunk. Don't create chunk
  749. when reading, or for writing zeros.
  750. (tekhex_set_section_contents): Don't create initial chunks.
  751. (tekhex_write_object_contents): Use CHUNK_SPAN.
  752. 2014-11-07 Alan Modra <amodra@gmail.com>
  753. * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer.
  754. 2014-11-07 Alan Modra <amodra@gmail.com>
  755. * archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check.
  756. * coffcode.h (coff_set_alignment_hook): Likewise.
  757. (coff_slurp_line_table): Likewise.
  758. * coffgen.c (coff_get_normalized_symtab): Likewise.
  759. (_bfd_coff_get_external_symbols): Likewise.
  760. * elf.c (bfd_elf_get_str_section): Likewise.
  761. * tekhex.c (first_phase): Likewise.
  762. 2014-11-06 Nick Clifton <nickc@redhat.com>
  763. * aoutx.h (slurp_symbol_table): Revert previous delta.
  764. (slurp_reloc_table): Likewise.
  765. * compress.c (bfd_get_full_section_contents): Remove file size
  766. test.
  767. * coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs
  768. and do not complain about linker generated files.
  769. 2014-11-06 Will Newton <will.newton@linaro.org>
  770. * elf-attrs.c (_bfd_elf_parse_attributes): Handle zero
  771. length sections and sub-sections.
  772. 2014-11-04 Nick Clifton <nickc@redhat.com>
  773. PR binutils/17512
  774. * coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT.
  775. Replace another abort with an error message.
  776. (coff_slurp_line_table): Add more range checking.
  777. * peXXigen.c (pe_print_debugdata): Add range checking.
  778. 2014-11-05 James Cowgill <james.cowgill@imgtec.com>
  779. * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault
  780. when creating a dso with discarded dynsym section.
  781. 2014-11-05 Matthew Fortune <matthew.fortune@imgtec.com>
  782. * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6
  783. and E_MIPS_ARCH_64R6 support.
  784. 2014-11-05 Nick Clifton <nickc@redhat.com>
  785. PR binutils/17512
  786. * coffcode.h (coff_set_alignment_hook): Warn if the file lies
  787. about the number of relocations it contains.
  788. (coff_sort_func_alent): Return 0 if the pointers are NULL.
  789. (coff_slurp_line_table): Add more range checks. Do not free new
  790. tables created when sorting line numbers.
  791. * peXXigen.c (pe_print_idata): Add range checks.
  792. (pe_print_edata): Likewise.
  793. (rsrc_print_resource_entries): Likewise. Avoid printing control
  794. characters. Terminate priniting if corruption is detected.
  795. (rsrc_print_resource_directory): Terminate printing if an unknown
  796. directory type is encountered.
  797. (pe_print_debugdata): Fix off-by-one error.
  798. (rsrc_count_entries): Add range checking.
  799. (rsrc_parse_entry): Likewise.
  800. 2014-11-04 Nick Clifton <nickc@redhat.com>
  801. PR binutils/17512
  802. * compress.c (bfd_get_full_section_contents): Improve test for
  803. linker created objects.
  804. PR binutils/17533
  805. * archive.c (_bfd_slurp_extended_name_table): Handle archives with
  806. corrupt extended name tables.
  807. 2014-11-04 Alan Modra <amodra@gmail.com>
  808. * elf32-spu.c (ovl_mgr_stat): New function.
  809. (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec.
  810. 2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com>
  811. * elf32-avr.c (elf32_avr_relax_delete_bytes): During linker
  812. relaxation, reduce the size of symbols that span the deleted
  813. bytes.
  814. 2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com>
  815. * elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols
  816. located at the very end of the section.
  817. 2014-11-03 Nick Clifton <nickc@redhat.com>
  818. PR binutils/17512
  819. * aoutx.h (slurp_symbol_table): Check that computed table size is
  820. not bigger than the file from which is it being read.
  821. (slurp_reloc_table): Likewise.
  822. * coffcode.h (coff_slurp_line_table): Remove unneeded local
  823. 'warned'. Do not try to print the details of a symbol with an
  824. invalid index.
  825. * coffgen.c (make_a_sectiobn_from_file): Check computed string
  826. index against length of string table.
  827. (bfd_coff_internal_syment_name): Check read in string offset
  828. against length of string table.
  829. (build_debug_section): Return a pointer to the section used.
  830. (_bfd_coff_read_string_table): Store the length of the string
  831. table in the coff_tdata structure.
  832. (bfd_coff_free_symbols): Set the length of the string table to
  833. zero when it is freed.
  834. (coff_get_normalized_symtab): Check offsets against string table
  835. or data table lengths as appropriate.
  836. * cofflink.c (_bfd_coff_link_input_bfd): Check offset against
  837. length of string table.
  838. * compress.c (bfd_get_full_section_contents): Check computed size
  839. against the size of the file.
  840. * libcoff-in.h (obj_coff_strings_len): Define.
  841. (struct coff_tdata): Add strings_len field.
  842. * libcoff.h: Regenerate.
  843. * peXXigen.c (pe_print_debugdata): Do not attempt to print the
  844. data if the debug section is too small.
  845. * xcofflink.c (xcoff_link_input_bfd): Check offset against
  846. length of string table.
  847. 2014-11-03 Nick Clifton <nickc@redhat.com>
  848. * po/fi.po: Updated Finnish translation.
  849. 2014-10-31 Andrew Pinski <apinski@cavium.com>
  850. Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
  851. * archures.c: Add octeon3 for mips target.
  852. * bfd-in2.h: Regenerate.
  853. * bfd/cpu-mips.c: Define I_mipsocteon3.
  854. nfo_struct): Add octeon3 support.
  855. * bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for
  856. octeon3.
  857. (mips_set_isa_flags): Add support for octeon3.
  858. (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3.
  859. (mips_mach_extensions): Make bfd_mach_mips_octeon3 an
  860. extension of bfd_mach_mips_octeon2.
  861. (print_mips_isa_ext): Print the value of Octeon3.
  862. 2014-10-31 Nick Clifton <nickc@redhat.com>
  863. PR binutils/17512
  864. * coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a
  865. symbol table bigger than the file.
  866. * elf.c (bfd_elf_get_str_section): Do not try to load a string
  867. table bigger than the file.
  868. * tekhex.c (first_phase): Check that the section range is sane.
  869. 2014-10-30 Nick Clifton <nickc@redhat.com>
  870. PR binutils/17512
  871. * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte.
  872. * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun.
  873. 2014-10-29 Nick Clifton <nickc@redhat.com>
  874. * elf.c (bfd_section_from_shdr): Fix heap use after free memory
  875. leak.
  876. 2014-10-29 Dennis Brueni <dbrueni@slickedit.com>
  877. * elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy.
  878. 2014-10-28 Nick Clifton <nickc@redhat.com>
  879. PR binutils/17512
  880. * elf.c (bfd_section_from_shdr): Allocate and free the recursion
  881. detection table on a per-bfd basis.
  882. * peXXigen.c (pe_print_edata): Handle binaries with a truncated
  883. export table.
  884. 2014-10-28 Andreas Schwab <schwab@suse.de>
  885. Nick Clifton <nickc@redhat.com>
  886. PR binutils/17510
  887. * srec.c (srec_bad_byte): Increase size of buf to allow for
  888. negative values.
  889. (srec_scan): Use an unsigned char buffer to hold header bytes.
  890. 2014-10-27 Nick Clifton <nickc@redhat.com>
  891. PR binutils/17512
  892. * elf.c (bfd_section_from_shdr): Detect and warn about ELF
  893. binaries with a group of sections linked by the string table
  894. indicies.
  895. * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries
  896. with an invalid value for NumberOfRvaAndSizes.
  897. (pe_print_edata): Detect out of range rvas and entry counts for
  898. the Export Address table, Name Pointer table and Ordinal table.
  899. PR binutils/17510
  900. * elf.c (setup_group): Improve handling of corrupt group
  901. sections.
  902. 2014-10-24 Tejas Belagod <tejas.belagod@arm.com>
  903. * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter.
  904. * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
  905. * elfnn-aarch64.c (aarch64_erratum_835769_stub): New.
  906. (elf_aarch64_stub_type): Add new type
  907. aarch64_stub_erratum_835769_veneer.
  908. (elf_aarch64_stub_hash_entry): New fields for erratum 835769.
  909. (aarch64_erratum_835769_fix): New data struct to record erratum
  910. 835769.
  911. (elf_aarch64_link_hash_table: Global flags for 835769.
  912. (aarch64_build_one_stub): Add case for 835769.
  913. (aarch64_size_one_stub): Likewise.
  914. (aarch64_mem_op_p, aarch64_mlxl_p,
  915. aarch64_erratum_sequence,erratum_835769_scan):
  916. New. Decode and scan functions for erratum 835769.
  917. (elf_aarch64_create_or_find_stub_sec): New.
  918. (elfNN_aarch64_size_stubs): Look for erratum 835769 and record
  919. them.
  920. (bfd_elfNN_aarch64_set_options: Set global flag for 835769.
  921. (erratum_835769_branch_to_stub_data,
  922. make_branch_to_erratum_835769_stub):New. Connect up all the
  923. erratum stubs to occurances by branches.
  924. (elfNN_aarch64_write_section): New hook.
  925. (aarch64_map_one_stub): Output erratum stub symbol.
  926. (elfNN_aarch64_size_dynamic_sections): Init mapping symbol
  927. information for erratum 835769.
  928. (elf_backend_write_section): Define.
  929. 2014-10-23 Victor Kamensky <victor.kamensky@linaro.org>
  930. * elf32-arm.c (read_code32): New function to read 32 bit
  931. arm instruction.
  932. (read_code16): New function to read 16 bit thumb instrution.
  933. (elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32
  934. and read_code16 to read instructions.
  935. 2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com>
  936. * elfxx-mips.c (print_mips_ases): Print unknown ASEs.
  937. (print_mips_isa_ext): Print the value of an unknown extension.
  938. 2014-10-21 Alan Modra <amodra@gmail.com>
  939. * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc
  940. entries that aren't a multiple of 8 rather than failing assertion.
  941. 2014-10-21 Alan Modra <amodra@gmail.com>
  942. * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions
  943. to thread_starter.
  944. 2014-10-18 Alan Modra <amodra@gmail.com>
  945. * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code
  946. section for function symbols defined in .opd is discarded, let
  947. the symbol appear to be undefined.
  948. (opd_entry_value): Ensure the result section is that for the
  949. function code section in the same object as the OPD entry.
  950. 2014-10-16 Alan Modra <amodra@gmail.com>
  951. PR 17492
  952. * elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols
  953. on ELF output bfd.
  954. * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
  955. * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
  956. * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
  957. * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
  958. * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
  959. * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
  960. * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
  961. * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
  962. * elf-s390-common.c (elf_s390_add_symbol_hook): Likewise. Handle
  963. STB_GNU_UNIQUE too.
  964. 2014-10-16 Alan Modra <amodra@gmail.com>
  965. * elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing
  966. even when output is not ppc64 ELF. Remove redundant tests on
  967. type of input bfd.
  968. 2014-10-15 Alan Modra <amodra@gmail.com>
  969. PR 17481
  970. * aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr"
  971. param, group "section" and "offset" params. Zero discriminator.
  972. * bfd.c (bfd_find_nearest_line): Implement with new
  973. _bfd_find_nearest_line.
  974. (bfd_find_nearest_line_discriminator): Likewise.
  975. * coff-i386.c (_bfd_generic_find_nearest_line_discriminator): Don't
  976. define.
  977. * coff-rs6000.c (xcoff_find_nearest_line,
  978. xcoff_find_nearest_line_discriminator): Delete.
  979. (_bfd_xcoff_find_nearest_line): Don't define.
  980. (_bfd_xcoff_find_nearest_line): Define as coff_find_nearest_line.
  981. * coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): Don't
  982. define.
  983. * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Adjust.
  984. * coffgen.c (coff_find_nearest_line_with_names): Reorder params,
  985. adjust _bfd_dwarf2_find_nearest_line call.
  986. (coff_find_nearest_line): Add "discriminator_ptr" param, reorder
  987. others. Set discriminator. Adjust call.
  988. (coff_find_nearest_line_discriminator): Delete.
  989. * dwarf1.c (_bfd_dwarf1_find_nearest_line): Reorder params.
  990. * dwarf2.c (find_line): Rename to..
  991. (_bfd_dwarf2_find_nearest_line): ..this, reordering params.
  992. Simplify setting of do_line. Delete old function.
  993. (_bfd_dwarf2_find_line): Delete.
  994. * ecoff.c (_bfd_ecoff_find_nearest_line): Reorder params, add
  995. discriminator_ptr and set it.
  996. * elf-bfd.h (_bfd_elf_find_nearest_line): Update prototype.
  997. (_bfd_elf_find_nearest_line_discriminator): Delete.
  998. (_bfd_elf_find_line_discriminator): Delete.
  999. (_bfd_generic_find_nearest_line_discriminator): Don't define.
  1000. * elf.c (elf_find_function): Reorder params.
  1001. (_bfd_elf_find_nearest_line): Reorder params, add discriminator_ptr.
  1002. Adjust calls.
  1003. (_bfd_elf_find_nearest_line_discriminator): Delete.
  1004. (_bfd_elf_find_line): Adjust call.
  1005. * elf32-arm.c (arm_elf_find_function): Reorder params.
  1006. (elf32_arm_find_nearest_line): Reorder params, add discriminator_ptr.
  1007. Adjust calls.
  1008. * elf64-alpha.c (elf64_alpha_find_nearest_line): Similarly.
  1009. * elfnn-aarch64.c (aarch64_elf_find_function): Reorder params.
  1010. (elfNN_aarch64_find_nearest_line): Reorder params, add
  1011. discriminator_ptr. Adjust calls.
  1012. * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly.
  1013. * elfxx-mips.h (_bfd_mips_elf_find_nearest_line): Update prototype.
  1014. * libaout.h (NAME (aout, find_nearest_line)): Update prototype.
  1015. * libbfd-in.h (_bfd_nosymbols_find_nearest_line): Update.
  1016. (_bfd_dwarf1_find_nearest_line): Likewise.
  1017. (_bfd_dwarf2_find_nearest_line): Likewise.
  1018. (_bfd_dwarf2_find_line): Delete.
  1019. (_bfd_generic_find_nearest_line_discriminator): Delete.
  1020. * libbfd.c (_bfd_generic_find_nearest_line_discriminator): Delete.
  1021. * libcoff-in.h (coff_find_nearest_line): Update prototype.
  1022. (coff_find_nearest_line_discriminator): Delete.
  1023. (coff_find_nearest_line_with_names): Update prototype.
  1024. * libecoff.h (_bfd_ecoff_find_nearest_line): Update prototype.
  1025. * mach-o.c (bfd_mach_o_find_nearest_line): Reorder params, add
  1026. discriminator_ptr. Adjust calls.
  1027. * mach-o.h (bfd_mach_o_find_nearest_line): Update prototype.
  1028. * pdp11.c (NAME (aout, find_nearest_line)): Reorder params, add
  1029. discriminator_ptr and set.
  1030. * som.c (som_find_nearest_line): Similarly.
  1031. * targets.c (BFD_JUMP_TABLE_SYMBOLS): Delete entry for
  1032. _bfd_find_nearest_line_discriminator.
  1033. (struct bfd_target <_bfd_find_nearest_line>): Adjust prototype.
  1034. (struct bfd_target <_bfd_find_nearest_line_discriminator>): Delete.
  1035. * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Rename to..
  1036. (_bfd_vms_find_nearest_line): ..this. Reorder params, add
  1037. "discriminator" and set.
  1038. (_bfd_vms_find_nearest_line_discriminator): Delete.
  1039. (_bfd_generic_find_nearest_line_discriminator): Don't define.
  1040. (alpha_vms_find_nearest_line): Update define.
  1041. * bfd-in2.h: Regenerate.
  1042. * libbfd.h: Regenerate.
  1043. * libcoff.h: Regenerate.
  1044. 2014-10-15 Alan Modra <amodra@gmail.com>
  1045. * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line.
  1046. * aout-adobe.c (aout_32_find_line): Define.
  1047. (aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup,
  1048. aout_32_bfd_reloc_name_lookup): Define using _bfd_nosymbols define.
  1049. * aout-target.h (MY_find_line): Define.
  1050. * aout-tic30.c (MY_find_line): Define.
  1051. * binary.c (binary_find_line): Define.
  1052. * bout.c (aout_32_find_line): Define.
  1053. * coff-rs6000.c (_bfd_xcoff_find_line): Define.
  1054. * coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_find_line.
  1055. (rs6000_xcoff64_aix_vec): Likewise.
  1056. * elf-bfd.h (_bfd_generic_find_line): Don't define.
  1057. * elfxx-target.h (bfd_elfNN_find_line): Define.
  1058. * i386msdos.c (msdos_find_line): Define.
  1059. * i386os9k.c (aout_32_find_line): Define.
  1060. * ieee.c (ieee_find_nearest_line, ieee_find_inliner_info): Delete func.
  1061. (ieee_find_nearest_line, ieee_find_line,
  1062. ieee_find_inliner_info): Define.
  1063. * ihex.c (ihex_find_line): Define.
  1064. * libbfd-in.h (_bfd_nosymbols_find_line): Define.
  1065. (_bfd_generic_find_line): Don't define.
  1066. * libbfd.c (_bfd_generic_find_line): Delete.
  1067. * libcoff-in.h (coff_find_line): Define.
  1068. * libecoff.h (_bfd_ecoff_find_line): Define.
  1069. * mach-o.h (bfd_mach_o_find_line): Define.
  1070. * mmo.c (mmo_find_line): Define.
  1071. * nlm-target.h (nlm_find_line): Define.
  1072. * oasys.c (oasys_find_nearest_line, oasys_find_inliner_info): Delete.
  1073. (oasys_find_nearest_line, oasys_find_line,
  1074. oasys_find_inliner_info): Define.
  1075. * pef.c (bfd_pef_find_line): Define.
  1076. * plugin.c (bfd_plugin_find_line): Define.
  1077. * ppcboot.c (ppcboot_find_line): Define.
  1078. * som.c (som_find_line): Define.
  1079. * srec.c (srec_find_line): Define.
  1080. * tekhex.c (tekhex_find_line): Define.
  1081. * versados.c (versados_find_line): Define.
  1082. * vms-alpha.c (alpha_vms_find_line): Define.
  1083. * xsym.c (bfd_sym_find_line): Define.
  1084. * bfd-in2.h: Regenerate.
  1085. * libbfd.h: Regenerate.
  1086. * libcoff.h: Regenerate.
  1087. 2014-10-15 Tristan Gingold <gingold@adacore.com>
  1088. * version.m4: Bump version to 2.25.51
  1089. * configure: Regenerate.
  1090. 2014-10-14 H.J. Lu <hongjiu.lu@intel.com>
  1091. * elf32-i386.c (elf_i386_convert_mov_to_lea): Skip if relocation
  1092. offset is less than 2.
  1093. * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
  1094. 2014-10-14 Alan Modra <amodra@gmail.com>
  1095. PR 17453
  1096. * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types.
  1097. (EIGHT_GAZILLION): Delete.
  1098. 2014-10-13 Alan Modra <amodra@gmail.com>
  1099. PR 17467
  1100. * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc.
  1101. (_bfd_elf_parse_eh_frame): When relocatable output, don't set
  1102. flags enabling conversion of CIEs and FDEs to use relative encoding.
  1103. (find_merged_cie): Similarly.
  1104. (_bfd_elf_write_section_eh_frame): Don't edit FDEs when
  1105. relocatable, except for CIE pointer.
  1106. * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for
  1107. relocs against symbols in dropped comdat group sections.
  1108. (bfd_elf_discard_info): Do some eh_frame optimisation when
  1109. relocatable.
  1110. 2014-10-09 Jose E. Marchesi <jose.marchesi@oracle.com>
  1111. * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle
  1112. the hwcaps2 object attribute.
  1113. 2014-10-04 Alan Modra <amodra@gmail.com>
  1114. PR 17447
  1115. * elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf.
  1116. * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address
  1117. range FDEs for discarding.
  1118. (vma_compare): Sort on range after address.
  1119. (_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf.
  1120. (_bfd_elf_discard_section_eh_frame): Likewise. Write "FDE" in
  1121. error message rather than "fde".
  1122. (_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in
  1123. error message.
  1124. 2014-09-29 H.J. Lu <hongjiu.lu@intel.com>
  1125. PR ld/17440
  1126. * elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build
  1127. for OLD_FREEBSD_ABI_LABEL.
  1128. 2014-09-24 Markus Trippelsdorf <markus@trippelsdorf.de>
  1129. PR 17422
  1130. * plugin.c (try_claim): New function. Moved from
  1131. bfd_plugin_object_p.
  1132. (try_load_plugin): Pass through bfd. Add test.
  1133. (load_plugin): Pass through bfd.
  1134. (bfd_plugin_object_p): Move logic to try_claim.
  1135. 2014-09-23 Sterling Augustine <augustine.sterling@gmail.com>
  1136. * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section
  1137. call relaxation use furthermost addresses where call source and
  1138. destination can be to check whether it's in the range of a direct
  1139. call.
  1140. 2014-09-22 Alan Modra <amodra@gmail.com>
  1141. * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return
  1142. false for overflow or overlapping FDEs. Give more detail in
  1143. error messages.
  1144. 2014-09-22 Andrew Bennett <andrew.bennett@imgtec.com>
  1145. * elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend
  1146. the addend if relocations are RELA.
  1147. 2014-09-22 Kuan-Lin Chen <kuanlinchentw@gmail.com>
  1148. * elf32-nds32.c (nds32_elf_ex9_build_hash_table,
  1149. nds32_elf_ex9_relocation_check): Synchronize the argument type.
  1150. 2014-09-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
  1151. * elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF
  1152. for PIE.
  1153. * elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF
  1154. for PIE.
  1155. 2014-09-18 Jan Kratochvil <jan.kratochvil@redhat.com>
  1156. PR gdb/17407
  1157. * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET.
  1158. 2014-09-16 Terry Guo <terry.guo@arm.com>
  1159. * elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if
  1160. failed to merge.
  1161. 2014-09-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
  1162. * bfd-in2.h: Regenerate.
  1163. * elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject.
  1164. (nds32_elf_relax_section): Code refactoring.
  1165. (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2,
  1166. nds32_elf_relax_longcall3, nds32_elf_relax_longcall4,
  1167. nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call
  1168. pattern. The first three is moved from nds32_elf_relax_section,
  1169. and the last three is new function.
  1170. (nds32_elf_relax_longjump1, nds32_elf_relax_longjump2,
  1171. nds32_elf_relax_longjump3, nds32_elf_relax_longjump4,
  1172. nds32_elf_relax_longjump5, nds32_elf_relax_longjump6,
  1173. nds32_elf_relax_longjump7): Relax condition branch pattern. The first
  1174. three is moved from nds32_elf_relax_section, and the last four
  1175. is new function.
  1176. (nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store
  1177. pattern and address setting pattern.
  1178. (nds32_elf_relax_piclo12, nds32_elf_relax_ptr,
  1179. nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff,
  1180. nds32_elf_relax_gotoff_suff): Relax pic pattern.
  1181. (nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd,
  1182. nds32_elf_relax_letlsls): Relax TLS pattern.
  1183. (nds32_relax_adjust_label): Adjust alignment and nop.
  1184. (nds32_elf_pick_relax): Choose relaxation optimization.
  1185. (nds32_elf_get_relocated_section_contents): New hook.
  1186. (nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9
  1187. table 234th entry.
  1188. * elf32-nds32.h: Declare.
  1189. * libbfd.h: Regenerate.
  1190. * reloc.c: Add nds32 new relocations.
  1191. 2014-09-15 Chen Gang <gang.chen.5i5j@gmail.com>
  1192. * dwarf2.c (find_abstract_instance_name): Use 'form' instead of
  1193. 'name' for the typo issue, which related with commit
  1194. 60d77146a249ae9b51d7ce98930cdbedb2cfa352.
  1195. 2014-09-15 Andrew Bennett <andrew.bennett@imgtec.com>
  1196. Matthew Fortune <matthew.fortune@imgtec.com>
  1197. * aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6.
  1198. * archures.c (bfd_architecture): Likewise.
  1199. * bfd-in2.h (bfd_architecture): Likewise.
  1200. (bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2,
  1201. BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
  1202. BFD_RELOC_MIPS_19_PCREL_S2.
  1203. * cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6.
  1204. * elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2
  1205. R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16.
  1206. (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
  1207. BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
  1208. BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
  1209. BFD_RELOC_LO16_PCREL.
  1210. * elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2,
  1211. R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16
  1212. and R_MIPS_PCLO16.
  1213. (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
  1214. BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
  1215. BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
  1216. BFD_RELOC_LO16_PCREL.
  1217. * elfn32-mips.c: Likewise.
  1218. * elfxx-mips.c (MIPSR6_P): New define.
  1219. (mipsr6_exec_plt_entry): New array.
  1220. (hi16_reloc_p): Add support for R_MIPS_PCHI16.
  1221. (lo16_reloc_p): Add support for R_MIPS_PCLO16.
  1222. (aligned_pcrel_reloc_p): New function.
  1223. (mips_elf_relocation_needs_la25_stub): Add support for relocs:
  1224. R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
  1225. (mips_elf_calculate_relocation): Add support for relocs:
  1226. R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2,
  1227. R_MIPS_PCHI16 and R_MIPS_PCLO16.
  1228. (_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6.
  1229. (mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16.
  1230. (_bfd_mips_elf_check_relocs): Add support for relocs:
  1231. R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
  1232. (_bfd_mips_elf_relocate_section): Add a check for unaligned
  1233. pc relative relocs.
  1234. (_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6
  1235. plt entry.
  1236. (mips_set_isa_flags): Add support for mips32r6 and mips64r6.
  1237. (_bfd_mips_elf_print_private_bfd_data): Likewise.
  1238. (mips_32bit_flags_p): Add support for mips32r6.
  1239. * libbfd.h (bfd_reloc_code_real_names): Add entries for
  1240. BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2,
  1241. BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2.
  1242. * reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2,
  1243. BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
  1244. BFD_RELOC_MIPS_19_PCREL_S2.
  1245. * config.bfd: Add mips*-img-elf* target triple.
  1246. 2014-09-12 Andrew Bennett <andrew.bennett@imgtec.com>
  1247. * config.bfd: Add mips*-img-elf* target triple.
  1248. 2014-09-12 Alan Modra <amodra@gmail.com>
  1249. * elf-bfd.h (struct eh_frame_array_ent): Add "range".
  1250. * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address
  1251. range of FDEs to hdr_info->array.
  1252. (_bfd_elf_write_section_eh_frame_hdr): Report overflow in
  1253. .eh_frame_hdr entries, and overlapping FDEs.
  1254. 2014-09-10 Alan Modra <amodra@gmail.com>
  1255. * elf.c (assign_file_positions_except_relocs): Move section header
  1256. placement to..
  1257. (_bfd_elf_assign_file_positions_for_relocs): ..here. Make static.
  1258. * elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete.
  1259. * elflink.c (bfd_elf_final_link): Don't call above function.
  1260. 2014-08-30 Alan Modra <amodra@gmail.com>
  1261. * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error.
  1262. 2014-08-29 Alan Modra <amodra@gmail.com>
  1263. * elf64-ppc.c (ppc64_elf_relocate_section): Report a different
  1264. error for calls via a toc adjusting stub without a nop.
  1265. 2014-08-29 Alan Modra <amodra@gmail.com>
  1266. * vms-alpha.c (alpha_vma_object_p): Don't return file_truncated
  1267. error. Remove redundant bfd_set_error.
  1268. 2014-08-29 Alan Modra <amodra@gmail.com>
  1269. * srec.c (srec_scan): Revert last change. Report an error for
  1270. S-records with less than the miniumum byte count.
  1271. 2014-08-28 H.J. Lu <hongjiu.lu@intel.com>
  1272. * srec.c (srec_scan): Return error for 0 size.
  1273. 2014-08-27 H.J. Lu <hongjiu.lu@intel.com>
  1274. PR ld/17306
  1275. * elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section
  1276. to check discarded input section.
  1277. * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
  1278. 2014-08-27 H.J. Lu <hongjiu.lu@intel.com>
  1279. PR ld/17313
  1280. * elflink.c (elf_link_add_object_symbols): Don't attach dynamic
  1281. sections to input from ld --just-symbols.
  1282. 2014-08-26 DJ Delorie <dj@redhat.com>
  1283. * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for
  1284. relaxation type.
  1285. 2014-08-26 Jiong Wang <jiong.wang@arm.com>
  1286. * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref
  1287. properly for MOVW_G0/1/2_NC and MOVW_G3. Reject them when linking
  1288. shared library.
  1289. (elfNN_aarch64_gc_sweep_hook): Add check on these relocs.
  1290. 2014-08-26 Nick Clifton <nickc@redhat.com>
  1291. * config.bfd: Fix typo in or1knd selection.
  1292. 2014-08-22 Kai Tietz <ktietz@redhat.com>
  1293. PR binutils/11822
  1294. * coffcode.h (coff_compute_section_file_positions): Keep
  1295. FileAlignment valid as set.
  1296. 2014-08-22 Alan Modra <amodra@gmail.com>
  1297. * elf-eh-frame.c (struct cie): Delete "output_sec" field.
  1298. (cie_eq, cie_compute_hash): Use output_section from cie_inf instead.
  1299. 2014-08-22 Alan Modra <amodra@gmail.com>
  1300. * elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and
  1301. parsed_eh_frames.
  1302. (_bfd_elf_begin_eh_frame_parsing): Delete.
  1303. (_bfd_elf_end_eh_frame_parsing): Delete.
  1304. * elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): Delete.
  1305. (_bfd_elf_end_eh_frame_parsing): Delete.
  1306. (_bfd_elf_parse_eh_frame): Don't test parsed_eh_frame. Test
  1307. !info->relocatable in place of merge_cies.
  1308. * elflink.c (bfd_elf_gc_sections, bfd_elf_discard_info): Adjust.
  1309. * elf64-ppc.c (glink_eh_frame_cie): Pad to multiple of 8.
  1310. (ppc64_elf_size_stubs): Likewise pad stub FDE.
  1311. (ppc64_elf_build_stubs): Move code setting glink .eh_frame to..
  1312. (ppc64_elf_size_stubs): ..here and..
  1313. (ppc64_elf_finish_dynamic_sections): ..here.
  1314. 2014-08-21 Maciej W. Rozycki <macro@codesourcery.com>
  1315. * elf64-ppc.h (ppc64_elf_set_toc): Fix indentation.
  1316. 2014-08-21 Tony Wang <tony.wang@arm.com>
  1317. * elf32-arm.c (elf32_arm_final_link_relocate): Implement
  1318. the veneer routine for R_ARM_THM_JUMP19.
  1319. (arm_type_of_stub): Add conditional clause for R_ARM_THM_JUMP19
  1320. (elf32_arm_size_stub): Ditto.
  1321. 2014-08-20 Roland McGrath <mcgrathr@google.com>
  1322. PR ld/17277
  1323. * elf32-arm.c (elf32_arm_check_relocs): Increment P->pc_count for
  1324. all reloc types with pc_relative set in the howto, not just for
  1325. R_ARM_REL32 and R_ARM_REL32_NOI.
  1326. (allocate_dynrelocs_for_symbol): Update comment.
  1327. (elf32_arm_gc_sweep_hook): For all reloc types with pc_relative
  1328. set in the howto, set call_reloc_p and may_need_local_target_p but
  1329. not may_become_dynamic_p; not only for R_ARM_REL32 and R_ARM_REL32_NOI.
  1330. (elf32_arm_check_relocs): Likewise.
  1331. 2014-08-20 Will Newton <will.newton@linaro.org>
  1332. * config.bfd: Default armeb-*-eabi* to big endian.
  1333. 2014-08-19 Alan Modra <amodra@gmail.com>
  1334. * configure: Regenerate.
  1335. 2014-08-18 Alan Modra <amodra@gmail.com>
  1336. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't attempt to
  1337. use dynrelocs for ifunc.
  1338. * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Similarly.
  1339. 2014-08-18 Alan Modra <amodra@gmail.com>
  1340. PR 17287
  1341. * elflink.c (on_needed_list): Only consider libraries that have
  1342. been loaded.
  1343. 2014-08-18 Alan Modra <amodra@gmail.com>
  1344. * elflink.c (bfd_elf_discard_info): Return int error status.
  1345. * stabs.c (_bfd_discard_section_stabs): Comment typo fix.
  1346. * bfd-in.h (bfd_elf_discard_info): Updata prototype.
  1347. * bfd-in2.h: Regenerate.
  1348. 2014-08-14 Alan Modra <amodra@gmail.com>
  1349. * peXXigen.c (pe_print_reloc): Protect against access past end
  1350. of .reloc section.
  1351. 2014-08-14 Alan Modra <amodra@gmail.com>
  1352. PR 16563
  1353. * elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab
  1354. in the order they are mapped to output sections.
  1355. 2014-08-14 Alan Modra <amodra@gmail.com>
  1356. * configure.ac: Delete redundant plugin related checks.
  1357. * configure: Regenerate.
  1358. 2014-08-13 Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
  1359. * elf32-or1k.c (or1k_elf_relocate_section, or1k_elf_check_relocs,
  1360. allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL
  1361. and SYMBOLIC_BIND.
  1362. 2014-08-12 Alan Modra <amodra@gmail.com>
  1363. * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Only call "notice"
  1364. here when not calling the generic add_symbol function. Formatting.
  1365. Correct handling of indirect symbols. Update notice call.
  1366. * elflink.c (_bfd_elf_notice_as_needed): Update notice call.
  1367. * linker.c (_bfd_generic_link_add_one_symbol): Create indirect
  1368. symbols early. Update notice call. Add comments regarding weak
  1369. symbols vs. indirect.
  1370. 2014-08-12 Alan Modra <amodra@gmail.com>
  1371. PR ld/16746
  1372. * linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle
  1373. !lto_plugin_active.
  1374. 2014-08-07 Chen Gang <gang.chen.5i5j@gmail.com>
  1375. * coff-ppc.c (coff_ppc_relocate_section): Ensure local symbols are
  1376. zero terminated.
  1377. 2014-08-07 H.J. Lu <hongjiu.lu@intel.com>
  1378. Alan Modra <amodra@gmail.com>
  1379. PR ld/16746
  1380. * linker.c (_bfd_generic_link_add_one_symbol): Don't issue a
  1381. warning for references in LTO IR to warning symbols.
  1382. 2014-08-07 Alan Modra <amodra@gmail.com>
  1383. * linker.c (WARN, CWARN): Collapse these states to WARN.
  1384. (_bfd_generic_link_add_one_symbol): Use old CWARN case for
  1385. new WARN.
  1386. 2014-08-05 Doug Evans <dje@google.com>
  1387. * bfd-in2.h: Regenerate.
  1388. * libcoff.h: Regenerate.
  1389. 2014-08-05 Maciej W. Rozycki <macro@codesourcery.com>
  1390. * elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's
  1391. rawsize if changing size.
  1392. 2014-08-05 Alan Modra <amodra@gmail.com>
  1393. PR ld/17226
  1394. * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Typo fix.
  1395. 2014-08-05 Alan Modra <amodra@gmail.com>
  1396. * linker.c (generic_link_check_archive_element): Move handling
  1397. of command link -u symbols with a common symbol def to the
  1398. code handling non-common symbols so that archive element symbols
  1399. are loaded. Use generic_link_add_object_symbols.
  1400. 2014-08-05 Alan Modra <amodra@gmail.com>
  1401. PR 13557
  1402. * linker.c (struct archive_list, struct archive_hash_entry,
  1403. struct archive_hash_table, archive_hash_newfunc,
  1404. archive_hash_table_init, archive_hash_lookup, archive_hash_allocate,
  1405. archive_hash_table_free): Delete.
  1406. (_bfd_generic_link_add_archive_symbols): Add h and name params to
  1407. checkfn. Rewrite using a straight-forward scan over archive map.
  1408. (generic_link_check_archive_element_no_collect,
  1409. generic_link_check_archive_element_collect,
  1410. generic_link_check_archive_element): Add h and name params.
  1411. * aoutx.h (aout_link_check_archive_element): Likewise.
  1412. * pdp11.c (aout_link_check_archive_element): Likewise.
  1413. * xcofflink.c (xcoff_link_check_archive_element): Likewise.
  1414. * cofflink.c (coff_link_check_archive_element): Likewise. Don't
  1415. scan symbols, simply add archive element whenever h is undefined.
  1416. (coff_link_check_ar_symbols): Delete.
  1417. * ecoff.c (read_ext_syms_and_strs): Delete.
  1418. (reread_ext_syms_and_strs): Delete.
  1419. (ecoff_link_check_archive_element): Add h and name param. Don't
  1420. scan symbols, simply add based on h. Use ecoff_link_add_object_symbols.
  1421. * elflink.c (elf_link_is_defined_archive_symbol): Don't test
  1422. archive_pass.
  1423. (elf_link_add_archive_symbols): Delete "defined" array, merge
  1424. functionality into "included". Make "included" a char array. Don't
  1425. set or test archive_pass.
  1426. * libbfd-in.h (_bfd_generic_link_add_archive_symbols): Update.
  1427. * libbfd.h: Regenerate.
  1428. 2014-08-01 Takashi Yoshii <yoshii.takashi@renesas.com>
  1429. PR 10373
  1430. * elf32-sh.c (sh_elf_relax_section): Add jmp to bra relaxing.
  1431. 2014-07-29 Matthew Fortune <matthew.fortune@imgtec.com>
  1432. * elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro.
  1433. (mips_elf_obj_tdata): Add abiflags and abiflags_valid fields.
  1434. (bfd_mips_elf_swap_abiflags_v0_in): New function.
  1435. (bfd_mips_elf_swap_abiflags_v0_out): Likewise.
  1436. (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS.
  1437. (_bfd_mips_elf_fake_sections): Likewise.
  1438. (_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags.
  1439. (_bfd_mips_elf_additional_program_headers): Account for new
  1440. PT_MIPS_ABIFLAGS program header.
  1441. (_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and
  1442. associate with .MIPS.abiflags.
  1443. (_bfd_mips_elf_gc_mark_extra_sections): New function.
  1444. (bfd_mips_isa_ext, update_mips_abiflags_isa): New static function.
  1445. (infer_mips_abiflags): Likewise.
  1446. (_bfd_mips_elf_final_link): Handle .MIPS.abiflags.
  1447. (mips_32bit_flags_p): Moved higher.
  1448. (mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error
  1449. checking for FP ABIs.
  1450. (_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags
  1451. checks. Check EF_MIPS_FP64 flag consistency.
  1452. (print_mips_ases, print_mips_isa_ext): New static function.
  1453. (print_mips_fp_abi_value, get_mips_reg_size): Likewise.
  1454. (_bfd_mips_elf_print_private_bfd_data): Display abiflags data.
  1455. (_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for
  1456. Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A.
  1457. * elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype.
  1458. * elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
  1459. * elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
  1460. * elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement.
  1461. 2014-07-28 Alan Modra <amodra@gmail.com>
  1462. PR 13227
  1463. * archive.c (_bfd_compute_and_write_armap): Warn on adding
  1464. __gnu_lto_slim to armap.
  1465. * linker.c (_bfd_generic_link_add_one_symbol): Warn on adding
  1466. __gnu_lto_slim to linker hash table.
  1467. 2014-07-27 Anthony Green <green@moxielogic.org>
  1468. * config.bfd: Add moxie-*-moxiebox*.
  1469. 2014-07-21 Joel Sherrill <joel.sherrill@oarcorp.com>
  1470. Add or reactivate or1k-*-rtems*
  1471. * config.bfd (or1k-*-rtems*): Reactivate.
  1472. 2014-07-16 H.J. Lu <hongjiu.lu@intel.com>
  1473. * elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for
  1474. ELFOSABI_GNU input.
  1475. * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
  1476. (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
  1477. 2014-07-16 H.J. Lu <hongjiu.lu@intel.com>
  1478. PR binutils/17154
  1479. * elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT
  1480. and R_*_IRELATIVE relocation offset with PLT entry.
  1481. * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
  1482. (elf_x86_64_plt_sym_val_offset_plt_bnd): New.
  1483. (elf_x86_64_get_synthetic_symtab): Use it.
  1484. 2014-07-15 H.J. Lu <hongjiu.lu@intel.com>
  1485. PR ld/17057
  1486. * elf32-i386.c (elf_i386_compute_jump_table_size): Replace
  1487. next_tls_desc_index with elf.srelplt->reloc_count.
  1488. 2014-07-15 Alan Modra <amodra@gmail.com>
  1489. * cache.c (cache_bread_1): Don't return -1 when fread returns
  1490. a positive value.
  1491. 2014-07-15 Alan Modra <amodra@gmail.com>
  1492. * elflink.c (elf_merge_st_other): Update comments. Simplify
  1493. visibility handling. Make isym const. Move code modifying
  1494. isym->st_other for --exclude-libs to..
  1495. (elf_link_add_object_symbols): ..here.
  1496. 2014-07-11 Maks Naumov <maksqwe1@ukr.net>
  1497. PR 17141
  1498. * elf.c (_bfd_elf_strtab_add): Check strtab name for failure.
  1499. 2014-07-08 Nick Clifton <nickc@redhat.com>
  1500. PR ld/17110
  1501. * elf32-sh.c (sh_elf_osec_to_segment): Do not look for output
  1502. segments in input bfds.
  1503. 2014-07-08 Will Newton <will.newton@linaro.org>
  1504. * elf32-arm.c (ELF_MAXPAGESIZE): Increase the default
  1505. value to 64kB and remove custom setting for NaCl.
  1506. 2014-07-08 Alan Modra <amodra@gmail.com>
  1507. * elflink.c (_bfd_elf_copy_link_hash_symbol_type): Copy st_other
  1508. bits from source to dest.
  1509. * linker.c (_bfd_generic_copy_link_hash_symbol_type): Update comment.
  1510. * targets.c (struct bfd_target <_bfd_copy_link_hash_symbol_type>):
  1511. Likewise.
  1512. * bfd-in2.h: Regenerate.
  1513. 2014-07-08 Jiong Wang <jiong.wang@arm.com>
  1514. * elfnn-aarch64.c (elf_backend_rela_normal): Set to 1.
  1515. (elfNN_aarch64_relocate_section): Remove duplicated addend adjustment
  1516. when info->relocatable be true.
  1517. 2014-07-07 Barney Stratford <barney_stratford@fastmail.fm>
  1518. * elf32-avr.c: Handle R_AVR_PORT5 and R_AVR_PORT6.
  1519. * reloc.c: Add BFD_RELOC_AVR_PORT5 and BFD_RELOC_AVR_PORT6.
  1520. * bfd-in2.h: Regenerate.
  1521. * libbfd.h: Regenerate.
  1522. 2014-07-04 Alan Modra <amodra@gmail.com>
  1523. * Makefile.am: Update "configure.in" comments.
  1524. * PORTING: Likewise.
  1525. * aoutx.h: Likewise.
  1526. * configure.host: Likewise.
  1527. * doc/bfdint.texi: Likewise.
  1528. * targets.c: Likewise.
  1529. * warning.m4: Likewise.
  1530. * Makefile.in: Regenerate.
  1531. 2014-07-04 Alan Modra <amodra@gmail.com>
  1532. * configure.ac: Rename from configure.in.
  1533. * Makefile.in: Regenerate.
  1534. * config.in: Regenerate.
  1535. * doc/Makefile.in: Regenerate.
  1536. 2014-07-04 Alan Modra <amodra@gmail.com>
  1537. * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in.
  1538. * Makefile.in: Regenerate.
  1539. 2014-07-04 Alan Modra <amodra@gmail.com>
  1540. * version.m4: New file.
  1541. * configure.in: Include version.m4.
  1542. (AC_INIT): Update.
  1543. * Makefile.am (RELEASE): Delete.
  1544. (bfdver.h): Depend on development.sh, use instead of RELEASE.
  1545. * Makefile.in: Regenerate.
  1546. * doc/Makefile.in: Regenerate.
  1547. 2014-07-02 Alan Modra <amodra@gmail.com>
  1548. * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Clear
  1549. pointer_equality_needed when !readonly_dynrelocs.
  1550. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
  1551. 2014-07-02 Alan Modra <amodra@gmail.com>
  1552. * elf32-ppc.c (ppc_elf_check_relocs): Set DF_STATIC_TLS for PIEs too.
  1553. * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
  1554. 2014-07-01 Alan Modra <amodra@gmail.com>
  1555. * bfd.c (struct bfd): Reorganise for better packing. Delete
  1556. "ifd" field. Make "format", "direction" and "flags" bitfields.
  1557. (HAS_LOAD_PAGE): Delete, renumber following flags.
  1558. * bfd-in2.h: Regenerate.
  1559. * coff-tic4x.c: Remove HAS_LOAD_PAGE from extra flags in target vecs.
  1560. 2014-07-01 Alan Modra <amodra@gmail.com>
  1561. * elf64-ppc.c (ppc_stub_type): Add ppc_stub_global_entry.
  1562. (struct ppc_link_hash_table): Increase size of stub_count array.
  1563. (build_global_entry_stubs): Emit symbol on global entry stub.
  1564. (ppc64_elf_build_stubs): NULL check htab->brlt. Add global entry
  1565. stub stats.
  1566. 2014-07-01 Alan Modra <amodra@gmail.com>
  1567. * elf64-ppc.c (abiversion, set_abiversion): Move earlier.
  1568. (ppc64_elf_branch_reloc): Adjust addend for ELFv2 local offset.
  1569. (ppc64_elf_set_toc): Set ".TOC." symbol value when using
  1570. generic linker.
  1571. (ppc64_elf_relocate_section): Disable ELFv2 function entry
  1572. optimisation when --traditional-format.
  1573. 2014-07-01 Barney Stratford <barney_stratford@fastmail.fm>
  1574. Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
  1575. Pitchumani Sivanupandi <pitchumani.s@atmel.com>
  1576. Soundararajan <Sounderarajan.D@atmel.com>
  1577. * archures.c: Add avrtiny architecture for avr target.
  1578. * cpu-avr.c (arch_info_struct): Add avrtiny arch info.
  1579. * elf32-avr.c (elf_avr_howto_table): New relocation R_AVR_LDS_STS_16
  1580. added for 16 bit LDS/STS instruction of avrtiny arch.
  1581. (avr_reloc_map): Reloc R_AVR_LDS_STS_16 is mapped to
  1582. BFD_RELOC_AVR_LDS_STS_16.
  1583. (bfd_elf_avr_final_write_processing): Select machine number
  1584. avrtiny arch.
  1585. (elf32_avr_object_p): Set machine number for avrtiny arch.
  1586. * reloc.c: Add documentation for BFD_RELOC_AVR_LDS_STS_16 reloc.
  1587. * bfd-in2.h: Regenerate.
  1588. * libbfd.h: Regenerate.
  1589. 2014-06-26 Nick Clifton <nickc@redhat.com>
  1590. PR binutils/16949
  1591. * dwarf2.c (is_str_attr): New function.
  1592. (find_abstract_instance_name): Use it to determine when an
  1593. attribute has a string value.
  1594. 2014-06-24 Alan Modra <amodra@gmail.com>
  1595. * elf32-ppc.c (ppc_elf_size_dynamic_sections): Arrange to keep
  1596. .sdata/.sdata2 when _SDA_BASE_/_SDA2_BASE_ should be output
  1597. for --emit-relocs.
  1598. 2014-06-21 Philippe De Muyter <phdm@macqel.be>
  1599. * targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for
  1600. a number of targets.
  1601. 2014-06-20 Kyle McMartin <kyle@redhat.com>
  1602. * elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when
  1603. emitting initial-exec relocs when not linking an executable.
  1604. 2014-06-16 Will Newton <will.newton@linaro.org>
  1605. * elf32-arm.c (elf32_arm_allocate_plt_entry): Increment
  1606. htab->next_tls_desc_index in the non-IPLT case.
  1607. Calculate GOT offset correctly for the non-IPLT case.
  1608. (allocate_dynrelocs_for_symbol): Don't increment
  1609. htab->next_tls_desc_index here.
  1610. 2014-06-16 Alan Modra <amodra@gmail.com>
  1611. * elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker
  1612. created sections.
  1613. 2014-06-13 Omair Javaid <omair.javaid@linaro.org>
  1614. * elfxx-aarch64.c (stdarg.h): Include.
  1615. (string.h): Include.
  1616. (_bfd_aarch64_elf_grok_prstatus): Updated.
  1617. (_bfd_aarch64_elf_grok_psinfo): New function.
  1618. (_bfd_aarch64_elf_write_core_note): New function.
  1619. * elfxx-aarch64.h (elf_backend_grok_psinfo): Define.
  1620. (elf_backend_write_core_note): Define.
  1621. 2014-06-13 Alan Modra <amodra@gmail.com>
  1622. * archive.c: Include bfdlink.h.
  1623. (_bfd_archive_close_and_cleanup): Call linker hash_table_free.
  1624. * bfd.c (struct bfd): Add is_linker_output field.
  1625. * elf-bfd.h (_bfd_elf_link_hash_table_free): Update prototype.
  1626. * linker.c (_bfd_link_hash_table_init): Set up hash_table_free,
  1627. link.hash and is_linker_output.
  1628. (_bfd_generic_link_hash_table_free): Replace bfd_link_hash_table*
  1629. param with bfd*. Assert is_linker_output and link.hash, and
  1630. clear them before exit.
  1631. * elf-m10300.c (elf32_mn10300_link_hash_table_free): Replace
  1632. bfd_link_hash_table* param with bfd*. Hack is_linker_output
  1633. and link.hash so we can free two linker hash tables.
  1634. (elf32_mn10300_link_hash_table_create): Create static_hash_table
  1635. first. Clean up on errors. Set hash_table_free pointer.
  1636. * elf32-arm.c (elf32_arm_link_hash_table_free): Replace
  1637. bfd_link_hash_table* param with bfd*.
  1638. (elf32_arm_link_hash_table_create): Clean up on errors. Set
  1639. hash_table_free pointer.
  1640. * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc1x.c,
  1641. * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, * elf32-xgate.c,
  1642. * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, * elflink.c,
  1643. * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c,
  1644. * xcofflink.c: Similarly.
  1645. * simple.c (bfd_simple_get_relocated_section_contents): Save and
  1646. clear link.next before creating linker hash table. Clean up on
  1647. errors, and restore link.next on exit.
  1648. * elf32-m68hc1x.h (m68hc11_elf_bfd_link_hash_table_free): Delete.
  1649. * elf32-xgate.h (xgate_elf_bfd_link_hash_table_free): Delete.
  1650. * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table_free): Delete.
  1651. * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Delete.
  1652. * hash.c (bfd_hash_table_init_n): Free table on error.
  1653. * libbfd-in.h (_bfd_generic_link_hash_table_free): Update proto.
  1654. * bfd-in2.h: Regenerate.
  1655. * libbfd.h: Regenerate.
  1656. * libcoff.h: Regenerate.
  1657. 2014-06-13 Alan Modra <amodra@gmail.com>
  1658. PR 17047
  1659. * targets.c (BFD_JUMP_TABLE): Delete NAME##_bfd_link_hash_table_free.
  1660. (struct bfd_target <_bfd_link_hash_table_free>): Delete.
  1661. * bfd.c (bfd_link_hash_table_free): Don't define.
  1662. * aout-adobe.c, * aout-target.h, * aout-tic30.c, * binary.c, * bout.c,
  1663. * coff64-rs6000.c, * coffcode.h, * elf-m10300.c, * elf32-arm.c,
  1664. * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc11.c,
  1665. * elf32-m68hc12.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
  1666. * elf32-sparc.c, * elf32-xgate.c, * elf64-ia64-vms.c, * elf64-ppc.c,
  1667. * elf64-sparc.c, * elf64-x86-64.c, * elfnn-aarch64.c, * elfnn-ia64.c,
  1668. * elfxx-target.h, * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c,
  1669. * libbfd-in.h, * libecoff.h, * mach-o-target.c, * mmo.c,
  1670. * nlm-target.h, * oasys.c, * pef.c, * plugin.c, * ppcboot.c, * som.c,
  1671. * srec.c, * tekhex.c, * verilog.c, * versados.c, * vms-alpha.c,
  1672. * xsym.c: Don't define various link_hash_table_free defines, and
  1673. remove from bfd_target vars. Temporarily reference some of the
  1674. target link_hash_table_free functions to avoid warnings.
  1675. * bfd-in2.h: Regenerate.
  1676. * libbfd.h: Regenerate.
  1677. 2014-06-13 Alan Modra <amodra@gmail.com>
  1678. * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, * elf32-hppa.c,
  1679. * elf32-i386.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-metag.c,
  1680. * elf32-nios2.c, * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c,
  1681. * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, * xcofflink.c:
  1682. Move link_hash_table_free functions before their corresponding
  1683. link_hash_table_create functions.
  1684. 2014-06-13 Alan Modra <amodra@gmail.com>
  1685. * bfd.c (struct bfd): Replace link_next with a union.
  1686. * aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c,
  1687. * ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c,
  1688. * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c,
  1689. * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c,
  1690. * elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c,
  1691. * elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
  1692. * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c,
  1693. * elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c,
  1694. * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
  1695. * elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c,
  1696. * elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
  1697. * elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c,
  1698. * sunos.c, * vms-alpha.c, * xcofflink.c: Update for above.
  1699. * bfd-in2.h: Regenerate.
  1700. 2014-06-11 Alan Modra <amodra@gmail.com>
  1701. * linker.c (unwrap_hash_lookup): Add missing parens.
  1702. 2014-06-11 Kai Tietz <ktietz@redhat.com>
  1703. * libcoff-in.h (coff_tdata): Make relocbase member unsigned.
  1704. * libcoff.h: Regenerated.
  1705. 2014-06-10 Alan Modra <amodra@gmail.com>
  1706. PR ld/16910
  1707. * linker.c (unwrap_hash_lookup): New function.
  1708. * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
  1709. * elf32-i370.c (i370_elf_relocate_section): Likewise.
  1710. * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
  1711. * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
  1712. * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
  1713. * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
  1714. * elf32-spu.c (spu_elf_relocate_section): Likewise.
  1715. * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
  1716. 2014-06-07 Alan Modra <amodra@gmail.com>
  1717. * elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli
  1718. insn as a bitfield; Use complain_overflow_bitfield.
  1719. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
  1720. 2014-06-05 Joel Brobecker <brobecker@adacore.com>
  1721. * development.sh: New file.
  1722. * warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh.
  1723. Make -Werror the default with GCC only if DEVELOPMENT is true.
  1724. * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
  1725. $(srcdir)/development.sh.
  1726. * Makefile.in, configure: Regenerate.
  1727. 2014-06-04 Will Newton <will.newton@linaro.org>
  1728. * elfnn-aarch64.c (tpoff_base): Make test of tls_sec
  1729. being non-NULL into an assert.
  1730. (elfNN_aarch64_tls_relax): Remove unused code.
  1731. 2014-06-03 DJ Delorie <dj@redhat.com>
  1732. * elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability.
  1733. 2014-06-03 Nick Clifton <nickc@redhat.com>
  1734. PR ld/16807
  1735. * peXXigen.c (rsrc_process_section): Page align the new contents
  1736. befgore writing out.
  1737. 2014-06-03 Alan Modra <amodra@gmail.com>
  1738. * elf64-ppc.c (ADDIS_R12_R2): Define.
  1739. (build_plt_stub): Support fusion on ELFv2 stub.
  1740. (ppc_build_one_stub): Likewise for plt branch stubs.
  1741. 2014-05-28 Alan Modra <amodra@gmail.com>
  1742. * elf32-rx.c (rx_table_map): Delete set but not used variables.
  1743. 2014-05-28 Tristan Gingold <gingold@adacore.com>
  1744. * dwarf2.c (lookup_address_in_function_table): Add best_fit_len
  1745. to keep the length of the best fit range.
  1746. (lookup_symbol_in_function_table, info_hash_lookup_funcinfo):
  1747. Likewise.
  1748. 2014-05-27 DJ Delorie <dj@redhat.com>
  1749. * elf32-rx.c (get_symbol_value_maybe): New.
  1750. (rx_elf_relocate_section): If we find a reloc against
  1751. $tableentry$default$<name>, redirect it to the appropriate
  1752. $tableentry$<n>$.
  1753. (RX_Table_Info): New.
  1754. (rx_table_find): New. Check all tables and SEC_KEEP all sections
  1755. with table parts in them.
  1756. (rx_check_directives): New.
  1757. (rx_table_map_2): New.
  1758. (rx_table_map): New.
  1759. (rx_additional_link_map_text): New. Called to dump tables to the
  1760. map file.
  1761. * elf32-rx.h: New.
  1762. 2014-05-20 DJ Delorie <dj@redhat.com>
  1763. * elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
  1764. 2014-05-20 Alan Modra <amodra@gmail.com>
  1765. PR 16952
  1766. * elf32-ppc.c (ppc_elf_create_linker_section): Move earlier.
  1767. Remove redundant setting of htab->elf.dynobj. Don't align.
  1768. Define .sdata symbols using _bfd_elf_define_linkage_sym.
  1769. (ppc_elf_create_glink): Call ppc_elf_create_linker_section.
  1770. (create_sdata_sym): Delete.
  1771. (elf_allocate_pointer_linker_section): Rename from
  1772. elf_create_pointer_linker_section. Align section.
  1773. (ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section
  1774. directly here, or create_sdata_sym. Set ref_regular on _SDA_BASE_
  1775. and _SDA2_BASE_.
  1776. (ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param.
  1777. Remove unnecessary tests on _SDA_BASE_ sym.
  1778. (maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions.
  1779. (ppc_elf_relocate_section): Tighten SDA reloc symbol section checks.
  1780. * elf32-ppc.h (ppc_elf_set_sdata_syms): Delete.
  1781. (ppc_elf_maybe_strip_sdata_syms): Declare.
  1782. 2014-05-16 Ryan Mansfield <rmansfield@qnx.com>
  1783. * config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*.
  1784. 2014-05-16 Jon Turney <jon.turney@dronecode.org.uk>
  1785. * peXXigen.c (pe_print_debugdata): Don't interpret debug directory
  1786. in a section with no contents.
  1787. (is_vma_in_section, find_section_by_vma): New functions.
  1788. (_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file
  1789. offsets in the debug directory.
  1790. (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
  1791. Byte-swap GUID from little-endian to big-endian order for
  1792. consistent and conventional display.
  1793. 2014-05-16 Kaushik Phata <Kaushik.Phatak@kpit.com>
  1794. * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if
  1795. 64-bit doubles objects mix with 32-bit doubles objects.
  1796. (rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag.
  1797. 2014-05-08 Hans-Peter Nilsson <hp@bitrange.com>
  1798. * mmo.c: Update URLs in documentation comments.
  1799. 2014-05-02 Volodymyr Arbatov <arbatov@cadence.com>
  1800. David Weatherford <weath@cadence.com>
  1801. Max Filippov <jcmvbkbc@gmail.com>
  1802. * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as
  1803. signed.
  1804. 2014-05-07 Andreas Tobler <andreast@fgznet.ch>
  1805. * config.bfd: Add proper arm config for *-*-freebsd*.
  1806. 2014-05-07 Andrew Bennett <andrew.bennett@imgtec.com>
  1807. * aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3,
  1808. mips32r5 and mips64r5.
  1809. * archures.c (bfd_architecture): Likewise.
  1810. * bfd-in2.h (bfd_architecture): Likewise.
  1811. * cpu-mips.c (arch_info_struct): Likewise.
  1812. * elfxx-mips.c (mips_set_isa_flags): Likewise.
  1813. 2014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
  1814. * elfxx-mips.h (elfxx-mips.h): Declare.
  1815. * elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report
  1816. Tag_GNU_MIPS_ABI_FP mismatches.
  1817. (_bfd_mips_fp_abi_string): New function.
  1818. 2014-05-02 Alan Modra <amodra@gmail.com>
  1819. * targets.c: Sort bfd_target vectors somewhat alphabetically.
  1820. * configure.in: Likewise.
  1821. * configure: Regenerate.
  1822. 2014-05-02 Alan Modra <amodra@gmail.com>
  1823. * aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
  1824. * aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
  1825. * cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
  1826. * coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
  1827. * coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
  1828. * coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
  1829. * coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
  1830. * coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
  1831. * coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
  1832. * coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
  1833. * demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
  1834. * elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
  1835. * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
  1836. * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
  1837. * elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
  1838. * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
  1839. * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
  1840. * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
  1841. * elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
  1842. * elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
  1843. * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
  1844. * elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
  1845. * elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
  1846. * elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
  1847. * elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
  1848. * elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
  1849. * elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
  1850. * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
  1851. * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
  1852. * elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
  1853. * epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
  1854. * hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
  1855. * i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
  1856. * i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
  1857. * irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
  1858. * m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
  1859. * makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
  1860. * nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
  1861. * ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
  1862. * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
  1863. * pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
  1864. * pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
  1865. * pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
  1866. * sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
  1867. * sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
  1868. * vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
  1869. * vms-alpha.c, * vms-lib.c: Rename bfd targets to
  1870. <cpu>_<format>_<other>_<endian>_vec. Adjust associated MY macros
  1871. on aout targets.
  1872. * configure: Regenerate.
  1873. 2014-05-01 Hans-Peter Nilsson <hp@bitrange.com>
  1874. * mmo.c (mmo File layout documentation): Add note about low bits
  1875. of address.
  1876. (mmo_write_chunk): When handling data remainder, assert that
  1877. previous remaining data is flushed.
  1878. (mmo_write_loc_chunk): Only look for trailing and leading zeros
  1879. when dealing with an aligned VMA and for aligned lengths. Don't skip
  1880. the last 32-bit-word of zeros.
  1881. (mmo_write_loc_chunk): Emit an error if the VMA is not aligned.
  1882. (mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before
  1883. emitting data, not after updating it.
  1884. <case LOP_LOC>: Call mmo_decide_section with aligned vma.
  1885. 2014-04-30 Nick Clifton <nickc@redhat.com>
  1886. * compress.c (bfd_is_section_compressed): When checking the
  1887. .debug_str section, also check the fifth byte in the section is
  1888. not part of a string.
  1889. 2014-04-30 Alan Modra <amodra@gmail.com>
  1890. * elf-eh-frame.c (struct cie.personality): Replace val with sym.
  1891. (find_merged_cie): Identify personality functions by (bfd_id,index)
  1892. pair when a local sym is used.
  1893. 2014-04-29 Christian Svensson <blue@cmd.nu>
  1894. * elf32-or1k.c: Fix a bug where non-TLS relocations would be forced
  1895. into .rela.got if it contained TLS relocations as well.
  1896. 2014-04-28 Nick Clifton <nickc@redhat.com>
  1897. PR ld/16821
  1898. * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile
  1899. time warning.
  1900. 2014-04-26 Alan Modra <amodra@gmail.com>
  1901. * po/SRC-POTFILES.in: Regenerate.
  1902. * configure: Regenerate.
  1903. 2014-04-25 Nick Clifton <nickc@redhat.com>
  1904. PR ld/16821
  1905. * peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on
  1906. a 342-bit host. This time for older versions of gcc.
  1907. 2014-04-24 Nick Clifton <nickc@redhat.com>
  1908. * peXXigen.c (rsrc_print_section): Fix compile time warning for
  1909. 32-bit hosts.
  1910. 2014-04-24 Alan Modra <amodra@gmail.com>
  1911. PR 16867
  1912. * dwarf2.c: Formatting.
  1913. (struct dwarf2_debug): Make adjusted_section_count signed.
  1914. (unset_sections): Make i signed.
  1915. (set_debug_vma): New function.
  1916. (place_sections): Handle separate debug object file. Set VMA
  1917. on debug sections, even if they have an output section. Also
  1918. set VMA on zero size sections, and non-load but alloc sections.
  1919. Set adjusted_section_count to -1 when no section adjustment.
  1920. Malloc adjusted_sections. Don't double last_vma. Transfer
  1921. alloc section VMAs to separate debug file.
  1922. (_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
  1923. (_bfd_dwarf2_slurp_debug_info): Add do_place parameter. Drop
  1924. test on symbols being the same before using old stash. Read
  1925. and use separate debug file symbols. Call place_sections.
  1926. (find_line): Don't call place_sections here.
  1927. * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
  1928. * libbfd.h: Regenerate.
  1929. * mach-o.c (bfd_mach_o_find_nearest_line): Adjust
  1930. _bfd_dwarf2_slurp_debug_info call.
  1931. * simple.c (simple_save_output_info): Clarify comment.
  1932. 2014-04-24 Nick Clifton <nickc@redhat.com>
  1933. PR ld/16807
  1934. * peXXigen.c (struct rsrc_regions): New structure.
  1935. (rsrc_print_resource_directory): Use new structure. Include
  1936. offset of directory in listing.
  1937. (rsrc_print_resource_entry): Likewise.
  1938. (rsrc_print_section): Likewise.
  1939. (rsrc_count_entries): Do not increment sizeof_strings or
  1940. sizeof_leaves.
  1941. (rsrc_count_directory): Do not increment sizeof_tables.
  1942. (rsrc_compute_region_sizes): New function.
  1943. (rsrc_write_leaf): Maintain 8-byte alignment for resource data.
  1944. (rsrc_process_section): Compute size of regions after merging
  1945. entries.
  1946. 2014-04-23 Alan Modra <amodra@gmail.com>
  1947. PR ld/16787
  1948. * dwarf2.c (struct dwarf2_debug): Add sec_vma field.
  1949. (place_sections): Do not modify VMA of sections when called from
  1950. linker after sections have been placed in output sections. Short
  1951. circuit single section case.
  1952. (save_section_vma, section_vma_same): New functions.
  1953. (_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs
  1954. change.
  1955. * reloc.c (bfd_perform_relocation): Do not modify reloc addend
  1956. when non-relocatable.
  1957. 2014-04-22 Nick Clifton <nickc@redhat.com>
  1958. PR ld/16821
  1959. * peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts.
  1960. 2014-04-22 Christian Svensson <blue@cmd.nu>
  1961. * Makefile.am: Remove openrisc and or32 support. Add support for or1k.
  1962. * archures.c: Likewise.
  1963. * coffcode.h: Likewise.
  1964. * config.bfd: Likewise.
  1965. * configure.in: Likewise.
  1966. * reloc.c: Likewise.
  1967. * targets.c: Likewise.
  1968. * cpu-or1k.c: New file.
  1969. * elf32-or1k.c: New file.
  1970. * coff-or32.c: Delete.
  1971. * cpu-openrisc.c: Delete.
  1972. * cpu-or32.c: Delete.
  1973. * elf32-openrisc.c: Delete.
  1974. * elf32-or32.c: Delete.
  1975. * Makefile.in: Regenerate.
  1976. * bfd-in2.h: Regenerate.
  1977. * configure: Regenerate.
  1978. * libbfd.h: Regenerate.
  1979. 2014-04-22 Yuanhui Zhang <asmwarrior@gmail.com>
  1980. PR ld/16821
  1981. * peXXigen.c (abs_finder): Fix for 32-bit host builds.
  1982. 2014-04-22 Will Newton <will.newton@linaro.org>
  1983. * elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove
  1984. function. (elf_backend_section_flags): Remove define.
  1985. 2014-04-21 Richard Henderson <rth@redhat.com>
  1986. * elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge
  1987. parameter; honor it and disable got merging when false.
  1988. (elf64_alpha_relax_got_load): Do not relax to GPREL relocs during
  1989. the first pass of relaxation.
  1990. (elf64_alpha_relax_with_lituse): Likewise. Move relaxed relocs to
  1991. the end of the LITERAL+LITUSE chain.
  1992. (elf64_alpha_relax_section): Only process LITERAL relocs during the
  1993. second pass of relaxation.
  1994. * configure.ac (use_secureplt): Enable by default.
  1995. * configure: Rebuild.
  1996. 2014-04-18 Tristan Gingold <gingold@adacore.com>
  1997. * mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content,
  1998. bind_content, weak_bind_content, lazy_bind_content,
  1999. export_content.
  2000. (bfd_mach_o_load_command): Add comments, add next field.
  2001. (mach_o_data_struct): Replace commands field by first_command
  2002. and last_command.
  2003. * mach-o.c (bfd_mach_o_append_command): New function.
  2004. (bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines.
  2005. (bfd_mach_o_bfd_copy_private_section_data): Check flavour,
  2006. copy fields.
  2007. (bfd_mach_o_bfd_copy_private_header_data): Copy load commands.
  2008. (bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions.
  2009. (bfd_mach_o_write_thread): Use macro instead of literal.
  2010. (bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib)
  2011. (bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New
  2012. functions.
  2013. (bfd_mach_o_write_symtab_content): New function (extracted
  2014. from bfd_mach_o_write_symtab).
  2015. (bfd_mach_o_write_symtab): Split.
  2016. (bfd_mach_o_count_indirect_symbols): Move
  2017. (bfd_mach_o_build_dysymtab): Remove layout code.
  2018. (bfd_mach_o_write_contents): Rewritten to build commands in order.
  2019. (bfd_mach_o_count_sections_for_seg): Remove.
  2020. (bfd_mach_o_build_obj_seg_command): New function (extracted from
  2021. bfd_mach_o_build_seg_command).
  2022. (bfd_mach_o_build_exec_seg_command): New function.
  2023. (bfd_mach_o_build_dysymtab_command): Remove.
  2024. (bfd_mach_o_layout_commands): New function.
  2025. (bfd_mach_o_init_segment): New function.
  2026. (bfd_mach_o_build_commands): Major rework to handle non-object
  2027. files.
  2028. (bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New
  2029. function.
  2030. (bfd_mach_o_read_dyld_info): Clear content fields.
  2031. (bfd_mach_o_read_segment): Adjust call.
  2032. (bfd_mach_o_flatten_sections): Adjust as now load commands are
  2033. chained.
  2034. (bfd_mach_o_scan_start_address, bfd_mach_o_scan)
  2035. (bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address)
  2036. (bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment):
  2037. Likewise.
  2038. 2014-04-18 Tristan Gingold <gingold@adacore.com>
  2039. * mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data):
  2040. Define instead of bfd_mach_o_bfd_copy_private_bfd_data.
  2041. * mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename.
  2042. * mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise.
  2043. 2014-04-18 Tristan Gingold <gingold@adacore.com>
  2044. * mach-o.h (bfd_mach_o_dylinker_command)
  2045. (bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove
  2046. name_len field.
  2047. * mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
  2048. (bfd_mach_o_read_fvmlib): Adjust after name_len removal.
  2049. 2014-04-18 Tristan Gingold <gingold@adacore.com>
  2050. * mach-o.h (bfd_mach_o_backend_data): Add page_size field.
  2051. * mach-o-target.c: Check TARGET_PAGESIZE is defined.
  2052. (TARGET_NAME_BACKEND): Add TARGET_PAGESIZE.
  2053. * mach-o.c (TARGET_PAGESIZE): Define and undefined for
  2054. each targets declared.
  2055. * mach-o-x86-64.c (TARGET_PAGESIZE): Define.
  2056. * mach-o-i386.c (TARGET_PAGESIZE): Define.
  2057. 2014-04-18 Tristan Gingold <gingold@adacore.com>
  2058. * mach-o.c (bfd_mach_o_write_thread)
  2059. (bfd_mach_o_write_section_32, bfd_mach_o_write_section_64)
  2060. (bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64)
  2061. (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
  2062. (bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum)
  2063. (bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib)
  2064. (bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab)
  2065. (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
  2066. (bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
  2067. (bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment)
  2068. (bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64)
  2069. (bfd_mach_o_read_command): Now return a boolean status.
  2070. Adjust return statements.
  2071. (bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests.
  2072. (bfd_mach_o_core_file_failing_command): Remove useless initialization.
  2073. 2014-04-17 Kwok Cheung Yeung <kcy@codesourcery.com>
  2074. * elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
  2075. field. Add assigned_low_gotno and assigned_high_gotno fields.
  2076. (mips_elf_create_local_got_entry): Update out-of-space condition.
  2077. Set index of new GOT entry to assigned_low_gotno if required by
  2078. the current relocation, else set it to assigned_high_gotno.
  2079. (mips_elf_set_global_gotidx): Replace uses of assigned_gotno
  2080. with assigned_low_gotno.
  2081. (mips_elf_multi_got): Initialize assigned_low_gotno and
  2082. assigned_high_gotno in secondary GOTs. Use assigned_low_gotno
  2083. in place of assigned_gotno when handling global GOT entries.
  2084. (mips_elf_lay_out_got): Initialize assigned_low_gotno and
  2085. assigned_high_gotno.
  2086. (_bfd_mips_elf_finish_dynamic_sections): Account for a possible
  2087. gap in the middle of local GOT space.
  2088. 2014-04-17 Alan Modra <amodra@gmail.com>
  2089. PR 16846
  2090. * elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when
  2091. current bfd is a plugin. Don't always set type_change_ok
  2092. when old bfd is a plugin.
  2093. 2014-04-16 Tristan Gingold <gingold@adacore.com>
  2094. * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype
  2095. flag.
  2096. 2014-04-16 Alan Modra <amodra@gmail.com>
  2097. * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area
  2098. with "ba 0" rather than zeros.
  2099. 2014-04-15 Marcus Shawcroft <marcus.shawcroft@arm.com>
  2100. * (elfNN_aarch64_tls_relax): Fix instruction mask.
  2101. 2014-04-14 Alan Modra <amodra@gmail.com>
  2102. * elf32-ppc.c (BA): Define
  2103. (ppc_elf_link_hash_table_create): Correct default_params.
  2104. (write_glink_stub): Pad small plt call stub with "ba 0" rather
  2105. than "nop" for ppc476_workaround.
  2106. (ppc_elf_finish_dynamic_sections): Likewise for branch table
  2107. and __glink_PLTresolve. Ensure plt call stub at end of page
  2108. doesn't allow fall-thru prefetch.
  2109. 2014-04-11 Nick Clifton <nickc@redhat.com>
  2110. PR ld/16821
  2111. * peXXigen.c (abs_finder): New function.
  2112. (_bfd_XXi_swap_sym_out): For absolute symbols with values larger
  2113. than 1^32 try to convert them into section relative values
  2114. instead.
  2115. 2014-04-11 Nick Clifton <nickc@redhat.com>
  2116. * bfd-in2.h: Regenerate.
  2117. * libbfd.h: Regenerate.
  2118. 2014-04-10 Cesar Philippidis <cesar@codesourcery.com>
  2119. * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs
  2120. when building function stubs.
  2121. 2014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
  2122. * elf32-avr.c: Add DIFF relocations for AVR.
  2123. (avr_final_link_relocate): Handle the DIFF relocs.
  2124. (bfd_elf_avr_diff_reloc): New.
  2125. (elf32_avr_is_diff_reloc): New.
  2126. (elf32_avr_adjust_diff_reloc_value): Reduce difference value.
  2127. (elf32_avr_relax_delete_bytes): Recompute difference after deleting
  2128. bytes.
  2129. * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations
  2130. 2014-04-09 Alan Modra <amodra@gmail.com>
  2131. * libcoff.h: Regenerate.
  2132. 2014-04-09 Alan Modra <amodra@gmail.com>
  2133. * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list
  2134. of safe ppc476 insns at end of page. Also remove non-branch insns.
  2135. Expand comments.
  2136. 2014-04-08 Jon Turney <jon.turney@dronecode.org.uk>
  2137. * peXXigen.c (pe_print_debugdata): New function: Displays the
  2138. contents of the debug directory and decodes codeview entries.
  2139. (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
  2140. (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
  2141. Add functions for reading and writing debugdir and codeview
  2142. records.
  2143. * libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
  2144. (_bfd_XXi_write_codeview_record): Add prototypes and macros.
  2145. * libcoff-in.h (pe_tdata): Add build-id data.
  2146. * libcoff.h: Regenerate.
  2147. * coffcode.h (coff_write_object_contents): Run build_id
  2148. after_write_object_contents hook.
  2149. 2014-04-05 Alan Modra <amodra@gmail.com>
  2150. * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when
  2151. merging non-default sym.
  2152. 2014-04-04 Tristan Gingold <gingold@adacore.com>
  2153. * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
  2154. configured for.
  2155. 2014-04-04 Tristan Gingold <gingold@adacore.com>
  2156. * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix
  2157. thinko on names length.
  2158. 2014-04-04 Tristan Gingold <gingold@adacore.com>
  2159. * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
  2160. of output_section.
  2161. * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
  2162. 2014-04-04 Tristan Gingold <gingold@adacore.com>
  2163. * bfd.c (bfd_get_arch_size): Default is taken from arch.
  2164. 2014-04-03 Jon Turney <jon.turney@dronecode.org.uk>
  2165. * peXXigen.c (pe_print_edata): Verify edt.name lies inside
  2166. section before dereferencing.
  2167. (pe_print_idata, pe_print_edata, pe_print_reloc)
  2168. (rsrc_print_section): Don't bother interpreting the contents
  2169. of sections which have no contents.
  2170. 2014-04-03 Maria Guseva <m.guseva@samsung.com>
  2171. PR ld/16803
  2172. * elf.c (_bfd_elf_set_section_contents): Use correct type to hold
  2173. file position.
  2174. 2014-04-03 Tristan Gingold <gingold@adacore.com>
  2175. * mach-o.c (bfd_mach_o_mangle_symbols): Use index from
  2176. output_section.
  2177. (bfd_mach_o_build_seg_command): Add comment. Realign segment.
  2178. Fix style.
  2179. (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
  2180. 2014-04-03 Alan Modra <amodra@gmail.com>
  2181. * elf-bfd.h (struct elf_backend_data
  2182. <elf_backend_bfd_from_remote_memory>): Replace "size_t size"
  2183. with "bfd_size_type size".
  2184. (_bfd_elf32_bfd_from_remote_memory): Likewise.
  2185. (_bfd_elf64_bfd_from_remote_memory): Likewise.
  2186. * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
  2187. * elfcode.h (bfd_from_remote_memory): Likewise.
  2188. * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
  2189. * bfd-in2.h: Regenerate.
  2190. 2014-04-02 Tristan Gingold <gingold@adacore.com>
  2191. * mach-o.h (bfd_mach_o_twolevel_hints_command)
  2192. (bfd_mach_o_prebind_cksum_command): New types.
  2193. (bfd_mach_o_prebound_dylib_command): Rewrite.
  2194. (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
  2195. fields.
  2196. * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
  2197. command.
  2198. (bfd_mach_o_read_prebind_cksum): New function.
  2199. (bfd_mach_o_read_twolevel_hints): Ditto.
  2200. (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
  2201. commands.
  2202. 2014-04-02 Alan Modra <amodra@gmail.com>
  2203. * elfcode.h (bfd_from_remote_memory): Add "size" parameter.
  2204. Consolidate code handling possible section headers past end of
  2205. segment. Don't use p_align for page size guess, instead use
  2206. minpagesize. Take note of ld.so clearing section headers when
  2207. p_memsz > p_filesz. Handle file header specifying no section
  2208. headers. Handle zero p_align throughout. Default loadbase to
  2209. zero. Add comments. Rename contents_size to high_offset, and
  2210. make it a bfd_vma. Delete unnecessary bfd_set_error calls.
  2211. * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
  2212. * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
  2213. Likewise.
  2214. (_bfd_elf32_bfd_from_remote_memory): Likewise.
  2215. (_bfd_elf64_bfd_from_remote_memory): Likewise.
  2216. * elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
  2217. * bfd-in2.h: Regnerate.
  2218. 2014-04-01 Tristan Gingold <gingold@adacore.com>
  2219. * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
  2220. when num == 0.
  2221. 2014-03-27 Yury Gribov <y.gribov@samsung.com>
  2222. Pavel Fedin <p.fedin@samsung.com>
  2223. * elf32-arm.c: Add support for limited pretty-printing of PLT
  2224. entries on eabi and nacl targets.
  2225. (elf32_arm_get_synthetic_symtab): Add new callback.
  2226. (elf32_arm_nacl_plt_sym_val): Likewise.
  2227. (elf32_arm_plt0_size): Add helper function.
  2228. (elf32_arm_plt_size): Likewise.
  2229. 2014-03-27 Tristan Gingold <gingold@adacore.com>
  2230. * mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
  2231. (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
  2232. 2014-03-27 Tristan Gingold <gingold@adacore.com>
  2233. * mach-o.h (bfd_mach_o_get_base_address): New prototype.
  2234. * mach-o.c (bfd_mach_o_write_symtab)
  2235. (bfd_mach_o_write_contents)
  2236. (bfd_mach_o_set_section_flags_from_bfd)
  2237. (bfd_mach_o_build_seg_command): Fix indentation.
  2238. (bfd_mach_o_get_base_address): New function.
  2239. 2014-03-26 Nick Clifton <nickc@redhat.com>
  2240. * cofflink.c (_bfd_coff_generic_relocate_section): Skip
  2241. relocations in discarded sections.
  2242. 2014-03-26 Tristan Gingold <gingold@adacore.com>
  2243. * mach-o.c (bfd_mach_o_convert_architecture): Add
  2244. BFD_MACH_O_CPU_TYPE_ARM64.
  2245. 2014-03-26 Alan Modra <amodra@gmail.com>
  2246. * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
  2247. needed plt entries when taking the address of functions for
  2248. abiversion == 0 (ie. unknown) as well as abiversion == 2.
  2249. Move opd setup and abiversion checks to..
  2250. (ppc64_elf_before_check_relocs): ..here. Renamed from
  2251. ppc64_elf_process_dot_syms. Set output abiversion from input and
  2252. input abiversion from output, if either is not set.
  2253. (ppc64_elf_merge_private_bfd_data): Don't merge flags here.
  2254. (elf_backend_check_directives): Update.
  2255. 2014-03-25 Will Newton <will.newton@linaro.org>
  2256. * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
  2257. Set value of DT_PLTRELSZ and DT_RELASZ based on the size
  2258. of input sections rather than output sections.
  2259. 2014-03-20 Will Newton <will.newton@linaro.org>
  2260. PR ld/16715
  2261. * elf32-arm.c (elf32_arm_check_relocs): Set
  2262. pointer_equality_needed for absolute references within
  2263. executable links.
  2264. (elf32_arm_finish_dynamic_symbol): Set st_value to zero
  2265. unless pointer_equality_needed is set.
  2266. 2014-03-19 Nick Clifton <nickc@redhat.com>
  2267. * peXXigen.c (rsrc_process_section): Add code to scan input
  2268. sections and record their lengths. Use these lengths to find the
  2269. start of each merged .rsrc section.
  2270. 2014-03-17 Tristan Gingold <gingold@adacore.com>
  2271. * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib.
  2272. (bfd_mach_o_read_command): Ditto.
  2273. 2014-03-14 Meador Inge <meadori@codesourcery.com>
  2274. * configure.in: Add strnlen to AC_CHECK_DECLS.
  2275. * config.in: Regenerate.
  2276. * configure: Regenerate.
  2277. * sysdep.h (strnlen): Add prototype.
  2278. 2014-03-14 Alan Modra <amodra@gmail.com>
  2279. * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
  2280. handling for VLE_SDA21 relocs.
  2281. 2014-03-13 Tristan Gingold <gingold@adacore.com>
  2282. * peicode.h (pe_ILF_object_p): Adjust, as the version number
  2283. has been read.
  2284. (pe_bfd_object_p): Also read version number to detect ILF.
  2285. * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define.
  2286. (x86_64pe_bigobj_vec): Define
  2287. * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field.
  2288. (bfd_coff_max_nscns): New macro.
  2289. (coff_compute_section_file_positions): Use unsigned int for
  2290. target_index. Compare with bfd_coff_max_nscns.
  2291. (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table):
  2292. Set a value for _bfd_coff_max_nscns.
  2293. (header_bigobj_classid): New constant.
  2294. (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out)
  2295. (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out)
  2296. (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New
  2297. functions.
  2298. (bigobj_swap_table): New table.
  2299. * libcoff.h: Regenerate.
  2300. * coff-sh.c (bfd_coff_small_swap_table): Likewise.
  2301. * coff-alpha.c (alpha_ecoff_backend_data): Add value for
  2302. _bfd_coff_max_nscns.
  2303. * coff-mips.c (mips_ecoff_backend_data): Likewise.
  2304. * coff-rs6000.c (bfd_xcoff_backend_data)
  2305. (bfd_pmac_xcoff_backend_data): Likewise.
  2306. * coff64-rs6000.c (bfd_xcoff_backend_data)
  2307. (bfd_xcoff_aix5_backend_data): Likewise.
  2308. * targets.c (x86_64pe_bigobj_vec): Declare.
  2309. * configure.in (x86_64pe_bigobj_vec): New vector.
  2310. * configure: Regenerate.
  2311. * config.bfd: Add bigobj object format for Windows targets.
  2312. 2014-03-12 Nick Clifton <nickc@redhat.com>
  2313. PR ld/16671
  2314. * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format
  2315. before testing for vxworks.
  2316. 2014-03-12 Alan Modra <amodra@gmail.com>
  2317. * Makefile.in: Regenerate.
  2318. 2014-03-12 Alan Modra <amodra@gmail.com>
  2319. PR 16690
  2320. * elf.c (copy_elf_program_header): Ignore first section lma if
  2321. non-alloc.
  2322. 2014-03-11 Alan Modra <amodra@gmail.com>
  2323. PR 16686
  2324. * coff-rs6000.c: Include stdint.h.
  2325. * coff64-rs6000.c: Likewise.
  2326. 2014-03-10 Tristan Gingold <gingold@adacore.com>
  2327. * ticoff.h: Removed.
  2328. 2014-03-08 Alan Modra <amodra@gmail.com>
  2329. * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for
  2330. many relocations. Correct bitsize and rightshift too for a number
  2331. of VLE relocs. Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO.
  2332. Correct dst_mask on R_PPC_VLE_SDA21_LO.
  2333. (ppc_elf_vle_split16): Tidy, delete unnecessary prototype.
  2334. (ppc_elf_relocate_section): Modify overflow test for 16-bit
  2335. fields in instructions to signed/unsigned according to whether
  2336. the field takes a signed or unsigned value. Tidy vle split16 code.
  2337. Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling.
  2338. 2014-03-08 Alan Modra <amodra@gmail.com>
  2339. * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed
  2340. for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN,
  2341. R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS,
  2342. R_PPC64_REL16 entries. Use complain_overflow_dont for R_PPC64_TOC.
  2343. (ppc64_elf_relocate_section): Modify overflow test for 16-bit
  2344. fields in instructions to signed/unsigned according to whether
  2345. the field takes a signed or unsigned value.
  2346. 2014-03-07 Pedro Alves <palves@redhat.com>
  2347. PR gdb/16696
  2348. * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
  2349. through ptr_to_uint instead of through long.
  2350. 2014-03-06 Nick Clifton <nickc@redhat.com>
  2351. PR 16664
  2352. * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt
  2353. attribute section names.
  2354. 2014-03-05 Alan Modra <amodra@gmail.com>
  2355. Update copyright years.
  2356. 2014-03-05 Alan Modra <amodra@gmail.com>
  2357. * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
  2358. (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
  2359. (ppc64_elf_check_relocs): Likewise.
  2360. (ppc64_elf_relocate_section): Likewise.
  2361. * Add BFD_RELOC_PPC64_ADDR64_LOCAL.
  2362. * bfd-in2.h: Regenerate.
  2363. * libbfd.h: Regenerate.
  2364. 2014-03-04 Heiher <r@hev.cc>
  2365. * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for
  2366. Loongson-3A.
  2367. (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an
  2368. extension of bfd_mach_mipsisa64r2.
  2369. 2014-03-04 Nick Clifton <nickc@redhat.com>
  2370. PR ld/16017
  2371. * elf32-arm.c (elf32_thumb2_plt0_entry): New array.
  2372. (elf32_thumb2_plt_entry): New array.
  2373. (elf32_arm_create_dynamic_sections): Set PLT entry sizes when
  2374. using thumb2 based PLT.
  2375. (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT
  2376. entries.
  2377. (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based
  2378. PLT entries.
  2379. (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2
  2380. based PLT 0-entry.
  2381. (elf32_arm_output_plt_map_1): Handle creation of local symbols for
  2382. Thumb2 based PLT 0-entry.
  2383. (elf32_arm_output_arch_local_syms): Handle creation of local
  2384. symbols for Thumb2 based PLT entries.
  2385. 2014-02-28 Alan Modra <amodra@gmail.com>
  2386. PR ld/16643
  2387. * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly
  2388. the same conditions we called check_relocs.
  2389. 2014-02-27 Yuri Gribov <y.gribov@samsung.com>
  2390. * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt.
  2391. * bfd-in2.h: Regenerate.
  2392. * elf32-arm.c (elf32_arm_plt_entry_long): New array.
  2393. (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if
  2394. using long PLT entries.
  2395. (bfd_elf32_arm_use_long_plt): New function.
  2396. (elf32_arm_populate_plt_entry): Add support for long PLT entries.
  2397. 2014-02-27 Alan Modra <amodra@gmail.com>
  2398. * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default
  2399. params for targets that don't use ppc32elf.em.
  2400. 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
  2401. * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
  2402. of GOTOFF relocations.
  2403. 2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com>
  2404. H.J. Lu <hongjiu.lu@intel.com>
  2405. * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
  2406. (elf_x86_64_legacy_plt_entry): Likewise.
  2407. (elf_x86_64_bnd_plt_entry): Likewise.
  2408. (elf_x86_64_legacy_plt2_entry): Likewise.
  2409. (elf_x86_64_bnd_plt2_entry): Likewise.
  2410. (elf_x86_64_bnd_arch_bed): Likewise.
  2411. (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
  2412. (elf_x86_64_link_hash_table): Add plt_bnd.
  2413. (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
  2414. plt_bnd.
  2415. (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
  2416. (elf_x86_64_check_relocs): Create the second PLT for Intel MPX
  2417. in 64-bit mode.
  2418. (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
  2419. symbols. Resolve call to the second PLT if it is created.
  2420. (elf_x86_64_size_dynamic_sections): Keep the second PLT section.
  2421. (elf_x86_64_relocate_section): Resolve PLT references to the
  2422. second PLT if it is created.
  2423. (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
  2424. second PLT entry for BND relocation.
  2425. (elf_x86_64_finish_dynamic_sections): Use MPX backend data if
  2426. the second PLT is created.
  2427. (elf_x86_64_get_synthetic_symtab): New.
  2428. (bfd_elf64_get_synthetic_symtab): Likewise. Undefine for NaCl.
  2429. 2014-02-19 Alan Modra <amodra@gmail.com>
  2430. * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
  2431. * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
  2432. provision of out-of-line register save/restore routines.
  2433. 2014-02-18 Jack Carter <jack.carter@imgtec.com>
  2434. * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
  2435. PT_DYNAMIC segment flags.
  2436. 2014-02-17 Jan Kratochvil <jan.kratochvil@redhat.com>
  2437. PR binutils/16595
  2438. * simple.c (struct saved_offsets): New.
  2439. (simple_save_output_info): Use it for ptr.
  2440. (simple_restore_output_info): Use it for ptr. Check section_count.
  2441. (bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
  2442. 2014-02-17 Alan Modra <amodra@gmail.com>
  2443. * elf64-ppc.h (struct ppc64_elf_params): Define.
  2444. (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
  2445. ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
  2446. ppc64_elf_build_stubs): Update prototype.
  2447. * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
  2448. fields now in params. Adjust code throughout file.
  2449. (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
  2450. Save params pointer in htab.
  2451. (ppc64_elf_edit_opd, ppc64_elf_tls_setup,
  2452. ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
  2453. ppc64_elf_build_stubs): Remove parameters now in "params".
  2454. 2014-02-17 Alan Modra <amodra@gmail.com>
  2455. * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
  2456. patched for ppc476 workaround. Reapply branch taken/not taken
  2457. relocs.
  2458. 2014-02-12 Alan Modra <amodra@gmail.com>
  2459. * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
  2460. stubs for calls to __tls_get_addr that we know will later be
  2461. optimised away.
  2462. 2014-02-12 Alan Modra <amodra@gmail.com>
  2463. * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
  2464. for ld -r, when code sections are sufficiently aligned.
  2465. * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add
  2466. pagesize_p2.
  2467. 2014-02-12 Alan Modra <amodra@gmail.com>
  2468. PR gold/15530
  2469. * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
  2470. --export-dynamic and --dynamic-list marking of symbols.
  2471. * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
  2472. cheap tests first.
  2473. 2014-02-10 H.J. Lu <hongjiu.lu@intel.com>
  2474. PR gold/16530
  2475. * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
  2476. executables if it matches dynamic_list.
  2477. 2014-02-10 Alan Modra <amodra@gmail.com>
  2478. * po/SRC-POTFILES.in: Regenerate.
  2479. * po/bfd.pot: Regenerate.
  2480. 2014-02-09 Alan Modra <amodra@gmail.com>
  2481. * elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
  2482. * elfxx-target.h (elf_backend_caches_rawsize): Define.
  2483. (elfNN_bed): Init new field.
  2484. * elflink.c (elf_link_input_bfd): Handle caches_rawsize.
  2485. * elf32-ppc.c (shared_stub_entry): Zero addi offset.
  2486. (ppc_elf_relax_section): Don't reallocate section here, write
  2487. stubs, or write out relocs for ld -r here..
  2488. (ppc_elf_relocate_section): ..instead write stubs here, and use
  2489. existing code to write out relocs for ld -r. Fix offset
  2490. adjustment on reloc for little-endian.
  2491. (elf_backend_caches_rawsize): Define.
  2492. 2014-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
  2493. PR build/16550
  2494. * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
  2495. 2014-02-04 Jan Kratochvil <jan.kratochvil@redhat.com>
  2496. * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
  2497. return paths. Three times.
  2498. * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
  2499. return paths.
  2500. (ppc64_elf_tls_optimize): Free TOC_REF in return path.
  2501. (ppc64_elf_edit_toc): Free USED in return path.
  2502. 2014-02-03 Sandra Loosemore <sandra@codesourcery.com>
  2503. * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
  2504. (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
  2505. * libbfd.h: Regenerated.
  2506. * bfd-in2.h: Regenerated.
  2507. * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
  2508. (nios2_reloc_map): Likewise.
  2509. (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
  2510. Fixed all references.
  2511. (nios2_elf32_relocate_section): Add new relocations.
  2512. (nios2_elf32_check_relocs): Likewise.
  2513. (nios2_elf32_gc_sweep_hook): Likewise.
  2514. 2014-02-03 Alan Modra <amodra@gmail.com>
  2515. * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
  2516. Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses.
  2517. (ppc_elf_link_params): New function.
  2518. (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
  2519. workaround.
  2520. (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
  2521. parameters. Use htab->params instead.
  2522. (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
  2523. (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
  2524. 64 bytes for ppc476 workaround.
  2525. (struct ppc_elf_relax_info): New.
  2526. (ppc_elf_relax_section): Exclude linker created sections and
  2527. those too small to hold one instruction. Don't add another
  2528. branch around trampolines on later relax passes. Don't
  2529. generate trampolines for undefined symbols when !relocatable,
  2530. nor for plugin symbols. Allocate space for ppc476 workaround
  2531. patch area. Free fixups on error return path.
  2532. (ppc_elf_relocate_section): Handle ppc476 workaround patching.
  2533. * elf32-ppc.h (struct ppc_elf_params): New.
  2534. (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
  2535. (ppc_elf_link_params): Declare.
  2536. * section.c (SEC_INFO_TYPE_TARGET): Define.
  2537. * bfd-in2.h: Regenerate.
  2538. 2014-02-02 Sandra Loosemore <sandra@codesourcery.com>
  2539. * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
  2540. h_gp_got field.
  2541. (nios2_elf32_relocate_section): Use got_base to adjust
  2542. GOT-pointer-relative relocations relative to _gp_got.
  2543. (create_got_section): Create _gp_got symbol.
  2544. (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
  2545. (nios2_elf32_size_dynamic_sections): Set _gp_got offset.
  2546. 2014-01-30 Sandra Loosemore <sandra@codesourcery.com>
  2547. * bfd-in2.h: Update from reloc.c.
  2548. * elf32-nios2.c: Include elf32-nios2.h.
  2549. (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
  2550. (nios2_reloc_map): Likewise.
  2551. (enum elf32_nios2_stub_type): Declare.
  2552. (struct elf32_nios2_stub_hash_entry): Declare.
  2553. (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
  2554. (struct elf32_nios2_link_hash_entry): Add hsh_cache field.
  2555. (struct elf32_nios2_link_hash_table): Add new fields bstab,
  2556. stub_bfd, add_stub_section, layout_sections_again, stub_group,
  2557. bfd_count, top_index, input_list, all_local_syms.
  2558. (nios2_call26_stub_entry): New.
  2559. (nios2_elf32_install_imm16): Move up in file.
  2560. (nios2_elf32_install_data): Move up in file.
  2561. (hiadj): Move up in file.
  2562. (stub_hash_newfunc): New.
  2563. (link_hash_newfunc): Initialize hsh_cache field.
  2564. (STUB_SUFFIX): New.
  2565. (nios2_stub_name): New.
  2566. (nios2_get_stub_entry): New.
  2567. (nios2_add_stub): New.
  2568. (nios2_elf32_setup_section_lists): New.
  2569. (nios2_elf32_next_input_section): New.
  2570. (CALL26_SEGMENT): New.
  2571. (MAX_STUB_SECTION_SIZE): New.
  2572. (group_sections): New.
  2573. (nios2_type_of_stub): New.
  2574. (nios2_build_one_stub): New.
  2575. (nios2_size_one_stub): New.
  2576. (get_local_syms): New.
  2577. (nios2_elf32_size_stubs): New.
  2578. (nios2_elf32_build_stubs): New.
  2579. (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
  2580. (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add
  2581. trampolines for R_NIOS2_CALL26 stubs.
  2582. (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
  2583. (nios2_elf32_gc_sweep_hook): Likewise.
  2584. (nios2_elf32_link_hash_table_create): Initialize the stub hash table.
  2585. (nios2_elf32_link_hash_table_free): New.
  2586. (bfd_elf32_bfd_link_hash_table_free): Define.
  2587. * elf32-nios2.h: New file.
  2588. * libbfd.h: Update from reloc.c.
  2589. * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
  2590. 2014-01-29 Nick Clifton <nickc@redhat.com>
  2591. PR binutils/16318
  2592. * elf32-metag.c (elf_metag_post_process_headers): Call
  2593. _bfd_elf_post_process_headers.
  2594. * elf32-sh64.c (sh64_elf_copy_private_data): Call
  2595. _bfd_elf_copy_private_data.
  2596. * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
  2597. 2014-01-29 Nick Clifton <nickc@redhat.com>
  2598. * bfd-in.h (bfd_set_section_vma): Delete.
  2599. (bfd_set_section_alignment): Delete.
  2600. (bfd_set_section_userdata): Delete.
  2601. (bfd_set_cacheable): Delete.
  2602. * bfd.c (bfd_set_cacheable): New static inline function.
  2603. * section.c (bfd_set_section_userdata): Likewise.
  2604. (bfd_set_section_vma): Likewise.
  2605. (bfd_set_section_alignment): Likewise.
  2606. * bfd-in2.h: Regenerate.
  2607. 2014-01-28 Nick Clifton <nickc@redhat.com>
  2608. * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
  2609. attributes select the CU containing the abbreviation, which may not
  2610. be the current CU.
  2611. 2014-01-24 Alan Modra <amodra@gmail.com>
  2612. * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
  2613. to get_relocs for ELFv2.
  2614. 2014-01-23 H.J. Lu <hongjiu.lu@intel.com>
  2615. PR ld/16498
  2616. * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
  2617. if TLS sections are not adjacent.
  2618. 2014-01-22 Alan Modra <amodra@gmail.com>
  2619. * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
  2620. 2014-01-22 Alan Modra <amodra@gmail.com>
  2621. * elf64-ppc.c (STK_LINKER): Comment typo fix.
  2622. 2014-01-21 H.J. Lu <hongjiu.lu@intel.com>
  2623. PR ld/16467
  2624. * elflink.c (_bfd_elf_merge_symbol): When types of the existing
  2625. regular default symbol definition and the versioned dynamic
  2626. symbol definition mismatch, skip the default symbol definition
  2627. if one of them is IFUNC.
  2628. 2014-01-21 H.J. Lu <hongjiu.lu@intel.com>
  2629. PR ld/2404
  2630. * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
  2631. info->export_dynamic nor h->ref_dynamic for type mismatch when
  2632. adding the default version.
  2633. 2014-01-16 Alan Modra <amodra@gmail.com>
  2634. * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
  2635. mips_elf_traverse_got_arg* rather than mips_got_info*.
  2636. Adjust caller. Alloc on output_bfd rather than symbol section
  2637. owner.
  2638. 2014-01-15 H.J. Lu <hongjiu.lu@intel.com>
  2639. * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
  2640. change.
  2641. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
  2642. 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
  2643. PR ld/16428
  2644. * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
  2645. against __ehdr_start.
  2646. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
  2647. 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
  2648. * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
  2649. change.
  2650. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
  2651. 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
  2652. PR ld/16428
  2653. * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
  2654. count if there are any non pc-relative relocs.
  2655. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
  2656. 2014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org>
  2657. Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org>
  2658. * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
  2659. offset while calculating relocation address.
  2660. (elfNN_aarch64_create_small_pltn_entry): Likewise.
  2661. (elfNN_aarch64_init_small_plt0_entry): Likewise.
  2662. 2014-01-13 Ma Jiang <ma.jiang@zte.com.cn>
  2663. PR ld/16202
  2664. * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
  2665. R_ARM_ABS8 and R_ARM_ABS16.
  2666. 2014-01-13 Alan Modra <amodra@gmail.com>
  2667. * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
  2668. error when shared and force a plt call otherwise.
  2669. (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
  2670. plt_type == PLT_NEW.
  2671. (ppc_elf_relocate_section): Add missing test to resolve ifuncs to
  2672. the appropriate call stub.
  2673. 2014-01-10 Alan Modra <amodra@gmail.com>
  2674. PR ld/14207
  2675. PR ld/16322
  2676. PR binutils/16323
  2677. * elf.c (assign_file_positions_for_load_sections): Revert last change.
  2678. (assign_file_positions_for_non_load_sections): When setting up
  2679. PT_GNU_RELRO header, don't require a corresponding PT_LOAD
  2680. header that completely covers the relro region.
  2681. 2014-01-09 Tristan Gingold <gingold@adacore.com>
  2682. * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
  2683. table macros and add macros to initializa the structure.
  2684. 2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
  2685. PR ld/14207
  2686. PR ld/16322
  2687. PR binutils/16323
  2688. * elf.c (_bfd_elf_map_sections_to_segments): Don't check section
  2689. size for PT_GNU_RELRO segment.
  2690. (assign_file_positions_for_load_sections): If PT_LOAD segment
  2691. doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
  2692. 2014-01-07 Tom Tromey <tromey@redhat.com>
  2693. * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
  2694. wrappers.
  2695. 2014-01-03 Nick Clifton <nickc@redhat.com>
  2696. PR binutils/16199
  2697. * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
  2698. zero.
  2699. 2014-01-02 Yuanhui Zhang <asmwarrior@gmail.com>
  2700. PR binutils/14289
  2701. * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
  2702. 2014-01-02 Nick Clifton <nickc@redhat.com>
  2703. PR binutils/11983
  2704. * archive.c (_bfd_get_elt_at_filepos): Store a copy of the
  2705. filename in the bfd's filename field.
  2706. * elfcode.h (bfd_from_remote_memory): Likewise.
  2707. * ieee.c (ieee_object_p): Likewise.
  2708. * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
  2709. * oasys.c (oasys_openr_next_archived_file): Likewise.
  2710. * vms-lib.c (_bfd_vms_lib_get_module): Likewise.
  2711. * opncls.c (bfd_fopen): Likewise.
  2712. (bfd_openstreamr): Likewise.
  2713. (bfd_openr_iovec): Likewise.
  2714. (bfd_openw): Likewise.
  2715. (bfd_create): Likewise.
  2716. (_bfd_delete_bfd): Free filename.
  2717. For older changes see ChangeLog-2013
  2718. Copyright (C) 2014 Free Software Foundation, Inc.
  2719. Copying and distribution of this file, with or without modification,
  2720. are permitted in any medium without royalty provided the copyright
  2721. notice and this notice are preserved.
  2722. Local Variables:
  2723. mode: change-log
  2724. left-margin: 8
  2725. fill-column: 74
  2726. version-control: never
  2727. End: