ChangeLog-2016 156 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293
  1. 2016-12-31 Alan Modra <amodra@gmail.com>
  2. * elfn32-mips.c (elf_backend_want_dynrelro): Define.
  3. 2016-12-31 Dimitar Dimitrov <dimitar@dinux.eu>
  4. * archures.c: Add bfd_arch_pru.
  5. * Makefile.am: Add PRU target.
  6. * config.bfd: Ditto.
  7. * configure.ac: Ditto.
  8. * elf-bfd.h (enum elf_target_id): Add PRU_ELF_DATA.
  9. * targets.c: Add pru_elf32_vec.
  10. * reloc.c: Add PRU relocations.
  11. * cpu-pru.c: New file.
  12. * elf32-pru.c: New file.
  13. * Makefile.in: Regenerate.
  14. * configure: Regenerate.
  15. * po/SRC-POTFILES.in: Regenerate.
  16. * bfd-in2.h: Regenerate
  17. * libbfd.h: Regenerate.
  18. 2016-12-29 Alan Modra <amodra@gmail.com>
  19. * elflink.c (_bfd_elf_link_hash_copy_indirect): Only omit
  20. copying one flag, ref_dynamic, when versioned_hidden.
  21. * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
  22. * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Use same
  23. logic for copying weakdef flags. Copy plabel flag and merge
  24. tls_type.
  25. * elf32-i386.c (elf_i386_copy_indirect_symbol): Use same logic
  26. for copying weakdef flags.
  27. * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
  28. * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
  29. * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
  30. * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
  31. * elfnn-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
  32. * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Likewise.
  33. Simplify.
  34. 2016-12-28 Alan Modra <amodra@gmail.com>
  35. PR ld/20995
  36. * elflink.c (elf_link_add_object_symbols): Mark relro sections
  37. in dynamic objects SEC_READONLY.
  38. 2016-12-26 Alan Modra <amodra@gmail.com>
  39. PR ld/20995
  40. * elf-bfd.h (struct elf_link_hash_table): Add sdynrelro and
  41. sreldynrelro.
  42. (struct elf_backend_data): Add want_dynrelro.
  43. * elfxx-target.h (elf_backend_want_dynrelro): Define.
  44. (elfNN_bed): Update initializer.
  45. * elflink.c (_bfd_elf_create_dynamic_sections): Create
  46. sdynrelro and sreldynrelro sections.
  47. * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Place variables
  48. copied into the executable from read-only sections into sdynrelro.
  49. (elf32_arm_size_dynamic_sections): Handle sdynrelro.
  50. (elf32_arm_finish_dynamic_symbol): Select sreldynrelro for
  51. dynamic relocs in sdynrelro.
  52. (elf_backend_want_dynrelro): Define.
  53. * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol)
  54. (elf32_hppa_size_dynamic_sections, elf32_hppa_finish_dynamic_symbol)
  55. (elf_backend_want_dynrelro): As above.
  56. * elf32-i386.c (elf_i386_adjust_dynamic_symbol)
  57. (elf_i386_size_dynamic_sections, elf_i386_finish_dynamic_symbol)
  58. (elf_backend_want_dynrelro): As above.
  59. * elf32-metag.c (elf_metag_adjust_dynamic_symbol)
  60. (elf_metag_size_dynamic_sections, elf_metag_finish_dynamic_symbol)
  61. (elf_backend_want_dynrelro): As above.
  62. * elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol)
  63. (microblaze_elf_size_dynamic_sections)
  64. (microblaze_elf_finish_dynamic_symbol)
  65. (elf_backend_want_dynrelro): As above.
  66. * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol)
  67. (nios2_elf32_adjust_dynamic_symbol)
  68. (nios2_elf32_size_dynamic_sections)
  69. (elf_backend_want_dynrelro): As above.
  70. * elf32-or1k.c (or1k_elf_finish_dynamic_symbol)
  71. (or1k_elf_adjust_dynamic_symbol, or1k_elf_size_dynamic_sections)
  72. (elf_backend_want_dynrelro): As above.
  73. * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol)
  74. (ppc_elf_size_dynamic_sections, ppc_elf_finish_dynamic_symbol)
  75. (elf_backend_want_dynrelro): As above.
  76. * elf32-s390.c (elf_s390_adjust_dynamic_symbol)
  77. (elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
  78. (elf_backend_want_dynrelro): As above.
  79. * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol)
  80. (elf32_tic6x_size_dynamic_sections)
  81. (elf32_tic6x_finish_dynamic_symbol)
  82. (elf_backend_want_dynrelro): As above.
  83. * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol)
  84. (tilepro_elf_size_dynamic_sections)
  85. (tilepro_elf_finish_dynamic_symbol)
  86. (elf_backend_want_dynrelro): As above.
  87. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol)
  88. (ppc64_elf_size_dynamic_sections, ppc64_elf_finish_dynamic_symbol)
  89. (elf_backend_want_dynrelro): As above.
  90. * elf64-s390.c (elf_s390_adjust_dynamic_symbol)
  91. (elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
  92. (elf_backend_want_dynrelro): As above.
  93. * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol)
  94. (elf_x86_64_size_dynamic_sections)
  95. (elf_x86_64_finish_dynamic_symbol)
  96. (elf_backend_want_dynrelro): As above.
  97. * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol)
  98. (elfNN_aarch64_size_dynamic_sections)
  99. (elfNN_aarch64_finish_dynamic_symbol)
  100. (elf_backend_want_dynrelro): As above.
  101. * elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol)
  102. (riscv_elf_size_dynamic_sections, riscv_elf_finish_dynamic_symbol)
  103. (elf_backend_want_dynrelro): As above.
  104. * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol)
  105. (_bfd_mips_elf_size_dynamic_sections)
  106. (_bfd_mips_vxworks_finish_dynamic_symbol): As above.
  107. * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol)
  108. (_bfd_sparc_elf_size_dynamic_sections)
  109. (_bfd_sparc_elf_finish_dynamic_symbol): As above.
  110. * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol)
  111. (tilegx_elf_size_dynamic_sections)
  112. (tilegx_elf_finish_dynamic_symbol): As above.
  113. * elf32-mips.c (elf_backend_want_dynrelro): Define.
  114. * elf64-mips.c (elf_backend_want_dynrelro): Define.
  115. * elf32-sparc.c (elf_backend_want_dynrelro): Define.
  116. * elf64-sparc.c (elf_backend_want_dynrelro): Define.
  117. * elf32-tilegx.c (elf_backend_want_dynrelro): Define.
  118. * elf64-tilegx.c (elf_backend_want_dynrelro): Define.
  119. * elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol): Tidy.
  120. (microblaze_elf_size_dynamic_sections): Handle sdynbss.
  121. * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Make use
  122. of linker shortcuts to dynamic sections rather than comparing
  123. names. Correctly set "got" flag.
  124. 2016-12-26 Alan Modra <amodra@gmail.com>
  125. * elf-bfd.h (struct elf_link_hash_table): Add sdynbss and srelbss.
  126. * elflink.c (_bfd_elf_create_dynamic_sections): Set them. Create
  127. .rel.bss/.rela.bss for executables, both PIE and non-PIE.
  128. * elf32-arc.c (struct elf_arc_link_hash_table): Delete srelbss.
  129. Use ELF hash table var throughout.
  130. * elf32-arm.c (struct elf32_arm_link_hash_table): Delete sdynbss
  131. and srelbss. Use ELF hash table vars throughout.
  132. * elf32-hppa.c (struct elf32_hppa_link_hash_table): Likewise.
  133. * elf32-i386.c (struct elf_i386_link_hash_table): Likewise.
  134. * elf32-metag.c (struct elf_metag_link_hash_table): Likewise.
  135. * elf32-microblaze.c (struct elf32_mb_link_hash_table): Likewise.
  136. * elf32-nios2.c (struct elf32_nios2_link_hash_table): Likewise.
  137. * elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
  138. * elf32-ppc.c (struct ppc_elf_link_hash_table): Likewise.
  139. * elf32-s390.c (struct elf_s390_link_hash_table): Likewise.
  140. * elf32-tic6x.c (struct elf32_tic6x_link_hash_table): Likewise.
  141. * elf32-tilepro.c (struct tilepro_elf_link_hash_table): Likewise.
  142. * elf64-ppc.c (struct ppc_link_hash_table): Likewise.
  143. * elf64-s390.c (struct elf_s390_link_hash_table): Likewise.
  144. * elf64-x86-64.c (struct elf_x86_64_link_hash_table): Likewise.
  145. * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Likewise.
  146. * elfnn-riscv.c (struct riscv_elf_link_hash_table): Likewise.
  147. * elfxx-mips.c (struct mips_elf_link_hash_table): Likewise.
  148. * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Likewise.
  149. * elfxx-sparc.c: Likewise.
  150. * elfxx-tilegx.c (struct tilegx_elf_link_hash_table): Likewise.
  151. * elf32-arc.c (arc_elf_create_dynamic_sections): Delete.
  152. (elf_backend_create_dynamic_sections): Use base ELF version.
  153. * elf32-microblaze.c (microblaze_elf_create_dynamic_sections): Delete.
  154. (elf_backend_create_dynamic_sections): Use base ELF version.
  155. * elf32-or1k.c (or1k_elf_create_dynamic_sections): Delete.
  156. (elf_backend_create_dynamic_sections): Use base ELF version.
  157. * elf32-s390.c (elf_s390_create_dynamic_sections): Delete.
  158. (elf_backend_create_dynamic_sections): Use base ELF version.
  159. * elf64-ppc.c (ppc64_elf_create_dynamic_sections): Delete.
  160. (elf_backend_create_dynamic_sections): Use base ELF version.
  161. * elf64-s390.c (elf_s390_create_dynamic_sections): Delete.
  162. (elf_backend_create_dynamic_sections): Use base ELF version.
  163. * elf32-tilepro.c (tilepro_elf_create_dynamic_sections): Remove
  164. extraneous tests.
  165. * elfnn-aarch64.c (elfNN_aarch64_create_dynamic_sections): Likewise.
  166. * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Likewise.
  167. * elfxx-tilegx.c (tilegx_elf_create_dynamic_sections): Likewise.
  168. * elf32-i386.c (elf_i386_create_dynamic_sections): Don't create
  169. ".rel.bss" for executables.
  170. * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Don't create
  171. ".rela.bss" for executables.
  172. * elf32-nios2.c (nios2_elf32_create_dynamic_sections): Don't
  173. ignore return status from _bfd_elf_create_dynamic_sections.
  174. 2016-12-23 Maciej W. Rozycki <macro@imgtec.com>
  175. * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Revert
  176. 2016-02-23 change and remove EI_ABIVERSION 5 support.
  177. 2016-12-23 Alan Modra <amodra@gmail.com>
  178. * linker.c (generic_link_check_archive_element): Call target
  179. bfd_link_add_symbols to add element symbols.
  180. 2016-12-23 Alan Modra <amodra@gmail.com>
  181. * linker.c (generic_link_add_symbols): Delete. Merge into..
  182. (_bfd_generic_link_add_symbols): ..here.
  183. (generic_link_check_archive_element_no_collect): Delete.
  184. (generic_link_check_archive_element_collect): Likewise.
  185. (generic_link_add_object_symbols): Remove "collect" param. Update
  186. callers.
  187. (generic_link_add_symbol_list): Likewise.
  188. (generic_link_check_archive_element): Likewise. Call
  189. bfd_link_add_symbols rather than generic_link_add_object_symbols.
  190. * libbfd-in.h (_bfd_generic_link_add_symbols_collect): Delete.
  191. * libbfd.h: Regenerate.
  192. 2016-12-23 Alan Modra <amodra@gmail.com>
  193. PR binutils/20464
  194. PR binutils/14625
  195. * configure.ac: Revert 2016-05-25 configure change setting
  196. want_64_bit_archive for mips64 and s390x. Revise USE_64_BIT_ARCHIVE
  197. description.
  198. * configure: Regenerate.
  199. * config.in: Regenerate.
  200. 2016-12-23 Tristan Gingold <gingold@adacore.com>
  201. * version.m4: Bump version to 2.28.51
  202. * configure: Regenerate.
  203. 2016-12-23 Tristan Gingold <gingold@adacore.com>
  204. * po/bfd.pot: Regenerate.
  205. 2016-12-22 Alan Modra <amodra@gmail.com>
  206. * libbfd-in.h (_bfd_vms_lib_slurp_armap): Use _bfd_noarchive function.
  207. (_bfd_vms_lib_slurp_extended_name_table: Likewise.
  208. (_bfd_vms_lib_construct_extended_name_table: Likewise.
  209. (_bfd_vms_lib_truncate_arname: Likewise.
  210. (_bfd_vms_lib_write_armap: Likewise.
  211. (_bfd_vms_lib_read_ar_hdr: Likewise.
  212. (_bfd_vms_lib_write_ar_hdr: Likewise.
  213. * libbfd.h: Regenerate.
  214. 2016-12-21: Yury Norov <ynorov@caviumnetworks.com>
  215. Andreas Schwab <schwab@suse.de>
  216. * cpu-aarch64.c: Fix word and address size declaration in
  217. ilp32 mode in bfd_arch_info_type bfd_aarch64_arch_ilp32
  218. structure.
  219. 2016-12-20 Andrew Waterman <andrew@sifive.com>
  220. * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Use
  221. EF_RISCV_FLOAT_ABI_SOFT instead of EF_RISCV_SOFT_FLOAT.
  222. 2016-12-20 Andrew Waterman <andrew@sifive.com>
  223. * elfnn-riscv.c (bfd_riscv_get_max_alignment): Return bfd_vma
  224. instead of unsigned int.
  225. 2016-12-20 Andrew Waterman <andrew@sifive.com>
  226. Kuan-Lin Chen <kuanlinchentw@gmail.com>
  227. * reloc.c (BFD_RELOC_RISCV_TPREL_I): New relocation.
  228. (BFD_RELOC_RISCV_TPREL_S): Likewise.
  229. (BFD_RELOC_RISCV_RELAX): Likewise.
  230. (BFD_RELOC_RISCV_CFA): Likewise.
  231. (BFD_RELOC_RISCV_SUB6): Likewise.
  232. (BFD_RELOC_RISCV_SET8): Likewise.
  233. (BFD_RELOC_RISCV_SET8): Likewise.
  234. (BFD_RELOC_RISCV_SET16): Likewise.
  235. (BFD_RELOC_RISCV_SET32): Likewise.
  236. * elfnn-riscv.c (perform_relocation): Handle the new
  237. relocations.
  238. (_bfd_riscv_relax_tls_le): Likewise.
  239. (_bfd_riscv_relax_align): Likewise.
  240. (_bfd_riscv_relax_section): Likewise.
  241. (howto_table): Likewise.
  242. (riscv_reloc_map): Likewise.
  243. (relax_func_t): New type.
  244. (_bfd_riscv_relax_call): Add reserve_size argument, which
  245. controls the maximal offset pessimism. Correct type of max_alignment.
  246. (_bfd_riscv_relax_lui): Likewise.
  247. (_bfd_riscv_relax_tls_le): Likewise.
  248. (_bfd_riscv_relax_align): Likewise.
  249. (_bfd_riscv_relax_section): Compute the required reserve size
  250. when relocating and use it to when calling relax_func.
  251. * bfd-in2.h: Regenerate.
  252. * libbfd.h: Likewise.
  253. 2016-12-20 Andrew Waterman <andrew@sifive.com>
  254. * elfnn-riscv.c: Formatting and comment fixes throughout.
  255. * elfxx-riscv.c: Likewise.
  256. (howto_table): Change the src_mask field from MINUS_ONE to 0 for
  257. R_RISCV_TLS_DTPMOD32, R_RISCV_TLS_DTPMOD64, R_RISCV_TLS_DTPREL32,
  258. R_RISCV_TLS_DTPREL64, R_RISCV_TLS_TPREL32, R_RISCV_TLS_TPREL64.
  259. 2016-12-20 Palmer Dabbelt <palmer@dabbelt.com>
  260. * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Improve
  261. error message when linking elf32 and elf64.
  262. 2016-12-19 Christian Groessler <chris@groessler.org>
  263. * elf32-arm.c (elf32_arm_popcount): Rename from 'popcount'. Make
  264. 'sum' local variable signed.
  265. 2016-12-16 fincs <fincs.alt1@gmail.com>
  266. * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Add handling
  267. for info->gc_keep_exported.
  268. (bfd_elf_gc_sections): Likewise.
  269. 2016-12-15 Alan Modra <amodra@gmail.com>
  270. PR ld/20968
  271. PR ld/20908
  272. * elflink.c (bfd_elf_final_link): Revert 2016-12-02 change. Move
  273. reloc counting code later after ELF flavour test.
  274. 2016-12-14 Maciej W. Rozycki <macro@imgtec.com>
  275. * bfd-in.h (elf_internal_abiflags_v0): New struct declaration.
  276. (bfd_mips_elf_get_abiflags): New prototype.
  277. * elfxx-mips.c (bfd_mips_elf_get_abiflags): New function.
  278. * bfd-in2.h: Regenerate.
  279. 2016-12-14 Yury Norov <ynorov@caviumnetworks.com>
  280. * bfd/elfnn-aarch64.c: fix TLS relaxations for ilp32 where
  281. TCB_SIZE is used.
  282. 2016-12-13 Alan Modra <amodra@gmail.com>
  283. * elf64-hppa.c (elf64_hppa_modify_segment_map): Don't add PHDR
  284. for objcopy/strip or when a ld script specifies PHDRS.
  285. 2016-12-13 Alan Modra <amodra@gmail.com>
  286. * elf32-rx.c (elf32_rx_modify_program_headers): Don't adjust
  287. segments that include the ELF file header or program headers.
  288. 2016-12-08 Alan Modra <amodra@gmail.com>
  289. PR ld/20932
  290. * elflink.c (bfd_elf_record_link_assignment): Handle warning symbols.
  291. 2016-12-07 Nick Clifton <nickc@redhat.com>
  292. PR ld/20932
  293. * elflink.c (bfd_elf_record_link_assignment): Replace call to
  294. abort with an error message and error return value.
  295. 2016-12-06 Nick Clifton <nickc@redhat.com>
  296. PR binutils/20931
  297. * elf.c (copy_special_section_fields): Check for an invalid
  298. sh_link field before attempting to follow it.
  299. PR binutils/20929
  300. * aoutx.h (squirt_out_relocs): Check for relocs without an
  301. associated symbol.
  302. 2016-12-06 Alan Modra <amodra@gmail.com>
  303. * elf64-ppc.c (ok_lo_toc_insn): Add r_type param. Recognize
  304. lq,lfq,lxv,lxsd,lxssp,lfdp,stq,stfq,stxv,stxsd,stxssp,stfdp.
  305. Don't match lmd and stmd.
  306. 2016-12-05 Alyssa Milburn <amilburn@zall.org>
  307. * elfxx-sparc.c: Do not stop processing relocations after
  308. partially relaxing a call with WDISP30.
  309. 2016-12-05 Nick Clifton <nickc@redhat.com>
  310. PR binutils/20905
  311. * peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
  312. the end of the string buffer.
  313. PR binutils/20907
  314. * peicode.h (pe_ILF_build_a_bfd): Replace abort with error return.
  315. PR binutils/20921
  316. * aoutx.h (squirt_out_relocs): Check for and report any relocs
  317. that could not be recognised.
  318. PR binutils/20922
  319. * elf.c (find_link): Check for null headers before attempting to
  320. match them.
  321. PR ld/20925
  322. * aoutx.h (aout_link_add_symbols): Replace BFD_ASSERT with return
  323. FALSE.
  324. PR ld/20924
  325. (aout_link_add_symbols): Fix off by one error checking for
  326. overflow of string offset.
  327. 2016-12-03 Alan Modra <amodra@gmail.com>
  328. * elf64-ppc.c (struct ppc_link_hash_entry): Delete "was_undefined".
  329. (struct ppc_link_hash_table): Delete "twiddled_syms". Add
  330. "need_func_desc_adj".
  331. (lookup_fdh): Link direct fdh sym via oh field and set flags.
  332. (make_fdh): Make strong and weak undefined function descriptor
  333. symbols.
  334. (ppc64_elf_merge_symbol): New function.
  335. (elf_backend_merge_symbol): Define.
  336. (ppc64_elf_archive_symbol_lookup): Don't test undefweak for fake
  337. function descriptors.
  338. (add_symbol_adjust): Don't twiddle symbols to undefweak.
  339. Propagate more ref flags to function descriptor symbol. Make
  340. some function descriptor symbols dynamic.
  341. (ppc64_elf_before_check_relocs): Only run add_symbol_adjust for
  342. ELFv1. Set need_func_desc_adj. Don't fix undefs list.
  343. (ppc64_elf_check_relocs): Set non_ir_ref for descriptors.
  344. Don't call lookup_fdh here.
  345. (ppc64_elf_gc_sections): New function.
  346. (bfd_elf64_bfd_gc_sections): Define.
  347. (ppc64_elf_gc_mark_hook): Mark descriptor.
  348. (func_desc_adjust): Don't make fake function descriptor syms strong
  349. here. Exit earlier on non-dotsyms. Take note of elf.dynamic
  350. flag when deciding whether a dynamic function descriptor might
  351. be needed. Transfer elf.dynamic and set elf.needs_plt. Move
  352. plt regardless of visibility. Make descriptor dynamic if
  353. entry sym is dynamic, not for other cases.
  354. (ppc64_elf_func_desc_adjust): Don't run func_desc_adjust if
  355. already done.
  356. (ppc64_elf_edit_opd): Use oh field rather than lookup_fdh.
  357. (ppc64_elf_size_stubs): Likewise.
  358. (ppc_build_one_stub): Don't clear was_undefined. Only set sym
  359. undefweak if stub symbol is defined.
  360. (undo_symbol_twiddle, ppc64_elf_restore_symbols): Delete.
  361. * elf64-ppc.h (ppc64_elf_restore_symbols): Don't declare.
  362. 2016-12-03 Alan Modra <amodra@gmail.com>
  363. * elf64-ppc.c (ppc64_elf_hide_symbol): Access hash table as
  364. elf_link_hash_table rather than ppc_link_hash_table.
  365. 2016-12-03 Alan Modra <amodra@gmail.com>
  366. * elf64-ppc.c (add_symbol_adjust): Delete dead code.
  367. 2016-12-03 Alan Modra <amodra@gmail.com>
  368. * elf64-ppc.c (add_symbol_adjust): Correct order of tests for
  369. warning and indirect symbols.
  370. 2016-12-03 Alan Modra <amodra@gmail.com>
  371. * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic
  372. flags when direct symbol is versioned_hidden.
  373. 2016-12-02 Nick Clifton <nickc@redhat.com>
  374. PR ld/20908
  375. * elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
  376. when following indirect links.
  377. PR ld/20909
  378. * aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
  379. for an illegal string offset.
  380. 2016-12-02 Gary Benson <gbenson@redhat.com>
  381. * elf.c (_bfd_elf_make_section_from_shdr): Pass offset to
  382. elf_parse_notes.
  383. 2016-12-02 Josh Conner <joshconner@google.com>
  384. * config.bfd: Add support for fuchsia (OS).
  385. 2016-12-01 Yury Norov <ynorov@caviumnetworks.com>
  386. PR ld/20868
  387. * elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses
  388. to the GOT when operating in 32-bit mode.
  389. 2016-12-01 Ma Jiang <ma.jiang@zte.com.cn>
  390. PR ld/16720
  391. * elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow
  392. test for HI16 relocs.
  393. 2016-12-01 Nick Clifton <nickc@redhat.com>
  394. PR binutils/20891
  395. * aoutx.h (find_nearest_line): Handle the case where the main file
  396. name and the directory name are both empty.
  397. PR binutils/20892
  398. * aoutx.h (find_nearest_line): Handle the case where the function
  399. name is empty.
  400. 2016-11-30 Alan Modra <amodra@gmail.com>
  401. * elf.c (get_program_header_size): Revert accidental change.
  402. 2016-11-30 Alan Modra <amodra@gmail.com>
  403. PR ld/20886
  404. * elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen
  405. on any pass past STUB_SHRINK_ITER.
  406. 2016-11-28 H.J. Lu <hongjiu.lu@intel.com>
  407. * elflink.c (_bfd_elf_fix_symbol_flags): Hide hidden versioned
  408. symbol in executable.
  409. (elf_link_output_extsym): Don't change bind from global to
  410. local when linking executable.
  411. 2016-11-28 Nick Clifton <nickc@redhat.com>
  412. PR ld/20815
  413. * elf.c (phdr_sorter): Delete.
  414. (assign_file_positions_except_relocs): Do not sort program
  415. headers.
  416. 2016-11-25 Jon Turney <jon.turney@dronecode.org.uk>
  417. PR ld/20193
  418. * peXXigen.c (rsrc_process_section): Do not shrink the merged
  419. .rsrc section.
  420. 2016-11-24 Jiong Wang <jiong.wang@arm.com>
  421. PR target/20737
  422. * elf32-arm.c (elf32_arm_final_link_relocate): Bind defined symbol
  423. locally in PIE.
  424. 2016-11-24 Kuan-Lin Chen <kuanlinchentw@gmail.com>
  425. * bfd/elfxx-riscv.c (howto_table): Fix bitsize of R_RISCV_ADD8.
  426. 2016-11-23 Nick Clifton <nickc@redhat.com>
  427. PR ld/20815
  428. * elf.c (elf_modify_segment_map): Allow empty LOAD segments if
  429. they contain the program headers.
  430. (_bfd_elf_map_sections_to_segments): If the linker created the
  431. PHDR segment then always attempt to include it in a LOAD segment.
  432. (assign_file_positions_for_non_load_sections): Allow LOAD segments
  433. to overlap PHDR segments.
  434. (phdr_sorter): New function. Sorts program headers.
  435. (assign_file_positions_except_relocs): Sort the program headers
  436. before writing them out. Issue an error if the PHDR segment is
  437. not covered by a LOAD segment, unless the backend allows it.
  438. * elf-bfd.h (struct elf_backend_data): Add
  439. elf_backend_allow_non_load_phdr.
  440. * elfxx-target.h (elf_backend_allow_non_load_phdr): Provide
  441. default definition that returns FALSE.
  442. (elfNN_bed): Initialise the elf_backend_allow_non_load_phdr
  443. field.
  444. * elf64-hppa.c (elf64_hppa_allow_non_load_phdr): New function.
  445. Returns TRUE.
  446. (elf_backend_allow_non_load_phdr): Define.
  447. * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Do not
  448. place the interpreter string into the .interp section if the
  449. nointerp flag is set in the link info structure.
  450. * elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
  451. * elf32-score7.c (score_elf_final_link_relocate): Allow for the
  452. _gp symbol not being part of the output.
  453. 2016-11-23 Alan Modra <amodra@gmail.com>
  454. * elf-bfd.h (struct elf_backend_data): Add dtrel_excludes_plt.
  455. * elfxx-target.h (elf_backend_dtrel_excludes_plt): Define.
  456. (elfNN_bed): Init new field.
  457. * elflink.c (bfd_elf_final_link): Add and use htab variable. Handle
  458. dtrel_excludes_plt.
  459. * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Delete
  460. DT_RELASZ code.
  461. (elf_backend_dtrel_excludes_plt): Define.
  462. * elf32-arc.c (elf_arc_finish_dynamic_sections): Delete DT_RELASZ code.
  463. (elf_backend_dtrel_excludes_plt): Define.
  464. * elf32-arm.c (elf32_arm_finish_dynamic_sections): Delete code
  465. subtracting off plt relocs from DT_RELSZ, DT_RELASZ.
  466. (elf_backend_dtrel_excludes_plt): Define.
  467. * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Delete
  468. DT_RELASZ code.
  469. (elf_backend_dtrel_excludes_plt): Define.
  470. * elf32-cris.c (elf_cris_finish_dynamic_sections): Delete DT_RELASZ
  471. code.
  472. (elf_backend_dtrel_excludes_plt): Define.
  473. * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Delete DT_RELASZ
  474. and DT_RELA code.
  475. (elf_backend_dtrel_excludes_plt): Define.
  476. * elf32-i386.c (elf_i386_finish_dynamic_sections): Delete DT_RELSZ
  477. and DT_REL code.
  478. (elf_backend_dtrel_excludes_plt): Define.
  479. * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Delete DT_RELASZ
  480. code.
  481. (elf_backend_dtrel_excludes_plt): Define.
  482. * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Delete DT_RELASZ
  483. code.
  484. (elf_backend_dtrel_excludes_plt): Define.
  485. * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Delete DT_RELASZ
  486. code.
  487. (elf_backend_dtrel_excludes_plt): Define.
  488. * elf32-metag.c (elf_metag_finish_dynamic_sections): Delete DT_RELASZ
  489. and DT_RELA code.
  490. (elf_backend_dtrel_excludes_plt): Define.
  491. * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Delete
  492. DT_RELASZ and DT_RELA code. Use ELF htab shortcuts for other
  493. dynamic sections.
  494. (elf_backend_dtrel_excludes_plt): Define.
  495. * elf32-mips.c (elf_backend_dtrel_excludes_plt): Define.
  496. * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Delete DT_RELASZ
  497. code.
  498. (elf_backend_dtrel_excludes_plt): Define.
  499. * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Delete DT_RELASZ
  500. code.
  501. (elf_backend_dtrel_excludes_plt): Define.
  502. * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Delete DT_RELASZ
  503. code.
  504. (elf_backend_dtrel_excludes_plt): Define.
  505. * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Delete DT_RELASZ
  506. code.
  507. (elf_backend_dtrel_excludes_plt): Define.
  508. * elf32-sh.c (sh_elf_finish_dynamic_sections): Delete DT_RELASZ
  509. code.
  510. (elf_backend_dtrel_excludes_plt): Define.
  511. * elf32-sparc.c (elf_backend_dtrel_excludes_plt): Define.
  512. * elf32-vax.c (elf_vax_finish_dynamic_sections): Delete DT_RELASZ
  513. code.
  514. (elf_backend_dtrel_excludes_plt): Define.
  515. * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Delete DT_RELASZ
  516. code.
  517. (elf_backend_dtrel_excludes_plt): Define.
  518. * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Delete DT_RELASZ
  519. code.
  520. (elf_backend_dtrel_excludes_plt): Define.
  521. * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Delete DT_RELASZ
  522. and DT_RELA code.
  523. (elf_backend_dtrel_excludes_plt): Define.
  524. * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Delete DT_RELASZ
  525. code.
  526. (elf_backend_dtrel_excludes_plt): Define.
  527. * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Delete DT_RELASZ
  528. code.
  529. (elf_backend_dtrel_excludes_plt): Define.
  530. * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Delete
  531. DT_RELASZ code.
  532. (elf_backend_dtrel_excludes_plt): Define.
  533. * elfnn-ia64.c (elfNN_ia64_finish_dynamic_sections): Delete DT_RELASZ
  534. code.
  535. (elf_backend_dtrel_excludes_plt): Define.
  536. * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Delete
  537. DT_RELASZ code.
  538. * elfxx-sparc.c (sparc_finish_dyn): Delete DT_RELASZ code.
  539. 2016-11-23 Alan Modra <amodra@gmail.com>
  540. * elf-m10300.c (mn10300_elf_check_relocs): Use elf htab shortcuts
  541. to dynamic sections.
  542. (mn10300_elf_final_link_relocate): Likewise.
  543. (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
  544. (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
  545. (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
  546. (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
  547. * elf32-bfin.c (bfin_check_relocs): Likewise.
  548. (bfin_relocate_section): Likewise.
  549. (bfin_gc_sweep_hook): Likewise.
  550. (struct bfinfdpic_elf_link_hash_table): Delete sgot, sgotrel, splt
  551. and spltrel.
  552. (bfinfdpic_got_section, bfinfdpic_gotrel_section,
  553. bfinfdpic_plt_section, bfinfdpic_pltrel_section): Define using elf
  554. shortcut sections.
  555. (_bfin_create_got_section): Use elf htab shortcuts to dyn sections.
  556. Delete dead code.
  557. (bfin_finish_dynamic_symbol): Use elf htab shortcuts to dyn sections.
  558. (bfin_size_dynamic_sections): Likewise.
  559. * elf32-cr16.c (_bfd_cr16_elf_create_got_section): Likewise.
  560. (cr16_elf_check_relocs): Likewise.
  561. (cr16_elf_final_link_relocate): Likewise.
  562. (_bfd_cr16_elf_create_dynamic_sections): Likewise.
  563. (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
  564. (_bfd_cr16_elf_size_dynamic_sections): Likewise.
  565. (_bfd_cr16_elf_finish_dynamic_symbol): Likewise.
  566. (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
  567. * elf32-cris.c (cris_elf_relocate_section): Likewise.
  568. (elf_cris_finish_dynamic_symbol): Likewise.
  569. (elf_cris_finish_dynamic_sections): Likewise.
  570. (cris_elf_gc_sweep_hook): Likewise.
  571. (elf_cris_adjust_gotplt_to_got): Likewise.
  572. (elf_cris_adjust_dynamic_symbol): Likewise.
  573. (cris_elf_check_relocs): Likewise. Delete dead code.
  574. (elf_cris_size_dynamic_sections): Use elf htab shortcuts to dynamic
  575. sections.
  576. (elf_cris_discard_excess_program_dynamics): Likewise.
  577. * elf32-frv.c (struct frvfdpic_elf_link_hash_table): Delete sgot,
  578. sgotrel, splt and spltrel.
  579. (frvfdpic_got_section, frvfdpic_gotrel_section,
  580. frvfdpic_plt_section, frvfdpic_pltrel_section): Define using elf
  581. shortcut sections.
  582. (_frv_create_got_section): Likewise.
  583. * elf32-hppa.c (struct elf32_hppa_link_hash_table): Delete sgot,
  584. srelgot, splt and srelplt.
  585. (hppa_build_one_stub): Use elf htab shortcuts to dynamic sections.
  586. (elf32_hppa_create_dynamic_sections): Likewise.
  587. (elf32_hppa_check_relocs): Likewise.
  588. (allocate_plt_static): Likewise.
  589. (allocate_dynrelocs): Likewise.
  590. (elf32_hppa_size_dynamic_sections): Likewise.
  591. (elf32_hppa_relocate_section): Likewise.
  592. (elf32_hppa_finish_dynamic_symbol): Likewise.
  593. (elf32_hppa_finish_dynamic_sections): Likewise.
  594. * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
  595. * elf32-lm32.c (struct elf_lm32_link_hash_table): Delete sgot,
  596. sgotplt, srelgot, splt and srelplt.
  597. (lm32fdpic_got_section, lm32fdpic_gotrel_section): Define using elf
  598. shortcut sections.
  599. (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
  600. (lm32_elf_relocate_section): Use elf htab shortcuts to dyn sections.
  601. (lm32_elf_check_relocs): Likewise.
  602. (lm32_elf_finish_dynamic_sections): Likewise.
  603. (lm32_elf_finish_dynamic_symbol): Likewise.
  604. (allocate_dynrelocs): Likewise.
  605. (lm32_elf_size_dynamic_sections): Likewise.
  606. (lm32_elf_create_dynamic_sections): Likewise.
  607. * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
  608. (m32c_elf_check_relocs): Likewise.
  609. (m32c_elf_finish_dynamic_sections): Likewise.
  610. (m32c_elf_always_size_sections): Likewise.
  611. * elf32-m32r.c (struct elf_m32r_link_hash_table): Delete sgot,
  612. sgotplt, srelgot, splt and srelplt.
  613. (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
  614. (m32r_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
  615. sections.
  616. (allocate_dynrelocs): Likewise.
  617. (m32r_elf_size_dynamic_sections): Likewise.
  618. (m32r_elf_relocate_section): Likewise.
  619. (m32r_elf_finish_dynamic_symbol): Likewise.
  620. (m32r_elf_finish_dynamic_sections): Likewise.
  621. (m32r_elf_check_relocs): Likewise.
  622. * elf32-m68k.c (elf_m68k_partition_multi_got): Likewise.
  623. (elf_m68k_check_relocs): Likewise.
  624. (elf_m68k_adjust_dynamic_symbol): Likewise.
  625. (elf_m68k_size_dynamic_sections): Likewise.
  626. (elf_m68k_relocate_section): Likewise.
  627. (elf_m68k_finish_dynamic_symbol): Likewise.
  628. (elf_m68k_finish_dynamic_sections): Likewise.
  629. * elf32-metag.c (struct elf_metag_link_hash_table): Delete sgot,
  630. sgotplt, srelgot, splt and srelplt.
  631. (elf_metag_relocate_section): Use elf htab shortcuts to dynamic
  632. sections.
  633. (elf_metag_create_dynamic_sections): Likewise. Allocate got header
  634. here in .got.
  635. (elf_metag_check_relocs): Use elf htab shortcuts to dynamic sections.
  636. (allocate_dynrelocs): Likewise.
  637. (elf_metag_size_dynamic_sections): Likewise.
  638. (elf_metag_finish_dynamic_symbol): Likewise.
  639. (elf_metag_finish_dynamic_sections): Likewise.
  640. (elf_metag_size_stubs): Likewise.
  641. (elf_backend_got_header_size): Don't define.
  642. (elf_backend_want_got_plt): Define.
  643. * elf32-microblaze.c (struct elf32_mb_link_hash_table): Delete sgot,
  644. sgotplt, srelgot, splt and srelpl.
  645. (microblaze_elf_relocate_section): Use elf htab shortcuts to dynamic
  646. sections.
  647. (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
  648. (microblaze_elf_check_relocs): Use elf htab shortcuts to dyn sections.
  649. (microblaze_elf_create_dynamic_sections): Likewise.
  650. (allocate_dynrelocs): Likewise.
  651. (microblaze_elf_size_dynamic_sections): Likewise.
  652. (microblaze_elf_finish_dynamic_symbol): Likewise.
  653. (microblaze_elf_finish_dynamic_sections): Likewise.
  654. * elf32-nds32.c (nds32_elf_link_hash_table_create): Don't NULL
  655. already zero fields.
  656. (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
  657. (nds32_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
  658. sections.
  659. (allocate_dynrelocs): Likewise.
  660. (nds32_elf_size_dynamic_sections): Likewise.
  661. (nds32_elf_relocate_section): Likewise.
  662. (nds32_elf_finish_dynamic_symbol): Likewise.
  663. (nds32_elf_finish_dynamic_sections): Likewise.
  664. (nds32_elf_check_relocs): Likewise.
  665. (calculate_plt_memory_address): Likewise.
  666. (calculate_got_memory_address): Likewise.
  667. * elf32-nds32.h (struct elf_nds32_link_hash_table): Delete sgot,
  668. sgotplt, srelgot, splt and srelplt.
  669. * elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
  670. (or1k_elf_relocate_section): Use elf htab shortcuts to dyn sections.
  671. (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
  672. (or1k_elf_check_relocs): Use elf htab shortcuts to dynamic sections.
  673. (or1k_elf_finish_dynamic_sections): Likewise.
  674. (or1k_elf_finish_dynamic_symbol): Likewise.
  675. (allocate_dynrelocs): Likewise.
  676. (or1k_elf_size_dynamic_sections): Likewise.
  677. (or1k_elf_create_dynamic_sections): Likewise.
  678. * elf32-ppc.c (struct ppc_elf_link_hash_table): Delete got, relgot,
  679. plt, relplt, iplt, reliplt and sgotplt.
  680. (ppc_elf_create_got): Use elf htab shortcuts to dynamic sections.
  681. (ppc_elf_create_glink): Likewise.
  682. (ppc_elf_create_dynamic_sections): Likewise.
  683. (ppc_elf_check_relocs): Likewise.
  684. (ppc_elf_select_plt_layout): Likewise.
  685. (ppc_elf_tls_setup): Likewise.
  686. (allocate_got): Likewise.
  687. (allocate_dynrelocs): Likewise.
  688. (ppc_elf_size_dynamic_sections): Likewise.
  689. (ppc_elf_relax_section): Likewise.
  690. (ppc_elf_relocate_section): Likewise.
  691. (ppc_elf_finish_dynamic_symbol): Likewise.
  692. (ppc_elf_reloc_type_class): Likewise.
  693. (ppc_elf_finish_dynamic_sections): Likewise.
  694. * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
  695. (rl78_elf_check_relocs): Likewise.
  696. (rl78_elf_finish_dynamic_sections): Likewise.
  697. (rl78_elf_always_size_sections): Likewise.
  698. * elf32-s390.c (create_got_section): Delete.
  699. (elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
  700. (elf_s390_check_relocs): Likewise.
  701. * elf32-score.c (score_elf_create_got_section): Set elf shortcuts.
  702. (s3_bfd_score_elf_finish_dynamic_sections): Use elf shortcuts.
  703. * elf32-score7.c (score_elf_create_got_section): As above.
  704. (s7_bfd_score_elf_finish_dynamic_sections): As above.
  705. * elf32-sh.c (struct elf_sh_link_hash_table): Delete sgot,
  706. sgotplt, srelgot, splt and srelplt.
  707. (create_got_section): Don't set them.
  708. (sh_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
  709. sections.
  710. (allocate_dynrelocs): Likewise.
  711. (sh_elf_size_dynamic_sections): Likewise.
  712. (sh_elf_add_rofixup): Likewise.
  713. (sh_elf_relocate_section): Likewise.
  714. (sh_elf_check_relocs): Likewise.
  715. (sh_elf_finish_dynamic_symbol): Likewise.
  716. (sh_elf_finish_dynamic_sections): Likewise.
  717. * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
  718. * elf32-tilepro.c (tilepro_elf_create_got_section): Likewise.
  719. * elf32-vax.c (elf_vax_check_relocs): Likewise.
  720. (elf_vax_adjust_dynamic_symbol): Likewise.
  721. (elf_vax_always_size_sections): Likewise.
  722. (elf_vax_instantiate_got_entries): Likewise.
  723. (elf_vax_relocate_section): Likewise.
  724. (elf_vax_finish_dynamic_symbol): Likewise.
  725. (elf_vax_finish_dynamic_sections): Likewise.
  726. * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
  727. (xstormy16_elf_always_size_sections): Likewise.
  728. (xstormy16_elf_relocate_section): Likewise.
  729. (xstormy16_elf_finish_dynamic_sections): Likewise.
  730. * elf32-xtensa.c (struct elf_xtensa_link_hash_table): Delete sgot,
  731. sgotplt, srelgot, splt and srelplt.
  732. (elf_xtensa_create_dynamic_sections): Use elf htab shortcuts to
  733. dynamic sections.
  734. (elf_xtensa_allocate_dynrelocs): Likewise.
  735. (elf_xtensa_allocate_local_got_size): Likewise.
  736. (elf_xtensa_size_dynamic_sections): Likewise.
  737. (elf_xtensa_relocate_section): Likewise.
  738. (elf_xtensa_finish_dynamic_sections): Likewise.
  739. (shrink_dynamic_reloc_sections): Likewise.
  740. (elf_xtensa_get_plt_section): Likewise.
  741. (elf_xtensa_get_gotplt_section): Likewise.
  742. (xtensa_callback_required_dependence): Likewise.
  743. * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Set elf htab
  744. shortcuts to dynamic sections.
  745. (elf64_alpha_adjust_dynamic_symbol): Use elf htab shortcuts to
  746. dynamic sections.
  747. (elf64_alpha_size_plt_section): Likewise.
  748. (elf64_alpha_size_rela_got_1): Likewise.
  749. (elf64_alpha_size_rela_got_section): Likewise.
  750. (elf64_alpha_relocate_section): Likewise.
  751. (elf64_alpha_finish_dynamic_symbol): Likewise.
  752. (elf64_alpha_finish_dynamic_sections): Likewise.
  753. * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
  754. * elf64-s390.c (create_got_section): Delete.
  755. (elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
  756. (elf_s390_check_relocs): Likewise.
  757. * elf64-sh64.c (sh_elf64_relocate_section): Use elf htab shortcuts to
  758. dynamic sections.
  759. (sh_elf64_check_relocs): Likewise.
  760. (sh64_elf64_adjust_dynamic_symbol): Likewise.
  761. (sh64_elf64_size_dynamic_sections): Likewise.
  762. (sh64_elf64_finish_dynamic_symbol): Likewise.
  763. (sh64_elf64_finish_dynamic_sections): Likewise.
  764. * elflink.c (_bfd_elf_create_got_section): Likewise.
  765. * elfnn-aarch64.c (aarch64_elf_create_got_section): Likewise.
  766. * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
  767. (elfNN_ia64_finish_dynamic_sections): Likewise.
  768. * elfnn-riscv.c (riscv_elf_create_got_section): Likewise.
  769. * elfxx-mips.c (struct mips_elf_link_hash_table): Delete srellt,
  770. sgotplt, splt and sgot.
  771. (mips_elf_initialize_tls_slots): Use elf htab shortcuts to dynamic
  772. sections.
  773. (mips_elf_gotplt_index): Likewise.
  774. (mips_elf_primary_global_got_index): Likewise.
  775. (mips_elf_global_got_index): Likewise.
  776. (mips_elf_got_offset_from_index): Likewise.
  777. (mips_elf_create_local_got_entry): Likewise.
  778. (mips_elf_create_got_section): Likewise.
  779. (mips_elf_calculate_relocation): Likewise.
  780. (_bfd_mips_elf_create_dynamic_sections): Likewise.
  781. (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
  782. (mips_elf_lay_out_got): Likewise.
  783. (mips_elf_set_plt_sym_value): Likewise.
  784. (_bfd_mips_elf_size_dynamic_sections): Likewise.
  785. (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
  786. (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
  787. (mips_finish_exec_plt): Likewise.
  788. (mips_vxworks_finish_exec_plt): Likewise.
  789. (mips_vxworks_finish_shared_plt): Likewise.
  790. (_bfd_mips_elf_finish_dynamic_sections): Likewise.
  791. * elfxx-sparc.c (sparc_finish_dyn): Likewise.
  792. * elfxx-tilegx.c (tilegx_elf_create_got_section): Likewise.
  793. 2016-11-23 Alan Modra <amodra@gmail.com>
  794. * po/BLD-POTFILES.in: Regenerate.
  795. * po/SRC-POTFILES.in: Regenerate.
  796. 2016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
  797. * warning.m4: Fix spelling in comments.
  798. * configure.ac: Fix spelling in comments.
  799. * configure: Regenerate.
  800. 2016-11-22 Alan Modra <amodra@gmail.com>
  801. PR 20744
  802. * elf32-ppc.h (struct ppc_elf_params): Add vle_reloc_fixup field.
  803. * elf32-ppc.c: Include opcode/ppc.h.
  804. (ppc_elf_howto_raw): Correct dst_mask for R_PPC_VLE_LO16A,
  805. R_PPC_VLE_LO16D, R_PPC_VLE_HI16A, R_PPC_VLE_HI16D, R_PPC_VLE_HA16A,
  806. R_PPC_VLE_HA16D, R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_LO16D,
  807. R_PPC_VLE_SDAREL_HI16A, R_PPC_VLE_SDAREL_HI16D,
  808. R_PPC_VLE_SDAREL_HA16A, and R_PPC_VLE_SDAREL_HA16D relocs.
  809. (ppc_elf_link_hash_table_create): Update default_params init.
  810. (ppc_elf_vle_split16): Correct shift and mask. Add params.
  811. Report or fix insn/reloc mismatches.
  812. (ppc_elf_relocate_section): Pass input_section, offset and fixup
  813. to ppc_elf_vle_split16.
  814. 2016-11-22 Alan Modra <amodra@gmail.com>
  815. * elf32-ppc.c (ppc64_elf_relocate_section): Calculate d_offset for
  816. input_bfd. Replace occurrences of output_bfd as bfd_get_32 and
  817. bfd_put_32 param with input_bfd.
  818. * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Also
  819. ppc_elf_vle_split16 param.
  820. (ppc_elf_vle_split16): Rename output_bfd param to input_bfd.
  821. 2016-11-21 Maciej W. Rozycki <macro@imgtec.com>
  822. * dwarf2.c (build_line_info_table): Rename `index' local
  823. variable to `line_index'.
  824. (build_lookup_funcinfo_table): Rename `index' local variable to
  825. `func_index'.
  826. 2016-11-19 Jose E. Marchesi <jose.marchesi@oracle.com>
  827. * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Do not
  828. apply the negative GOT offset optimization in 64-bit code.
  829. 2016-11-18 James Clarke <jrtc27@jrtc27.com>
  830. * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
  831. R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 to
  832. R_SPARC_GOT* for non-local references. Instead, treat them like
  833. R_SPARC_GOTDATA_HIX22/R_SPARC_GOTDATA_LOX10 when filling in the
  834. immediate with the calculated relocation.
  835. 2016-11-18 Nick Clifton <nickc@redhat.com>
  836. PR ld/20675
  837. * elf32-metag.c (elf_metag_relocate_section): Replace abort with
  838. an informative error message.
  839. 2016-11-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
  840. PR ld/20789
  841. * bfd/elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Do signed
  842. manipulation of diff value, and don't assume sym2 is less than sym1.
  843. (elf32_avr_adjust_reloc_if_spans_insn): New function.
  844. (elf32_avr_relax_delete_bytes): Use elf32_avr_adjust_diff_reloc_value,
  845. and remove redundant did_pad.
  846. 2016-11-14 H.J. Lu <hongjiu.lu@intel.com>
  847. PR ld/20800
  848. * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
  849. plt_got.offset for R_X86_64_PLTOFF64.
  850. 2016-11-14 Nick Clifton <nickc@redhat.com>
  851. * coffcode.h (coff_slurp_symbol_table): Fix typo: Faal -> Fall.
  852. 2016-11-11 Luke Allardyce <lukeallardyce@gmail.com>
  853. PR ld/20722
  854. * coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols,
  855. but treat them as debugging symbols.
  856. 2016-11-10 Jiong Wang <jiong.wang@arm.com>
  857. PR target/20737
  858. * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
  859. symbol locally in PIE.
  860. 2016-11-10 Nick Clifton <nickc@redhat.com>
  861. PR binutils/20801
  862. * compress.c (bfd_get_full_section_contents): Provide a more
  863. helpful error message when a section is too large to load.
  864. 2016-11-08 Pedro Alves <palves@redhat.com>
  865. * dwarf2.c (struct funcinfo) <is_linkage>: Type is bfd_boolean,
  866. not "bfd boolean".
  867. 2016-11-08 Igor Tsimbalist <tigor.tools@gmail.com>
  868. * dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and
  869. 'number_of_functions' to keep lookup table and number of entries in
  870. the table.
  871. (line_sequence): Add new fields 'line_info_lookup' and 'num_lines'
  872. to keep lookup table and number of entries in the table.
  873. (lookup_funcinfo): New structure for lookup table for function
  874. references.
  875. (build_line_info_table): New function to create and build the lookup
  876. table for line information.
  877. (lookup_address_in_line_info_table): Use the lookup table instead of
  878. traverse a linked list.
  879. (compare_lookup_funcinfos): New compare fuction used in sorting of
  880. lookup table for function references.
  881. (build_lookup_funcinfo_table): New function to create, build and
  882. sort the lookup table for functions references.
  883. (lookup_address_in_function_table): Use the table instead of
  884. traverse a linked list.
  885. (_bfd_dwarf2_cleanup_debug_info): Free memory from function references
  886. lookup table.
  887. 2016-11-04 Nick Clifton <nickc@redhat.com>
  888. * targets.c (bfd_target_vector): Only add riscv_elf32_vec target
  889. when supporting 64-bit BFD targets.
  890. 2016-11-03 Tristan Gingold <gingold@adacore.com>
  891. * config.bfd: Deprecate many old triplets.
  892. 2016-11-03 Nick Clifton <nickc@redhat.com>
  893. * po/da.po: Updated Danish translation.
  894. 2016-11-01 Maciej W. Rozycki <macro@imgtec.com>
  895. * reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
  896. not fall through to the default case.
  897. 2016-11-01 Palmer Dabbelt <palmer@dabbelt.com>
  898. Andrew Waterman <andrew@sifive.com>
  899. Add support for RISC-V architecture.
  900. * Makefile.am: Add entries for riscv32-elf and riscv64-elf.
  901. * config.bdf: Likewise.
  902. * configure.ac: Likewise.
  903. * Makefile.in: Regenerate.
  904. * configure: Regenerate.
  905. * archures.c: Add bfd_riscv_arch.
  906. * reloc.c: Add riscv relocs.
  907. * targets.c: Add riscv_elf32_vec and riscv_elf64_vec.
  908. * bfd-in2.h: Regenerate.
  909. * libbfd.h: Regenerate.
  910. * elf-bfd.h: Add RISCV_ELF_DATA to enum elf_target_id.
  911. * elfnn-riscv.c: New file.
  912. * elfxx-riscv.c: New file.
  913. * elfxx-riscv.h: New file.
  914. 2016-10-31 Alan Modra <amodra@gmail.com>
  915. PR 20748
  916. * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert
  917. 2016-05-13 change.
  918. 2016-10-27 Andrew Burgess <andrew.burgess@embecosm.com>
  919. * cpu-arc.c (arc_get_mach): Delete.
  920. 2016-10-25 Maciej W. Rozycki <macro@imgtec.com>
  921. * elfxx-mips.c (STUB_JALR): Correct description.
  922. 2016-10-20 Nick Clifton <nickc@redhat.com>
  923. * po/gas.pot: Regenerate.
  924. 2016-10-19 Nick Clifton <nickc@redhat.com>
  925. * aout-adobe.c: Add missing c-format tags for translatable strings.
  926. * aout-cris.c: Likewise.
  927. * aoutx.h: Likewise.
  928. * bfd.c: Likewise.
  929. * binary.c: Likewise.
  930. * cache.c: Likewise.
  931. * coff-alpha.c: Likewise.
  932. * coff-arm.c: Likewise.
  933. * coff-i860.c: Likewise.
  934. * coff-mcore.c: Likewise.
  935. * coff-ppc.c: Likewise.
  936. * coff-rs6000.c: Likewise.
  937. * coff-sh.c: Likewise.
  938. * coff-tic4x.c: Likewise.
  939. * coff-tic54x.c: Likewise.
  940. * coff-tic80.c: Likewise.
  941. * coff64-rs6000.c: Likewise.
  942. * coffcode.h: Likewise.
  943. * coffgen.c: Likewise.
  944. * cofflink.c: Likewise.
  945. * coffswap.h: Likewise.
  946. * cpu-arm.c: Likewise.
  947. * dwarf2.c: Likewise.
  948. * ecoff.c: Likewise.
  949. * elf-attrs.c: Likewise.
  950. * elf-eh-frame.c: Likewise.
  951. * elf-ifunc.c: Likewise.
  952. * elf-m10300.c: Likewise.
  953. * elf-s390-common.c: Likewise.
  954. * elf.c: Likewise.
  955. * elf32-arc.c: Likewise.
  956. * elf32-arm.c: Likewise.
  957. * elf32-avr.c: Likewise.
  958. * elf32-bfin.c: Likewise.
  959. * elf32-cr16.c: Likewise.
  960. * elf32-cr16c.c: Likewise.
  961. * elf32-cris.c: Likewise.
  962. * elf32-crx.c: Likewise.
  963. * elf32-d10v.c: Likewise.
  964. * elf32-d30v.c: Likewise.
  965. * elf32-epiphany.c: Likewise.
  966. * elf32-fr30.c: Likewise.
  967. * elf32-frv.c: Likewise.
  968. * elf32-gen.c: Likewise.
  969. * elf32-hppa.c: Likewise.
  970. * elf32-i370.c: Likewise.
  971. * elf32-i386.c: Likewise.
  972. * elf32-i960.c: Likewise.
  973. * elf32-ip2k.c: Likewise.
  974. * elf32-iq2000.c: Likewise.
  975. * elf32-lm32.c: Likewise.
  976. * elf32-m32c.c: Likewise.
  977. * elf32-m32r.c: Likewise.
  978. * elf32-m68hc11.c: Likewise.
  979. * elf32-m68hc12.c: Likewise.
  980. * elf32-m68hc1x.c: Likewise.
  981. * elf32-m68k.c: Likewise.
  982. * elf32-mcore.c: Likewise.
  983. * elf32-mep.c: Likewise.
  984. * elf32-metag.c: Likewise.
  985. * elf32-microblaze.c: Likewise.
  986. * elf32-moxie.c: Likewise.
  987. * elf32-msp430.c: Likewise.
  988. * elf32-mt.c: Likewise.
  989. * elf32-nds32.c: Likewise.
  990. * elf32-nios2.c: Likewise.
  991. * elf32-or1k.c: Likewise.
  992. * elf32-pj.c: Likewise.
  993. * elf32-ppc.c: Likewise.
  994. * elf32-rl78.c: Likewise.
  995. * elf32-rx.c: Likewise.
  996. * elf32-s390.c: Likewise.
  997. * elf32-score.c: Likewise.
  998. * elf32-score7.c: Likewise.
  999. * elf32-sh-symbian.c: Likewise.
  1000. * elf32-sh.c: Likewise.
  1001. * elf32-sh64.c: Likewise.
  1002. * elf32-spu.c: Likewise.
  1003. * elf32-tic6x.c: Likewise.
  1004. * elf32-tilepro.c: Likewise.
  1005. * elf32-v850.c: Likewise.
  1006. * elf32-vax.c: Likewise.
  1007. * elf32-visium.c: Likewise.
  1008. * elf32-xgate.c: Likewise.
  1009. * elf32-xtensa.c: Likewise.
  1010. * elf64-alpha.c: Likewise.
  1011. * elf64-gen.c: Likewise.
  1012. * elf64-hppa.c: Likewise.
  1013. * elf64-ia64-vms.c: Likewise.
  1014. * elf64-mmix.c: Likewise.
  1015. * elf64-ppc.c: Likewise.
  1016. * elf64-s390.c: Likewise.
  1017. * elf64-sh64.c: Likewise.
  1018. * elf64-sparc.c: Likewise.
  1019. * elf64-x86-64.c: Likewise.
  1020. * elfcode.h: Likewise.
  1021. * elfcore.h: Likewise.
  1022. * elflink.c: Likewise.
  1023. * elfnn-aarch64.c: Likewise.
  1024. * elfnn-ia64.c: Likewise.
  1025. * elfxx-mips.c: Likewise.
  1026. * elfxx-sparc.c: Likewise.
  1027. * elfxx-tilegx.c: Likewise.
  1028. * ieee.c: Likewise.
  1029. * ihex.c: Likewise.
  1030. * libbfd.c: Likewise.
  1031. * linker.c: Likewise.
  1032. * m68klinux.c: Likewise.
  1033. * mach-o.c: Likewise.
  1034. * merge.c: Likewise.
  1035. * mmo.c: Likewise.
  1036. * oasys.c: Likewise.
  1037. * pdp11.c: Likewise.
  1038. * pe-mips.c: Likewise.
  1039. * peXXigen.c: Likewise.
  1040. * pei-x86_64.c: Likewise.
  1041. * peicode.h: Likewise.
  1042. * ppcboot.c: Likewise.
  1043. * reloc.c: Likewise.
  1044. * sparclinux.c: Likewise.
  1045. * srec.c: Likewise.
  1046. * stabs.c: Likewise.
  1047. * vms-alpha.c: Likewise.
  1048. * vms-lib.c: Likewise.
  1049. * xcofflink.c: Likewise.
  1050. 2016-10-18 Nick Clifton <nickc@redhat.com>
  1051. * po/da.po: Updated Danish translation.
  1052. 2016-10-18 Maciej W. Rozycki <macro@imgtec.com>
  1053. * elf32-nds32.c (nds32_elf_check_relocs): Avoid aliasing warning
  1054. from GCC.
  1055. 2016-10-18 Maciej W. Rozycki <macro@imgtec.com>
  1056. * elf32-arm.c (elf32_arm_update_relocs): Rename `index' local
  1057. variable to `reloc_index'.
  1058. 2016-10-12 Alan Modra <amodra@gmail.com>
  1059. * section.c (BFD_FAKE_SECTION): Reorder parameters. Formatting.
  1060. (STD_SECTION): Adjust to suit.
  1061. * elf.c (_bfd_elf_large_com_section): Likewise.
  1062. * bfd-in2.h: Regenerate.
  1063. 2016-10-11 Alan Modra <amodra@gmail.com>
  1064. * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Handle symbols
  1065. defined temporarily with bfd_und_section.
  1066. * elflink.c (_bfd_elf_gc_keep): Don't set SEC_KEEP for bfd_und_section.
  1067. * elfxx-mips.c (mips_elf_local_pic_function_p): Exclude defined
  1068. symbols with bfd_und_section.
  1069. 2016-10-07 Alan Modra <amodra@gmail.com>
  1070. * targets.c (bfd_target <_bfd_merge_private_bfd_data>): Replace
  1071. obfd param with struct bfd_link_info param. Update all callers.
  1072. * linker.c (bfd_merge_private_bfd_data): Likewise.
  1073. (_bfd_generic_verify_endian_match): Likewise.
  1074. * aoutf1.h (sunos_merge_private_bfd_data): Likewise.
  1075. * coff-arm.c (coff_arm_merge_private_bfd_data): Likewise.
  1076. * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
  1077. * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Likewise.
  1078. (_bfd_elf_merge_object_attributes): Likewise.
  1079. * elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise.
  1080. * elf-s390-common.c (elf_s390_merge_obj_attributes): Likewise.
  1081. * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
  1082. * elf32-arm.c (elf32_arm_merge_eabi_attributes): Likewise.
  1083. (elf32_arm_merge_private_bfd_data): Likewise.
  1084. * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
  1085. * elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise.
  1086. * elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise.
  1087. * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
  1088. * elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise.
  1089. * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
  1090. * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
  1091. * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
  1092. * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise.
  1093. * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
  1094. * elf32-m68hc1x.h (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
  1095. * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise.
  1096. * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
  1097. * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
  1098. * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Likewise.
  1099. (elf32_msp430_merge_private_bfd_data): Likewise.
  1100. * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
  1101. * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
  1102. * elf32-nios2.c (nios2_elf32_merge_private_bfd_data): Likewise.
  1103. * elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise.
  1104. * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Likewise.
  1105. (ppc_elf_merge_obj_attributes): Likewise.
  1106. (ppc_elf_merge_private_bfd_data): Likewise.
  1107. * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise.
  1108. * elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise.
  1109. * elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise.
  1110. * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
  1111. (elf32_score_merge_private_bfd_data): Likewise.
  1112. * elf32-score.h (s7_elf32_score_merge_private_bfd_data): Likewise.
  1113. * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
  1114. * elf32-sh.c (sh_merge_bfd_arch, sh_elf_merge_private_data): Likewise.
  1115. * elf32-sh64.c (sh64_elf_merge_private_data): Likewise.
  1116. * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
  1117. * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
  1118. (elf32_tic6x_merge_private_bfd_data): Likewise.
  1119. * elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise.
  1120. * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
  1121. * elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise.
  1122. * elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise.
  1123. * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
  1124. * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise.
  1125. * elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise.
  1126. * elf64-sh64.c (sh_elf64_merge_private_data): Likewise.
  1127. * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
  1128. * elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise.
  1129. * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
  1130. * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
  1131. (mips_elf_merge_obj_attributes): Likewise.
  1132. (_bfd_mips_elf_merge_private_bfd_data): Likewise.
  1133. * elfxx-mips.h (_bfd_mips_elf_merge_private_bfd_data): Likewise.
  1134. * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
  1135. * elfxx-sparc.h (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
  1136. * elfxx-target.h (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
  1137. * elfxx-tilegx.c (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
  1138. * elfxx-tilegx.h (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
  1139. * libbfd-in.h (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
  1140. * bfd-in2.h: Regenerate.
  1141. * libbfd.h: Regenerate.
  1142. 2016-10-07 Alan Modra <amodra@gmail.com>
  1143. * Makefile.am (LIBBFD_H_FILES): Update.
  1144. * doc/Makefile.am (LIBBFD_H_DEP): Likewise.
  1145. * cpu-sh.c (sh_merge_bfd_arch): Move to..
  1146. * elf32-sh.c: ..here, and make static.
  1147. * elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous
  1148. error.
  1149. * elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call
  1150. _bfd_generic_verify_endian_match.
  1151. * elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete.
  1152. (bfd_elf32_bfd_merge_private_bfd_data): Define as
  1153. _bfd_generic_verify_endian_match.
  1154. * elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test
  1155. boolean == FALSE.
  1156. * elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete.
  1157. (bfd_elf32_bfd_merge_private_bfd_data): Don't define.
  1158. * elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete.
  1159. * libbfd-in.h (_bfd_generic_verify_endian_match): Delete.
  1160. * libbfd.c (_bfd_generic_verify_endian_match): Move to..
  1161. * linker.c: ..here, and make internal.
  1162. * bfd.c (bfd_merge_private_bfd_data): Move to..
  1163. * linker.c: ..here.
  1164. * Makefile.in: Regenerate.
  1165. * doc/Makefile.in: Regenerate.
  1166. * bfd-in2.h: Regenerate.
  1167. * libbfd.h: Regenerate.
  1168. 2016-10-06 Alan Modra <amodra@gmail.com>
  1169. * coff-h8300.c: Spell fall through comments consistently.
  1170. * coffgen.c: Likewise.
  1171. * elf32-hppa.c: Likewise.
  1172. * elf32-ppc.c: Likewise.
  1173. * elf32-score.c: Likewise.
  1174. * elf32-score7.c: Likewise.
  1175. * elf64-ppc.c: Likewise.
  1176. * elfxx-aarch64.c: Likewise.
  1177. * elfxx-mips.c: Likewise.
  1178. * cpu-ns32k.c: Add missing fall through comments.
  1179. * elf-m10300.c: Likewise.
  1180. * elf32-arm.c: Likewise.
  1181. * elf32-avr.c: Likewise.
  1182. * elf32-bfin.c: Likewise.
  1183. * elf32-frv.c: Likewise.
  1184. * elf32-i386.c: Likewise.
  1185. * elf32-microblaze.c: Likewise.
  1186. * elf32-nds32.c: Likewise.
  1187. * elf32-ppc.c: Likewise.
  1188. * elf32-rl78.c: Likewise.
  1189. * elf32-rx.c: Likewise.
  1190. * elf32-s390.c: Likewise.
  1191. * elf32-sh.c: Likewise.
  1192. * elf32-tic6x.c: Likewise.
  1193. * elf64-ia64-vms.c: Likewise.
  1194. * elf64-ppc.c: Likewise.
  1195. * elf64-s390.c: Likewise.
  1196. * elf64-x86-64.c: Likewise.
  1197. * elflink.c: Likewise.
  1198. * elfnn-aarch64.c: Likewise.
  1199. * elfnn-ia64.c: Likewise.
  1200. * ieee.c: Likewise.
  1201. * oasys.c: Likewise.
  1202. * pdp11.c: Likewise.
  1203. * srec.c: Likewise.
  1204. * versados.c: Likewise.
  1205. 2016-10-06 Alan Modra <amodra@gmail.com>
  1206. * coffcode.h (coff_slurp_symbol_table): Revert accidental commit
  1207. made 2015-01-08.
  1208. * elf32-nds32.c (nds32_elf_grok_psinfo): Add missing break.
  1209. * reloc.c (bfd_default_reloc_type_lookup): Add missing breaks.
  1210. 2016-10-06 Alan Modra <amodra@gmail.com>
  1211. * elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise
  1212. OR in arithmetic expression, not boolean OR.
  1213. 2016-09-30 Alan Modra <amodra@gmail.com>
  1214. * Makefile.am (BFD_H_FILES): Add linker.c and simple.c. Sort
  1215. as per comment at head of bfd-in2.h.
  1216. * Makefile.in: Regenerate.
  1217. 2016-09-30 Alan Modra <amodra@gmail.com>
  1218. * aout-adobe.c: Replace (*_bfd_error_handler) (...) with
  1219. _bfd_error_handler (...) throughout.
  1220. * aout-cris.c, * aoutx.h, * archive.c, * bfd.c, * binary.c,
  1221. * cache.c, * coff-alpha.c, * coff-arm.c, * coff-h8300.c,
  1222. * coff-i860.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
  1223. * coff-sh.c, * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c,
  1224. * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
  1225. * coffswap.h, * cpu-arm.c, * cpu-m68k.c, * cpu-sh.c, * dwarf2.c,
  1226. * ecoff.c, * elf-eh-frame.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
  1227. * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
  1228. * elf32-cris.c, * elf32-crx.c, * elf32-dlx.c, * elf32-frv.c,
  1229. * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-lm32.c,
  1230. * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
  1231. * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
  1232. * elf32-mips.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c,
  1233. * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
  1234. * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c,
  1235. * elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
  1236. * elf32-v850.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-alpha.c,
  1237. * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
  1238. * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c,
  1239. * elf64-x86-64.c, * elfcode.h, * elfcore.h, * elflink.c,
  1240. * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-mips.c,
  1241. * elfxx-sparc.c, * elfxx-tilegx.c, * hpux-core.c, * i386linux.c,
  1242. * ieee.c, * ihex.c, * libbfd.c, * linker.c, * m68klinux.c,
  1243. * mach-o.c, * merge.c, * mmo.c, * oasys.c, * osf-core.c, * pdp11.c,
  1244. * pe-mips.c, * peXXigen.c, * pef.c, * plugin.c, * reloc.c,
  1245. * rs6000-core.c, * sco5-core.c, * som.c, * sparclinux.c, * srec.c,
  1246. * stabs.c, * syms.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c,
  1247. * xcofflink.c: Likewise.
  1248. 2016-09-30 Alan Modra <amodra@gmail.com>
  1249. * bfd-in.h: Include stdarg.h.
  1250. * bfd.c (bfd_error_handler_type): Make like vprintf.
  1251. (_bfd_error_internal): Rename from _bfd_error_handler. Make static.
  1252. (error_handler_internal): New function, split out from..
  1253. (_bfd_default_error_handler): ..here. Rename to _bfd_error_handler.
  1254. (bfd_set_error_handler): Update.
  1255. (bfd_get_error_handler, bfd_get_assert_handler): Delete.
  1256. (_bfd_assert_handler): Make static.
  1257. * coffgen.c (null_error_handler): Update params.
  1258. * elf-bfd.h (struct elf_backend_data <link_order_error_handler>):
  1259. Don't use bfd_error_handler_type.
  1260. * elf64-mmix.c (mmix_dump_bpo_gregs): Likewise.
  1261. * elfxx-target.h (elf_backend_link_order_error_handler): Default
  1262. to _bfd_error_handler.
  1263. * libbfd-in.h (_bfd_default_error_handler): Don't declare.
  1264. (bfd_assert_handler_type): Likewise.
  1265. (_bfd_error_handler): Update.
  1266. * bfd-in2.h: Regenerate.
  1267. * libbfd.h: Regenerate.
  1268. 2016-09-28 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
  1269. PR ld/20636
  1270. * elf-bfd.h (struct elf_backend_data): Delete
  1271. elf_backend_count_output_relocs callback and add
  1272. elf_backend_update_relocs.
  1273. * elf32-arm.c (elf32_arm_count_output_relocs): Deleted.
  1274. (emit_relocs): Deleted.
  1275. (elf32_arm_emit_relocs): Deleted.
  1276. (elf_backend_emit_relocs): Updated not to use the old functions.
  1277. (elf32_arm_update_relocs): New function.
  1278. (elf_backend_update_relocs): New define.
  1279. * elflink.c (bfd_elf_final_link): Add additional_reloc_count to the
  1280. relocation count. Call elf_backend_emit_relocs.
  1281. (_bfd_elf_size_reloc_section): Do not call
  1282. elf_backend_count_output_relocs.
  1283. * elfxx-target.h (elf_backend_count_output_relocs): Deleted.
  1284. (elf_backend_update_relocs): New define.
  1285. 2016-09-28 Christophe Lyon <christophe.lyon@linaro.org>
  1286. PR ld/20608
  1287. * elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
  1288. Thumb-ARM stub is too far.
  1289. 2016-09-27 Nick Clifton <nickc@redhat.com>
  1290. PR ld/20634
  1291. * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the
  1292. timestamp field if real time values are not being stored.
  1293. 2016-09-26 Vlad Zakharov <vzakhar@synopsys.com>
  1294. * warning.m4 (AC_EGREP_CPP_FOR_BUILD): Introduce macro
  1295. to verify CC_FOR_BUILD compiler.
  1296. (AM_BINUTILS_WARNINGS): Introduce ac_cpp_for_build variable
  1297. and add CC_FOR_BUILD compiler checks.
  1298. * Makefile.in: Regenerate.
  1299. * configure: Likewise.
  1300. * doc/Makefile.in: Likewise.
  1301. 2016-09-26 Awson <kyrab@mail.ru>
  1302. PR ld/17955
  1303. * coff-x86_64.c (coff_amd64_rtype_to_howto): Use an 8 byte offset
  1304. for R_AMD64_PCRQUAD relocations.
  1305. 2016-09-26 Alan Modra <amodra@gmail.com>
  1306. * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare.
  1307. * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function.
  1308. (ppc_elf_merge_obj_attributes): Use it. Don't copy first file
  1309. attributes, merge them. Don't warn about undefined tag bits,
  1310. or copy unknown values to output.
  1311. * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call
  1312. _bfd_elf_ppc_merge_fp_attributes.
  1313. 2016-09-23 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
  1314. PR ld/20595
  1315. * elf-bfd.h (struct elf_backend_data): Add
  1316. elf_backend_count_output_relocs callback to count relocations in
  1317. the final output.
  1318. * elf-arm.c (elf32_arm_add_relocation): Deleted.
  1319. (elf32_arm_write_section): Move additional relocation to emit_relocs.
  1320. (elf32_arm_count_output_relocs): New function.
  1321. (emit_relocs): New function.
  1322. (elf32_arm_emit_relocs): New function.
  1323. (elf32_arm_vxworks_emit_relocs): New function.
  1324. (elf_backend_emit_relocs): Updated to use the new functions.
  1325. (elf_backend_count_output_relocs): New define.
  1326. * bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count
  1327. to the relocation count.
  1328. (_bfd_elf_link_size_reloc_section): Use callback to count the
  1329. relocations which will be in output.
  1330. (_bfd_elf_default_count_output_relocs): New function.
  1331. * bfd/elfxx-target.h (elf_backend_count_output_relocs): New define.
  1332. 2016-09-19 Jose E. Marchesi <jose.marchesi@oracle.com>
  1333. * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Allow
  1334. negative offsets to _GLOBAL_OFFSET_TABLE_ if the .got section is
  1335. bigger than 0x1000 bytes.
  1336. 2016-09-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1337. * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Only mark section
  1338. not already marked.
  1339. 2016-09-14 Nick Clifton <nickc@redhat.com>
  1340. PR binutils/20605
  1341. * peicode.h (pe_bfd_read_buildid): Check that the Data Directory
  1342. contains a valid size for the Debug directory.
  1343. 2016-09-14 Bhushan Attarde <bhushan.attarde@imgtec.com>
  1344. * format.c (struct bfd_preserve): New "build_id" field.
  1345. (bfd_preserve_save): Save "build_id".
  1346. (bfd_preserve_restore): Restore "build_id".
  1347. 2016-09-06 H.J. Lu <hongjiu.lu@intel.com>
  1348. PR ld/20550
  1349. * elf64-x86-64.c (elf_x86_64_relocate_section): Resolve size
  1350. relocation with copy relocation when building executable.
  1351. 2016-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
  1352. PR ld/20545
  1353. * elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter
  1354. delete_shrinks_insn. Modify computation of shrinked_insn_address.
  1355. Compute shrink_boundary and adjust addend only if
  1356. addend_within_shrink_boundary.
  1357. (elf32_avr_relax_section): Modify calls to
  1358. elf32_avr_relax_delete_bytes to pass extra parameter.
  1359. 2016-09-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1360. * elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an
  1361. array of bytes and use bfd_get_16 to interpret its encoding according
  1362. to endianness of target.
  1363. 2016-09-01 Alan Modra <amodra@gmail.com>
  1364. * elf64-ppc.c (synthetic_opd): New static var.
  1365. (compare_symbols): Don't treat symbols in .opd specially for ELFv2.
  1366. (ppc64_elf_get_synthetic_symtab): Likewise. Comment.
  1367. 2016-08-31 Alan Modra <amodra@gmail.com>
  1368. * elf64-ppc.c (group_sections): Delete stub14_group_size. Instead,
  1369. track max group size with a new "group_size" var that is reduced
  1370. by a factor of 1024 from the 24-bit branch size whenever a 14-bit
  1371. branch is seen.
  1372. 2016-08-31 Alan Modra <amodra@gmail.com>
  1373. * elf32-ppc.c (ppc_elf_section_processing): Delete.
  1374. (elf_backend_section_processing): Don't define.
  1375. (ppc_elf_modify_segment_map): Set p_flags and mark valid. Don't
  1376. split on non-exec sections differing in SHF_PPC_VLE. When
  1377. splitting segments, mark size invalid.
  1378. 2016-08-30 Alan Modra <amodra@gmail.com>
  1379. PR 20531
  1380. * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break".
  1381. 2016-08-29 H.J. Lu <hongjiu.lu@intel.com>
  1382. PR ld/14961
  1383. PR ld/20515
  1384. * elf32-i386.c (elf_i386_check_relocs): Issue an error when
  1385. R_386_PC32 relocation is used to call IFUNC function in PIC
  1386. object.
  1387. 2016-08-27 Alan Modra <amodra@gmail.com>
  1388. PR 20520
  1389. * elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections
  1390. have corresponding SHF_GROUP sections.
  1391. (bfd_elf_set_group_contents): Comment.
  1392. 2016-08-27 Alan Modra <amodra@gmail.com>
  1393. PR 20519
  1394. * elf64-ppc.c (pc_dynrelocs): New function.
  1395. (ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
  1396. handle pic dynamic relocs.
  1397. 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1398. * bfd-in.h (struct elf32_arm_params): Define.
  1399. (bfd_elf32_arm_set_target_relocs): Rename into ...
  1400. (bfd_elf32_arm_set_target_params): This. Use a struct
  1401. elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
  1402. * bfd-in2.h: Regenerate.
  1403. * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
  1404. (bfd_elf32_arm_set_target_params): This. Pass all values via a struct
  1405. elf32_arm_params rather than as individual parameters.
  1406. 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1407. * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
  1408. passed the end of htab->stub_group array.
  1409. (elf32_arm_create_or_find_stub_sec): Likewise.
  1410. (elf32_arm_create_stub): Likewise.
  1411. 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
  1412. * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
  1413. to TRUE for GOT and TLS relocs.
  1414. 2016-08-26 Cupertino Miranda <cmiranda@synospsys.com>
  1415. * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
  1416. 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
  1417. * elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
  1418. * elf32-arc.c (struct elf_arc_link_hash_entry): Added.
  1419. (struct elf_arc_link_hash_table): Likewise.
  1420. (elf_arc_link_hash_newfunc): Likewise.
  1421. (elf_arc_link_hash_table_free): Likewise.
  1422. (arc_elf_link_hash_table_create): Likewise.
  1423. (elf_arc_relocate_section): Fixed conditions related to dynamic
  1424. (elf_arc_check_relocs): Likewise.
  1425. (arc_elf_create_dynamic_sections): Added
  1426. (elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
  1427. through the hash table.
  1428. 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
  1429. * arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
  1430. debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
  1431. relocation.
  1432. 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
  1433. * reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
  1434. relocation.
  1435. * bfd-in2.h: Regenerated from the previous changes.
  1436. * libbfd.h: Regenerated from the previous changes.
  1437. 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1438. * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
  1439. the input import library bfd.
  1440. * bfd-in2.h: Regenerate.
  1441. * elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
  1442. and new_cmse_stub_offset fields.
  1443. (stub_hash_newfunc): Initialize stub_offset and stub_template_size to
  1444. -1.
  1445. (elf32_arm_add_stub): Likewise for stub_offset.
  1446. (arm_new_stubs_start_offset_ptr): New function.
  1447. (arm_build_one_stub): Only allocate a stub_offset if it is -1. Allow
  1448. empty SG veneers to have zero relocations.
  1449. (arm_size_one_stub): Only initialize stub size and template
  1450. information for non empty veneers. Do not update veneer section size
  1451. if veneer already has an offset.
  1452. (elf32_arm_create_stub): Return the stub entry pointer or NULL instead
  1453. of a boolean indicating success or failure.
  1454. (cmse_scan): Change stub_changed parameter into an integer pointer
  1455. parameter cmse_stub_created to count the number of stub created and
  1456. adapt to change of return value in elf32_arm_create_stub.
  1457. (cmse_entry_fct_p): New function.
  1458. (arm_list_new_cmse_stub): Likewise.
  1459. (set_cmse_veneer_addr_from_implib): Likewise.
  1460. (elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
  1461. cmse_scan instead of that of cmse_stub_changed to compute the number
  1462. of stub created and use it to initialize stub_changed. Call
  1463. set_cmse_veneer_addr_from_implib after all cmse_scan. Adapt to change
  1464. of return value in elf32_arm_create_stub. Use
  1465. arm_stub_section_start_offset () if not NULL to initialize size of
  1466. secure gateway veneers section. Initialize stub_offset of Cortex-A8
  1467. erratum fix to -1. Use ret to hold return value.
  1468. (elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
  1469. NULL to initialize size of secure gateway veneers section. Adapt
  1470. comment to stress the importance of zeroing veneer section content.
  1471. (bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
  1472. initialize eponymous field in struct elf32_arm_link_hash_table.
  1473. 2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
  1474. * elf32-s390.c (stdarg.h): New include.
  1475. (elf_s390_grok_psinfo): New function.
  1476. (elf_s390_write_core_note): New function.
  1477. (elf_backend_grok_psinfo): Declare backend hook.
  1478. (elf_backend_write_core_note): Likewise.
  1479. * elf64-s390.c (stdarg.h): New include.
  1480. (elf_s390_grok_prstatus): New function.
  1481. (elf_s390_grok_psinfo): New function.
  1482. (elf_s390_write_core_note): New function.
  1483. (elf_backend_grok_prstatus): Declare backend hook.
  1484. (elf_backend_grok_psinfo): Likewise.
  1485. (elf_backend_write_core_note): Likewise.
  1486. 2016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
  1487. * elf32-s390.c (allocate_dynrelocs): Fix indentation.
  1488. (elf_s390_finish_ifunc_symbol): Likewise.
  1489. (elf_s390_finish_dynamic_symbol): Likewise.
  1490. (elf_s390_finish_dynamic_sections): Likewise.
  1491. (elf_s390_grok_prstatus): Likewise.
  1492. * elf64-s390.c (elf_s390_hash_table): Fix indentation.
  1493. (elf_s390_finish_dynamic_symbol): Likewise.
  1494. 2016-08-24 Anton Kolesov <Anton.Kolesov@synopsys.com>
  1495. * elf32-arc.c (elf32_arc_grok_prstatus): New function.
  1496. 2016-08-23 Nick Clifton <nickc@redhat.com>
  1497. * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
  1498. there is no arm data associated with the section.
  1499. 2016-08-23 Alan Modra <amodra@gmail.com>
  1500. PR 20475
  1501. * elf32-or1k.c (or1k_elf_relocate_section): Offset from
  1502. _GLOBAL_OFFSET_TABLE_, not start of .got section.
  1503. 2016-08-22 Nick Clifton <nickc@redhat.com>
  1504. * doc/chew.c (main): Free the string buffer used to files as they
  1505. are parsed.
  1506. 2016-08-22 Alan Modra <amodra@gmail.com>
  1507. * elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
  1508. (ppc_elf_relocate_section): ..to here. Comment. Error on
  1509. detecting -mbss-plt -fPIC local ifuncs too.
  1510. (ppc_elf_size_dynamic_sections): Comment on unnecessary glink
  1511. branch table entries.
  1512. 2016-08-19 Nick Clifton <nickc@redhat.com>
  1513. * elf.c (assign_section_numbers): Assign number for the .shstrtab
  1514. section after the symbol table and string table sections.
  1515. 2016-08-19 Alan Modra <amodra@gmail.com>
  1516. * elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
  1517. (ppc64_elf_copy_indirect_symbol): Set weakref. Don't merge
  1518. dyn_relocs for weakdefs.
  1519. (alias_readonly_dynrelocs): New function.
  1520. (ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
  1521. (ppc64_elf_relocate_section): Simplify condition under which
  1522. dyn_relocs are emitted.
  1523. 2016-08-19 Alan Modra <amodra@gmail.com>
  1524. PR 20472
  1525. * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
  1526. (readonly_dynrelocs): Comment fix.
  1527. (global_entry_stub): New function.
  1528. (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match
  1529. ELFv2 code deciding on dynamic relocs vs. global entry stubs to
  1530. that in size_global_entry_stubs, handling ifunc too. Delete dead
  1531. weak sym code.
  1532. (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
  1533. dyn_relocs are needed. Correct handling of ifunc dyn_relocs.
  1534. Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
  1535. undefweak syms. Expand and correct comments.
  1536. (size_global_entry_stubs): Ensure symbol is defined.
  1537. (ppc64_elf_relocate_section): Match condition under which
  1538. dyn_relocs are emitted to that in allocate_dynrelocs.
  1539. 2016-08-12 Alan Modra <amodra@gmail.com>
  1540. * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
  1541. * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
  1542. (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
  1543. 2016-08-11 Alan Modra <amodra@gmail.com>
  1544. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
  1545. non_got_ref true in any case where we could have generated dynbss
  1546. copies but decide not to do so.
  1547. 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
  1548. * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
  1549. the stub address retrieved if associated with a microMIPS
  1550. function.
  1551. 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
  1552. * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
  1553. stub also add STO_MICROMIPS annotation.
  1554. 2016-08-10 Maciej W. Rozycki <macro@imgtec.com>
  1555. * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
  1556. in microMIPS LA25 stub references.
  1557. 2016-08-09 Jiaming Wei <jmwei@hxgpt.com>
  1558. * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
  1559. adjusting the use_count of merged .got entries.
  1560. 2016-08-08 Nick Clifton <nickc@redhat.com>
  1561. * doc/chew.c (delete_string): Only free the string buffer if it is
  1562. there. Mark the buffer as NULL after freeing.
  1563. (drop): Free the dropped string.
  1564. (free_words): New function: Frees the memory allocated to the
  1565. dictionary.
  1566. (add_instrinsic): Duplicate the name string, so that it can be
  1567. freed later on.
  1568. (compile): Free unused words.
  1569. (main): Free the dictionary and top level string buffers at the
  1570. end.
  1571. 2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1572. * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
  1573. * bfd-in2.h: Regenerate.
  1574. * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
  1575. cmse_implib field.
  1576. (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
  1577. cmse_implib field in struct elf32_arm_link_hash_table.
  1578. (elf32_arm_filter_cmse_symbols): New function.
  1579. (elf32_arm_filter_implib_symbols): Likewise.
  1580. (elf_backend_filter_implib_symbols): Define to
  1581. elf32_arm_filter_implib_symbols.
  1582. 2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1583. * elf32-arm.c (CMSE_PREFIX): Define macro.
  1584. (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
  1585. (cmse_branch_thumb_only): Declare stub.
  1586. (struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
  1587. (elf32_arm_get_plt_info): Add globals parameter. Use it to return
  1588. FALSE if there is no PLT.
  1589. (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
  1590. (elf32_arm_final_link_relocate): Likewise.
  1591. (elf32_arm_gc_sweep_hook): Likewise.
  1592. (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
  1593. secure entry functions.
  1594. (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
  1595. (arm_dedicated_stub_output_section_required): Change to a switch case
  1596. and add a case for arm_stub_cmse_branch_thumb_only.
  1597. (arm_dedicated_stub_output_section_required_alignment): Likewise.
  1598. (arm_stub_dedicated_output_section_name): Likewise.
  1599. (arm_stub_dedicated_input_section_ptr): Likewise and remove
  1600. ATTRIBUTE_UNUSED for htab parameter.
  1601. (arm_stub_required_alignment): Likewise.
  1602. (arm_stub_sym_claimed): Likewise.
  1603. (arm_dedicated_stub_section_padding): Likewise.
  1604. (cmse_scan): New function.
  1605. (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
  1606. Set stub_changed to TRUE if such veneers were created.
  1607. (elf32_arm_swap_symbol_in): Add detection code for CMSE special
  1608. symbols.
  1609. 2016-08-02 Alan Modra <amodra@gmail.com>
  1610. PR ld/20428
  1611. * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
  1612. 2016-08-02 Nick Clifton <nickc@redhat.com>
  1613. PR ld/17739
  1614. * elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
  1615. (elf_backend_sweep_hook): Delete.
  1616. 2016-08-01 Andrew Jenner <andrew@codesourcery.com>
  1617. Kwok Cheung Yeung <kcy@codesourcery.com>
  1618. * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
  1619. (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
  1620. (ppc_elf_vle_split16): Clear field before inserting.
  1621. 2016-08-01 Nick Clifton <nickc@redhat.com>
  1622. * po/sv.po: Updated Swedish translation.
  1623. 2016-07-27 Ozkan Sezer <sezeroz@gmail.com>
  1624. Nick Clifton <nickc@redhat.com>
  1625. PR ld/20401
  1626. * coffgen.c (fini_reloc_cookie_rels): Check for the extistence
  1627. of the coff_section_data before using it.
  1628. 2016-07-26 Maciej W. Rozycki <macro@imgtec.com>
  1629. * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
  1630. in PLT compression selection.
  1631. (_bfd_mips_elf_check_relocs): Likewise.
  1632. 2016-07-22 Cupertino Miranda <cmiranda@synopsys.com>
  1633. * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
  1634. case where there's no elf_link_hash_entry while processing
  1635. GOT_NORMAL got entries.
  1636. 2016-07-21 H.J. Lu <hongjiu.lu@intel.com>
  1637. * version.m4 (BFD_VERSION): Set to 2.27.51.
  1638. * configure: Regenerated.
  1639. 2016-07-21 Nick Clifton <nickc@redhat.com>
  1640. * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
  1641. (swap_out_syms): Return an error when not finding ELF output
  1642. section rather than asserting.
  1643. 2016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1644. * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
  1645. 2016-07-20 John Baldwin <jhb@FreeBSD.org>
  1646. * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
  1647. and handle pr_pid if present.
  1648. 2016-07-20 H.J. Lu <hongjiu.lu@intel.com>
  1649. PR ld/20376
  1650. * elf.c (assign_file_positions_for_load_sections): Also check
  1651. p_paddr for program header space.
  1652. 2016-07-20 Alan Modra <amodra@gmail.com>
  1653. * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
  1654. ppc64_elf_unhandled_reloc for special_function.
  1655. * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
  1656. 2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
  1657. * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
  1658. BAL to JALX.
  1659. (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
  1660. corresponding error message.
  1661. 2016-07-19 Maciej W. Rozycki <macro@imgtec.com>
  1662. * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
  1663. R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
  1664. (branch_reloc_p): New function.
  1665. (mips_elf_calculate_relocation): Handle ISA mode determination
  1666. for relocations against section symbols, against absolute
  1667. symbols and absolute relocations. Also set `*cross_mode_jump_p'
  1668. for branches.
  1669. <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
  1670. checks for weak undefined symbols. Also check target alignment
  1671. within the same ISA mode.
  1672. <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
  1673. in the alignment check.
  1674. <R_MICROMIPS_PC7_S1>: Add an alignment check.
  1675. <R_MICROMIPS_PC10_S1>: Likewise.
  1676. <R_MICROMIPS_PC16_S1>: Likewise.
  1677. (mips_elf_perform_relocation): Report a failure for unsupported
  1678. same-mode JALX instructions and cross-mode branches.
  1679. (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
  1680. error messages for jumps to misaligned addresses.
  1681. 2016-07-16 Alan Modra <amodra@gmail.com>
  1682. * elflink.c: Include plugin-api.h.
  1683. * plugin.c (bfd_plugin_open_input): New function, extracted from..
  1684. (try_claim): ..here.
  1685. * plugin.h: Don't include bfd.h.
  1686. (bfd_plugin_open_input): Declare.
  1687. 2016-07-16 Alan Modra <amodra@gmail.com>
  1688. * targets.c (bfd_seach_for_target): Rename to..
  1689. (bfd_iterate_over_targets): ..this. Rewrite doc.
  1690. * bfd-in2.h: Regenerate.
  1691. 2016-07-16 Alan Modra <amodra@gmail.com>
  1692. * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
  1693. * libbfd.h: Regenerate.
  1694. * bfd-in2.h: Regenerate.
  1695. 2016-07-16 Alan Modra <amodra@gmail.com>
  1696. * libbfd-in.h (BFD_ALIGN): Move to..
  1697. * bfd-in.h: ..here.
  1698. * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
  1699. * elf32-ppc.c (default_params): Adjust init.
  1700. (ppc_elf_link_params): Set pagesize_p2.
  1701. * libbfd.h: Regenerate.
  1702. * bfd-in2.h: Regenerate.
  1703. 2016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1704. * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
  1705. (_bfd_elf_filter_global_symbols): Declare.
  1706. * elf.c (_bfd_elf_filter_global_symbols): New function.
  1707. * elflink.c (elf_filter_global_symbols): Likewise.
  1708. (elf_output_implib): Likewise.
  1709. (bfd_elf_final_link): Call above function, failing if it does.
  1710. * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
  1711. default it to NULL.
  1712. (elf_backend_copy_indirect_symbol): Fix spacing.
  1713. (elf_backend_hide_symbol): Likewise.
  1714. (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
  1715. 2016-07-15 Andrew Burgess <andrew.burgess@embecosm.com>
  1716. Nick Clifton <nickc@redhat.com>
  1717. * elf32-arc.c (PR_DEBUG): Delete.
  1718. Fix printing of debug information. Fix formatting of debug
  1719. statements.
  1720. (debug_arc_reloc): Handle symbols that are not from an input file.
  1721. (arc_do_relocation): Remove excessive exclamation points.
  1722. * arc-got.h: Fix formatting. Fix printing of debug information.
  1723. (new_got_entry_to_list): Use xmalloc.
  1724. * config.bfd: use the big-endian arc vector as the default vector
  1725. for big-endian arc targets.
  1726. 2016-07-15 Alan Modra <amodra@gmail.com>
  1727. * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
  1728. from marking sym_indices.
  1729. 2016-07-14 Maciej W. Rozycki <macro@imgtec.com>
  1730. * reloc.c (bfd_perform_relocation): Try the `howto' handler
  1731. first with relocations against absolute symbols.
  1732. (bfd_install_relocation): Likewise.
  1733. 2016-07-12 H.J. Lu <hongjiu.lu@intel.com>
  1734. * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
  1735. .got/.got.plt sections to 8 bytes.
  1736. 2016-07-12 Nick Clifton <nickc@redhat.com>
  1737. * binary.c (binary_set_section_contents): Second grammar fix.
  1738. 2016-07-12 Douglas B Rupp <rupp@adacore.com>
  1739. * binary.c (binary_set_section_contents): Fix grammar in warning
  1740. message.
  1741. 2016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
  1742. * elf32-arc.c: made PR_DEBUG always defined.
  1743. 2016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
  1744. * arc-got.h: Moved got related structures from elf32-arc.c to
  1745. this file. More precisely, tls_type_e, tls_got_entries, got_entry.
  1746. * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
  1747. tls_type_for_reloc, symbol_has_entry_of_type,
  1748. get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
  1749. ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
  1750. relocate_fix_got_relocs_for_got_info,
  1751. create_got_dynrelocs_for_single_entry,
  1752. create_got_dynrelocs_for_got_info): Added to file.
  1753. * elf32-arc.c: Removed GOT & TLS related structs and functions to
  1754. arc-got.h.
  1755. 2016-07-08 James Bowman <james.bowman@ftdichip.com>
  1756. * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
  1757. 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
  1758. * elf32-arm.c (THUMB32_MOVT): New veneer macro.
  1759. (THUMB32_MOVW): Likewise.
  1760. (elf32_arm_stub_long_branch_thumb2_only_pure): New.
  1761. (DEF_STUBS): Define long_branch_thumb2_only_pure.
  1762. (arm_stub_is_thumb): Add new veneer stub.
  1763. (arm_type_of_stub): Use new veneer.
  1764. (arm_stub_required_alignment): Add new veneer.
  1765. 2016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
  1766. * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
  1767. (SEC_ELF_PURECODE): ... this.
  1768. * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
  1769. to SEC_ELF_NOREAD.
  1770. (elf32_arm_fake_sections): Likewise.
  1771. (elf_32_arm_section_flags): Likewise.
  1772. (elf_32_arm_lookup_section_flags): Likewise.
  1773. * section.c (SEC_ELF_NOREAD): Rename to ...
  1774. (SEC_ELF_PURECODE): ... this.
  1775. 2016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1776. * elf32-arm.c (using_thumb2_bl): New function.
  1777. (arm_type_of_stub): Declare thumb2 variable together and change type
  1778. to bfd_boolean. Use using_thumb2_bl () to determine whether
  1779. THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
  1780. checked for BL range.
  1781. (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
  1782. the bit size of BL offset.
  1783. 2016-06-29 Nick Clifton <nickc@redhat.com>
  1784. * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
  1785. Returns TRUE for AArch64 mapping symbols.
  1786. (elfNN_aarch64_backend_symbol_processing): New function. Marks
  1787. mapping symbols as precious in object files so that they will not
  1788. be stripped.
  1789. (elf_backend_symbol_processing): Define.
  1790. * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE
  1791. for ARM mapping symbols.
  1792. (elf32_arm_backend_symbol_processing): Make use of the new function.
  1793. 2016-06-28 H.J. Lu <hongjiu.lu@intel.com>
  1794. PR ld/20306
  1795. * elflink.c (elf_link_check_versioned_symbol): Return false
  1796. for unreferenced undefined symbol.
  1797. 2016-06-28 Nick Clifton <nickc@redhat.com>
  1798. * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
  1799. is needed.
  1800. * elf32-arm.c (elf32_arm_backend_symbol_processing): New
  1801. function. Marks mapping symbols in object files as precious, so
  1802. that strip will not remove them.
  1803. (elf_backend_symbol_processing): Define.
  1804. 2016-06-28 James Clarke <jrtc27@jrtc27.com>
  1805. * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
  1806. R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
  1807. 2016-06-28 Maciej W. Rozycki <macro@imgtec.com>
  1808. * elf32-mips.c (elf_mips16_howto_table_rel): Add
  1809. R_MIPS16_PC16_S1.
  1810. (mips16_reloc_map): Likewise.
  1811. * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
  1812. (mips16_elf64_howto_table_rela): Likewise.
  1813. (mips16_reloc_map): Likewise.
  1814. * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
  1815. (elf_mips16_howto_table_rela): Likewise.
  1816. (mips16_reloc_map): Likewise.
  1817. * elfxx-mips.c (mips16_branch_reloc_p): New function.
  1818. (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
  1819. (b_reloc_p): Likewise.
  1820. (mips_elf_calculate_relocation): Likewise.
  1821. (_bfd_mips_elf_check_relocs): Likewise.
  1822. * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
  1823. * bfd-in2.h: Regenerate.
  1824. * libbfd.h: Regenerate.
  1825. 2016-06-27 Alan Modra <amodra@gmail.com>
  1826. PR ld/19264
  1827. * elf64-ppc.c (STUB_SHRINK_ITER): Define.
  1828. (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
  1829. if shrinking stubs.
  1830. (ppc64_elf_size_stubs): Adjust to suit.
  1831. 2016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
  1832. * elf32-dlx.h: New file.
  1833. * elf32-dlx.c: Adjust.
  1834. 2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
  1835. * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
  1836. 2016-06-24 John Baldwin <jhb@FreeBSD.org>
  1837. * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
  1838. notes.
  1839. 2016-06-24 John Baldwin <jhb@FreeBSD.org>
  1840. * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
  1841. FreeBSD. Remove case for NT_FREEBSD_THRMISC.
  1842. (elfcore_grok_freebsd_psinfo): New function.
  1843. (elfcore_grok_freebsd_prstatus): New function.
  1844. (elfcore_grok_freebsd_note): New function.
  1845. (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
  1846. notes.
  1847. 2016-06-24 Joel Brobecker <brobecker@adacore.com>
  1848. * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
  1849. than its existance.
  1850. 2016-06-24 Alan Modra <amodra@gmail.com>
  1851. * config.bfd: Delete mips vxworks patterns matched earlier.
  1852. Combine mips*-*-none with mips*-*-elf*.
  1853. 2016-06-21 Maciej W. Rozycki <macro@imgtec.com>
  1854. * elfxx-mips.c (mips_elf_perform_relocation): Call
  1855. `info->callbacks->einfo' rather than `*_bfd_error_handler' and
  1856. use the `%X%H' format for the cross-mode jump conversion error
  1857. message. Remove the full stop from the end of the message.
  1858. Continue processing rather than returning failure.
  1859. 2016-06-21 Graham Markall <graham.markall@embecosm.com>
  1860. * archures.c: Remove bfd_mach_arc_nps400.
  1861. * bfd-in2.h: Likewise.
  1862. * cpu-arc.c (arch_info_struct): Likewise.
  1863. * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
  1864. Likewise.
  1865. 2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
  1866. PR ld/18250
  1867. PR ld/20267
  1868. * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
  1869. defined.
  1870. (elf_link_is_defined_archive_symbol): Call
  1871. bfd_link_plugin_object_p on unknown plugin object and use the
  1872. IR symbol table if the input is an IR object.
  1873. * plugin.c (bfd_link_plugin_object_p): New function.
  1874. * plugin.h (bfd_link_plugin_object_p): New prototype.
  1875. 2016-06-20 H.J. Lu <hongjiu.lu@intel.com>
  1876. PR ld/20276
  1877. * elflink.c (elf_link_add_object_symbols): Don't check alignment
  1878. on symbol from plugin dummy input.
  1879. 2016-06-18 H.J. Lu <hongjiu.lu@intel.com>
  1880. * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
  1881. bfd_plugin_unknown.
  1882. * bfd-in2.h: Regenerated.
  1883. * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
  1884. with bfd_plugin_unknown.
  1885. 2016-06-18 H.J. Lu <hongjiu.lu@intel.com>
  1886. PR ld/20253
  1887. * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
  1888. bfd_boolean argument.
  1889. * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
  1890. "shared object" with "PIC object" in comments.
  1891. (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace
  1892. "shared object" with "PIC object" in comments. Avoid PLT if
  1893. requested. Generate dynamic relocations for non-GOT references.
  1894. Make room for the special first entry in PLT and allocate PLT
  1895. entry only for PLT and PC-relative references. Store dynamic
  1896. GOT relocations in .rel[a].iplt section for static executables.
  1897. If PLT isn't used, always use GOT for symbol value. Don't
  1898. allocate GOT entry if it isn't used.
  1899. * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
  1900. count only in the code section. Allocate dynamic pointer
  1901. relocation against STT_GNU_IFUNC symbol in the non-code section.
  1902. (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
  1903. only for PC-relative references.
  1904. (elf_i386_allocate_dynrelocs): Pass TRUE to
  1905. _bfd_elf_allocate_ifunc_dyn_relocs.
  1906. (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
  1907. relocations against STT_GNU_IFUNC symbols without PLT. Generate
  1908. dynamic pointer relocation against STT_GNU_IFUNC symbol in
  1909. the non-code section and store it in the proper REL section.
  1910. Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
  1911. without PLT.
  1912. (elf_i386_finish_dynamic_symbol): Generate dynamic
  1913. R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
  1914. STT_GNU_IFUNC symbols without PLT.
  1915. (elf_i386_finish_dynamic_sections): Don't handle local
  1916. STT_GNU_IFUNC symbols here.
  1917. (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
  1918. symbols here.
  1919. (elf_backend_output_arch_local_syms): New.
  1920. * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
  1921. count only in the code section. Allocate dynamic pointer
  1922. relocation against STT_GNU_IFUNC symbol in the non-code section.
  1923. (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
  1924. count only for PC-relative references.
  1925. (elf_x86_64_allocate_dynrelocs): Pass TRUE to
  1926. _bfd_elf_allocate_ifunc_dyn_relocs.
  1927. (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
  1928. R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
  1929. R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
  1930. without PLT. Generate dynamic pointer relocation against
  1931. STT_GNU_IFUNC symbol in the non-code section and store it in
  1932. the proper RELA section. Don't allow non-pointer relocation
  1933. against STT_GNU_IFUNC symbol without PLT.
  1934. (elf_x86_64_finish_dynamic_symbol): Generate dynamic
  1935. R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
  1936. STT_GNU_IFUNC symbols without PLT.
  1937. (elf_x86_64_finish_dynamic_sections): Don't handle local
  1938. STT_GNU_IFUNC symbols here.
  1939. (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
  1940. symbols here.
  1941. (elf_backend_output_arch_local_syms): New.
  1942. * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
  1943. Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
  1944. 2016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
  1945. Tony Wang <tony.wang@arm.com>
  1946. * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
  1947. sequence.
  1948. (stub_long_branch_thumb2_only): Define stub.
  1949. (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
  1950. (arm_stub_long_branch_thumb2_only): Likewise.
  1951. (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
  1952. capable targets.
  1953. 2016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
  1954. * archures.c (bfd_mach_sparc_v8plusc): Define.
  1955. (bfd_mach_sparc_v9c): Likewise.
  1956. (bfd_mach_sparc_v8plusd): Likewise.
  1957. (bfd_mach_sparc_v9d): Likewise.
  1958. (bfd_mach_sparc_v8pluse): Likewise.
  1959. (bfd_mach_sparc_v9e): Likewise.
  1960. (bfd_mach_sparc_v8plusv): Likewise
  1961. (bfd_mach_sparc_v9v): Likewise.
  1962. (bfd_mach_sparc_v8plusm): Likewise.
  1963. (bfd_mach_sparc_v9m): Likewise.
  1964. (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
  1965. (bfd_mach_sparc_64bit_p): Likewise.
  1966. * bfd-in2.h: Regenerate.
  1967. * cpu-sparc.c (arch_info_struct): Add entries for
  1968. bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
  1969. * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
  1970. and bfd_mach_sparc_v9{c,d,e,v,m}.
  1971. * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
  1972. * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
  1973. 2016-06-16 H.J. Lu <hongjiu.lu@intel.com>
  1974. * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
  1975. symbols for relocations against IFUNC symbols.
  1976. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
  1977. 2016-06-16 Marcin Kościelnicki <koriakin@0x04.net>
  1978. * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
  1979. .rela.iplt in DT_PLTRELSZ.
  1980. * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
  1981. for DT_PLTRELSZ and DT_RELASZ as well.
  1982. 2016-06-16 H.J. Lu <hongjiu.lu@intel.com>
  1983. * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
  1984. non-loaded, non-alloced sections.
  1985. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
  1986. 2016-06-15 H.J. Lu <hongjiu.lu@intel.com>
  1987. * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
  1988. allocating dynamic relocation.
  1989. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
  1990. 2016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
  1991. PR ld/20254
  1992. * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
  1993. offsets until reloc_toaddr.
  1994. 2016-06-14 H.J. Lu <hongjiu.lu@intel.com>
  1995. * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
  1996. Don't check symbol type for STN_UNDEF symbol index.
  1997. * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
  1998. R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
  1999. index.
  2000. 2016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2001. * elf32-arm.c (using_thumb_only): Force review of arch check logic for
  2002. new architecture.
  2003. (using_thumb2): Try Tag_THUMB_ISA_use first and check
  2004. for exact arch value then. Force review of arch check logic for new
  2005. architecture.
  2006. (arch_has_arm_nop): Update and fix arch check logic. Force review of
  2007. that logic for new architecture.
  2008. (arch_has_thumb2_nop): Remove.
  2009. (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
  2010. (elf32_arm_final_link_relocate): Likewise but using thumb2.
  2011. 2016-06-14 Alan Modra <amodra@gmail.com>
  2012. * bfd-in.h (bfd_my_archive): Delete.
  2013. * bfd-in2.h: Regenerate.
  2014. 2016-06-14 Alan Modra <amodra@gmail.com>
  2015. PR ld/20241
  2016. * archive.c (open_nested_file): Set my_archive.
  2017. * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
  2018. for thin archives.
  2019. * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
  2020. (bfd_seek): Likewise.
  2021. * bfdwin.c (bfd_get_file_window): Likewise.
  2022. * cache.c (cache_bmmap): Likewise.
  2023. (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
  2024. * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
  2025. thin archives.
  2026. * plugin.c (try_claim): Likewise.
  2027. * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
  2028. file within thin archive, not the archive.
  2029. 2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
  2030. PR ld/20244
  2031. * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
  2032. section address for R_386_GOT32/R_386_GOT32X relocations against
  2033. IFUNC symbols if there is no base register and return error for
  2034. PIC.
  2035. 2016-06-13 H.J. Lu <hongjiu.lu@intel.com>
  2036. * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
  2037. GOT32 adjustment for static executables.
  2038. 2016-06-13 Maciej W. Rozycki <macro@imgtec.com>
  2039. * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
  2040. 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
  2041. * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
  2042. 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
  2043. * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
  2044. 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
  2045. * elf32-arc.c (arc_local_data, arc_local_data): Removed.
  2046. (SECTSTART): Changed.
  2047. (elf_arc_relocate_section): Fixed mistake in PIE related
  2048. condition.
  2049. (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
  2050. 2016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
  2051. * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
  2052. enable support for "-z combreloc" and DT_RELACOUNT.
  2053. (elf_backend_reloc_type_class): Likewise
  2054. 2016-06-11 H.J. Lu <hongjiu.lu@intel.com>
  2055. PR ld/20244
  2056. * elf32-i386.c (elf_i386_relocate_section): When relocating
  2057. R_386_GOT32, return error without a base register for PIC and
  2058. subtract the .got.plt section address only with a base register.
  2059. 2016-06-10 Alan Modra <amodra@gmail.com>
  2060. * elf-strtab.c (struct strtab_save): Use size_t for "size".
  2061. (struct elf_strtab_hash): Likewise for "size" and "alloced".
  2062. (_bfd_elf_strtab_init): Formatting.
  2063. (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
  2064. (_bfd_elf_strtab_addref): Take size_t idx param.
  2065. (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
  2066. (_bfd_elf_strtab_offset): Likewise.
  2067. (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
  2068. (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
  2069. (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
  2070. (_bfd_elf_strtab_finalize): Similarly.
  2071. * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
  2072. (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
  2073. (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
  2074. * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
  2075. using bfd_size_type.
  2076. (bfd_section_from_shdr): Delete amt.
  2077. (_bfd_elf_init_reloc_shdr): Likewise.
  2078. (_bfd_elf_link_assign_sym_version): Likewise.
  2079. (assign_section_numbers): Use size_t reloc_count.
  2080. * elflink.c (struct elf_symbuf_head): Use size_t "count".
  2081. (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
  2082. (elf_link_is_defined_archive_symbol): Likewise.
  2083. (elf_add_dt_needed_tag): Likewise.
  2084. (elf_finalize_dynstr): Likewise.
  2085. (elf_link_add_object_symbols): Likewise.
  2086. (bfd_elf_size_dynamic_sections): Likewise.
  2087. (elf_create_symbuf): Similarly.
  2088. (bfd_elf_match_symbols_in_sections): Likewise.
  2089. (elf_link_swap_symbols_out): Likewise.
  2090. (elf_link_check_versioned_symbol): Likewise.
  2091. (bfd_elf_gc_record_vtinherit): Likewise.
  2092. (bfd_elf_gc_common_finalize_got_offsets): Likewise.
  2093. 2016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
  2094. PR ld/20221
  2095. * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
  2096. and relocs only if shrinking occurred.
  2097. 2016-06-08 H.J. Lu <hongjiu.lu@intel.com>
  2098. * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
  2099. (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
  2100. (elf_i386_check_tls_transition): Check indirect call and direct
  2101. call with the addr32 prefix for general and local dynamic models.
  2102. Set the tls_get_addr feild.
  2103. (elf_i386_convert_load_reloc): Always use addr32 prefix for
  2104. indirect ___tls_get_addr call via GOT.
  2105. (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
  2106. transitions with indirect call and direct call with the addr32
  2107. prefix.
  2108. 2016-06-07 Marcin Kościelnicki <koriakin@0x04.net>
  2109. * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
  2110. * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
  2111. (elf_s390_relocate_section): Fix comment.
  2112. (elf_s390_finish_dynamic_sections): Fix initialization of fixed
  2113. .got.plt entries.
  2114. 2016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
  2115. * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
  2116. section offset when calculation the larl operand in the first PLT
  2117. entry.
  2118. 2016-06-07 Alan Modra <amodra@gmail.com>
  2119. * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
  2120. to match other 32-bit archs.
  2121. * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
  2122. (ppc_elf_object_p): Call it.
  2123. (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
  2124. overlong line.
  2125. (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
  2126. * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
  2127. * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
  2128. _bfd_elf_ppc_at_tprel_transform): Move to..
  2129. * elf-bfd.h: ..here.
  2130. (_bfd_elf_ppc_set_arch): Declare.
  2131. * bfd-in2.h: Regenerate.
  2132. 2016-06-06 H.J. Lu <hongjiu.lu@intel.com>
  2133. * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
  2134. (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
  2135. (elf_x86_64_check_tls_transition): Check indirect call and
  2136. direct call with the addr32 prefix for general and local dynamic
  2137. models. Set the tls_get_addr feild.
  2138. (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
  2139. indirect __tls_get_addr call via GOT.
  2140. (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
  2141. transitions with indirect call and direct call with the addr32
  2142. prefix.
  2143. 2016-06-04 Christian Groessler <chris@groessler.org>
  2144. * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
  2145. 2016-06-02 Nick Clifton <nickc@redhat.com>
  2146. PR target/20088
  2147. * cpu-arm.c (processors): Add "arm_any" type to match any ARM
  2148. architecture.
  2149. (arch_info_struct): Likewise.
  2150. (architectures): Likewise.
  2151. 2016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
  2152. * config.bfd: Replace -uclibc with *.
  2153. 2016-06-02 H.J. Lu <hongjiu.lu@intel.com>
  2154. * elf64-x86-64.c: Replace data32 with data16 in comments.
  2155. 2016-05-31 Alan Modra <amodra@gmail.com>
  2156. PR ld/20159
  2157. PR ld/16467
  2158. * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
  2159. (_bfd_elf_add_default_symbol): Don't indirect to/from defined
  2160. symbol given a version by a script different to the version
  2161. of the symbol being added.
  2162. (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
  2163. _bfd_elf_strtab_restore. Don't fudge dynstr references.
  2164. * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
  2165. (struct strtab_save): New.
  2166. (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
  2167. * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
  2168. (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
  2169. 2016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
  2170. * elf32-hppa.h: Add extern "C".
  2171. * elf32-nds32.h: Likewise.
  2172. * elf32-tic6x.h: Likewise.
  2173. 2016-06-01 Nick Clifton <nickc@redhat.com>
  2174. * po/sr.po: New Serbian translation.
  2175. * configure.ac (ALL_LINGUAS): Add sr.
  2176. * configure: Regenerate.
  2177. 2016-05-28 Maciej W. Rozycki <macro@imgtec.com>
  2178. * elfxx-mips.c (b_reloc_p): New function.
  2179. (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
  2180. branch relocations.
  2181. 2016-05-28 Maciej W. Rozycki <macro@imgtec.com>
  2182. * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
  2183. <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
  2184. reloc location from calculation, treat the addend as signed with
  2185. local non-section symbols and enable overflow detection.
  2186. 2016-05-28 Alan Modra <amodra@gmail.com>
  2187. * aoutx.h: Adjust linker callback calls throughout file,
  2188. removing dead code.
  2189. * bout.c: Likewise.
  2190. * coff-alpha.c: Likewise.
  2191. * coff-arm.c: Likewise.
  2192. * coff-h8300.c: Likewise.
  2193. * coff-h8500.c: Likewise.
  2194. * coff-i960.c: Likewise.
  2195. * coff-mcore.c: Likewise.
  2196. * coff-mips.c: Likewise.
  2197. * coff-ppc.c: Likewise.
  2198. * coff-rs6000.c: Likewise.
  2199. * coff-sh.c: Likewise.
  2200. * coff-tic80.c: Likewise.
  2201. * coff-w65.c: Likewise.
  2202. * coff-z80.c: Likewise.
  2203. * coff-z8k.c: Likewise.
  2204. * coff64-rs6000.c: Likewise.
  2205. * cofflink.c: Likewise.
  2206. * ecoff.c: Likewise.
  2207. * elf-bfd.h: Likewise.
  2208. * elf-m10200.c: Likewise.
  2209. * elf-m10300.c: Likewise.
  2210. * elf32-arc.c: Likewise.
  2211. * elf32-arm.c: Likewise.
  2212. * elf32-avr.c: Likewise.
  2213. * elf32-bfin.c: Likewise.
  2214. * elf32-cr16.c: Likewise.
  2215. * elf32-cr16c.c: Likewise.
  2216. * elf32-cris.c: Likewise.
  2217. * elf32-crx.c: Likewise.
  2218. * elf32-d10v.c: Likewise.
  2219. * elf32-epiphany.c: Likewise.
  2220. * elf32-fr30.c: Likewise.
  2221. * elf32-frv.c: Likewise.
  2222. * elf32-ft32.c: Likewise.
  2223. * elf32-h8300.c: Likewise.
  2224. * elf32-hppa.c: Likewise.
  2225. * elf32-i370.c: Likewise.
  2226. * elf32-i386.c: Likewise.
  2227. * elf32-i860.c: Likewise.
  2228. * elf32-ip2k.c: Likewise.
  2229. * elf32-iq2000.c: Likewise.
  2230. * elf32-lm32.c: Likewise.
  2231. * elf32-m32c.c: Likewise.
  2232. * elf32-m32r.c: Likewise.
  2233. * elf32-m68hc1x.c: Likewise.
  2234. * elf32-m68k.c: Likewise.
  2235. * elf32-mep.c: Likewise.
  2236. * elf32-metag.c: Likewise.
  2237. * elf32-microblaze.c: Likewise.
  2238. * elf32-moxie.c: Likewise.
  2239. * elf32-msp430.c: Likewise.
  2240. * elf32-mt.c: Likewise.
  2241. * elf32-nds32.c: Likewise.
  2242. * elf32-nios2.c: Likewise.
  2243. * elf32-or1k.c: Likewise.
  2244. * elf32-ppc.c: Likewise.
  2245. * elf32-s390.c: Likewise.
  2246. * elf32-score.c: Likewise.
  2247. * elf32-score7.c: Likewise.
  2248. * elf32-sh.c: Likewise.
  2249. * elf32-sh64.c: Likewise.
  2250. * elf32-spu.c: Likewise.
  2251. * elf32-tic6x.c: Likewise.
  2252. * elf32-tilepro.c: Likewise.
  2253. * elf32-v850.c: Likewise.
  2254. * elf32-vax.c: Likewise.
  2255. * elf32-visium.c: Likewise.
  2256. * elf32-xstormy16.c: Likewise.
  2257. * elf32-xtensa.c: Likewise.
  2258. * elf64-alpha.c: Likewise.
  2259. * elf64-hppa.c: Likewise.
  2260. * elf64-ia64-vms.c: Likewise.
  2261. * elf64-mmix.c: Likewise.
  2262. * elf64-ppc.c: Likewise.
  2263. * elf64-s390.c: Likewise.
  2264. * elf64-sh64.c: Likewise.
  2265. * elf64-x86-64.c: Likewise.
  2266. * elflink.c: Likewise.
  2267. * elfnn-aarch64.c: Likewise.
  2268. * elfnn-ia64.c: Likewise.
  2269. * elfxx-mips.c: Likewise.
  2270. * elfxx-sparc.c: Likewise.
  2271. * elfxx-tilegx.c: Likewise.
  2272. * linker.c: Likewise.
  2273. * pdp11.c: Likewise.
  2274. * pe-mips.c: Likewise.
  2275. * reloc.c: Likewise.
  2276. * reloc16.c: Likewise.
  2277. * simple.c: Likewise.
  2278. * vms-alpha.c: Likewise.
  2279. * xcofflink.c: Likewise.
  2280. * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
  2281. status param. Adjust calls to these and linker callbacks throughout.
  2282. * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
  2283. get_ramstart): Delete status param. Adjust calls to these and
  2284. linker callbacks throughout.
  2285. 2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
  2286. * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
  2287. <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
  2288. target alignment verification.
  2289. 2016-05-27 Maciej W. Rozycki <macro@imgtec.com>
  2290. * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
  2291. section name if `bfd_elf_string_from_elf_section' returns an
  2292. empty string.
  2293. 2016-05-26 Maciej W. Rozycki <macro@imgtec.com>
  2294. * elfxx-mips.c (_bfd_mips_elf_relocate_section)
  2295. <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
  2296. for message. Continue processing rather than returning failure.
  2297. 2016-05-25 Maciej W. Rozycki <macro@imgtec.com>
  2298. * elfxx-mips.c (_bfd_mips_elf_relocate_section)
  2299. <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
  2300. Call `bfd_set_error'.
  2301. 2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
  2302. PR binutils/14625
  2303. * archive.c (bfd_slurp_armap): Replace
  2304. bfd_elf64_archive_slurp_armap with
  2305. _bfd_archive_64_bit_slurp_armap.
  2306. (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
  2307. BFD64 is defined and the archive is too big.
  2308. (coff_write_armap): Likewise.
  2309. * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
  2310. (_bfd_archive_64_bit_slurp_armap): This.
  2311. (bfd_elf64_archive_write_armap): Renamed to ...
  2312. (_bfd_archive_64_bit_write_armap): This.
  2313. * configure.ac: Add --enable-64-bit-archive.
  2314. (want_64_bit_archive): New. Set to true by default for 64-bit
  2315. MIPS and s390 ELF targets.
  2316. (USE_64_BIT_ARCHIVE): New AC_DEFINE.
  2317. * config.in: Regenerated.
  2318. * configure: Likewise.
  2319. * elf64-mips.c (bfd_elf64_archive_functions): Removed.
  2320. (bfd_elf64_archive_slurp_armap): Likewise.
  2321. (bfd_elf64_archive_write_armap): Likewise.
  2322. (bfd_elf64_archive_slurp_extended_name_table): Likewise.
  2323. (bfd_elf64_archive_construct_extended_name_table): Likewise.
  2324. (bfd_elf64_archive_truncate_arname): Likewise.
  2325. (bfd_elf64_archive_read_ar_hdr): Likewise.
  2326. (bfd_elf64_archive_write_ar_hdr): Likewise.
  2327. (bfd_elf64_archive_openr_next_archived_file): Likewise.
  2328. (bfd_elf64_archive_get_elt_at_index): Likewise.
  2329. (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
  2330. (bfd_elf64_archive_update_armap_timestamp): Likewise.
  2331. * elf64-s390.c (bfd_elf64_archive_functions): Removed.
  2332. (bfd_elf64_archive_slurp_armap): Likewise.
  2333. (bfd_elf64_archive_write_armap): Likewise.
  2334. (bfd_elf64_archive_slurp_extended_name_table): Likewise.
  2335. (bfd_elf64_archive_construct_extended_name_table): Likewise.
  2336. (bfd_elf64_archive_truncate_arname): Likewise.
  2337. (bfd_elf64_archive_read_ar_hdr): Likewise.
  2338. (bfd_elf64_archive_write_ar_hdr): Likewise.
  2339. (bfd_elf64_archive_openr_next_archived_file): Likewise.
  2340. (bfd_elf64_archive_get_elt_at_index): Likewise.
  2341. (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
  2342. (bfd_elf64_archive_update_armap_timestamp): Likewise.
  2343. * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
  2344. BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
  2345. bfd_elfNN_archive_functions isn't defined.
  2346. (TARGET_LITTLE_SYM): Likewise.
  2347. * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
  2348. (_bfd_archive_64_bit_write_armap): Likewise.
  2349. (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
  2350. (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
  2351. (_bfd_archive_64_bit_truncate_arname): Likewise.
  2352. (_bfd_archive_64_bit_read_ar_hdr): Likewise.
  2353. (_bfd_archive_64_bit_write_ar_hdr): Likewise.
  2354. (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
  2355. (_bfd_archive_64_bit_get_elt_at_index): Likewise.
  2356. (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
  2357. (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
  2358. * libbfd.h: Regenerated.
  2359. * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
  2360. BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
  2361. 2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
  2362. PR ld/20103
  2363. * cofflink.c (coff_link_check_archive_element): Return TRUE if
  2364. linker add_archive_element callback returns FALSE.
  2365. * ecoff.c (ecoff_link_check_archive_element): Likewise.
  2366. * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
  2367. archive element if linker add_archive_element callback returns
  2368. FALSE.
  2369. * elflink.c (elf_link_add_archive_symbols): Likewise.
  2370. * pdp11.c (aout_link_check_ar_symbols): Likewise.
  2371. * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
  2372. * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
  2373. (xcoff_link_check_ar_symbols): Likewise.
  2374. 2016-05-24 Maciej W. Rozycki <macro@imgtec.com>
  2375. * elfxx-mips.c (_bfd_mips_elf_relocate_section)
  2376. <bfd_reloc_outofrange>: Unify error reporting code.
  2377. 2016-05-23 Jim Wilson <jim.wilson@linaro.org>
  2378. * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
  2379. R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
  2380. * relocs.c: Add BFD_RELOC_AARCH64_NULL.
  2381. * bfd-in2.h: Regenerate.
  2382. * libbfd.h: Likewise.
  2383. 2016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
  2384. * config.bfd: Add entry for arm-phoenix.
  2385. 2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2386. * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
  2387. (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
  2388. account for padding for stub section requiring one.
  2389. (elf32_arm_build_stubs): Add comment to stress the importance of
  2390. zeroing veneer section content.
  2391. 2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2392. * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
  2393. bfd hook.
  2394. * bfd-in2.h: Regenerate.
  2395. * elf32-arm.c (arm_dedicated_stub_output_section_required): New
  2396. function.
  2397. (arm_dedicated_stub_output_section_required_alignment): Likewise.
  2398. (arm_dedicated_stub_output_section_name): Likewise.
  2399. (arm_dedicated_stub_input_section_ptr): Likewise.
  2400. (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
  2401. function description comment. Add support for dedicated output stub
  2402. section to given stub types.
  2403. (elf32_arm_add_stub): Add a stub type parameter and pass it down to
  2404. elf32_arm_create_or_find_stub_sec.
  2405. (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
  2406. (elf32_arm_size_stubs): Pass stub type when calling
  2407. elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
  2408. (bfd_elf32_arm_keep_private_stub_output_sections): New function.
  2409. 2016-05-20 H.J. Lu <hongjiu.lu@intel.com>
  2410. * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
  2411. when setting need_convert_load.
  2412. 2016-05-20 Maciej W. Rozycki <macro@imgtec.com>
  2413. * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
  2414. microMIPS JALX.
  2415. 2016-05-19 H.J. Lu <hongjiu.lu@intel.com>
  2416. PR ld/20117
  2417. * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
  2418. R_386_GOT32X.
  2419. (elf_i386_convert_load): Don't convert R_386_GOT32.
  2420. 2016-05-20 Alan Modra <amodra@gmail.com>
  2421. PR gas/20118
  2422. * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
  2423. SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
  2424. 2016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
  2425. * elf32-arc.c (arc_elf_final_write_processing): Changed.
  2426. (debug_arc_reloc): Likewise.
  2427. (elf_arc_relocate_section): Likewise.
  2428. (elf_arc_check_relocs): Likewise.
  2429. (elf_arc_adjust_dynamic_symbol): Likewise.
  2430. (elf_arc_add_symbol_hook): Likewise.
  2431. 2016-05-19 Maciej W. Rozycki <macro@imgtec.com>
  2432. * config.bfd: Remove `am34-*-linux*' support.
  2433. 2016-05-19 Alan Modra <amodra@gmail.com>
  2434. * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
  2435. relocs before plt relocs.
  2436. 2016-05-19 Alan Modra <amodra@gmail.com>
  2437. * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
  2438. before dereferencing.
  2439. 2016-05-18 Nick Clifton <nickc@redhat.com>
  2440. * po/sv.po: Updated Swedish translation.
  2441. 2016-05-18 Alan Modra <amodra@gmail.com>
  2442. * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
  2443. for each BFD. Don't goto error_ret_free_local from outside loop.
  2444. 2016-05-17 Maciej W. Rozycki <macro@imgtec.com>
  2445. * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
  2446. STB_GNU_UNIQUE handling.
  2447. * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
  2448. * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
  2449. * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
  2450. * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
  2451. * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
  2452. * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
  2453. * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
  2454. * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
  2455. * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
  2456. * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
  2457. * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
  2458. (elf_backend_add_symbol_hook): Remove macro.
  2459. * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
  2460. for STB_GNU_UNIQUE symbols.
  2461. 2016-05-16 Maciej W. Rozycki <macro@imgtec.com>
  2462. * elf32-v850.c (v850_elf_copy_notes): New function, factored out
  2463. from...
  2464. (v850_elf_copy_private_bfd_data): ... here. Call the new
  2465. function and `_bfd_elf_copy_private_bfd_data'.
  2466. 2016-05-13 H.J. Lu <hongjiu.lu@intel.com>
  2467. PR ld/20093
  2468. * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
  2469. GOTPCREL relocation against large section.
  2470. 2016-05-13 Alan Modra <amodra@gmail.com>
  2471. * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
  2472. linker dynamic sections in calculating size and address of
  2473. dynamic tags rather than using output sections. Remove asserts.
  2474. * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
  2475. * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
  2476. * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
  2477. * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
  2478. * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
  2479. * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
  2480. * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
  2481. * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
  2482. * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
  2483. * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
  2484. * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
  2485. * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
  2486. * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
  2487. * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
  2488. * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
  2489. * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
  2490. * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
  2491. * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
  2492. * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
  2493. * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
  2494. * elflink.c (bfd_elf_final_link): Likewise.
  2495. * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
  2496. * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
  2497. * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
  2498. don't set doit. Look up dynobj section.
  2499. (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
  2500. invocation and dynamic tag vma calculation. Don't test
  2501. boolean var == TRUE.
  2502. * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
  2503. DT_JMPREL calc.
  2504. 2016-05-13 Alan Modra <amodra@gmail.com>
  2505. * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
  2506. octets_per_byte. Put dynamic .rela.plt last in link orders.
  2507. Assign output_offset for reloc sections rather than writing
  2508. sorted relocs from block corresponding to output_offset.
  2509. 2016-05-12 Alan Modra <amodra@gmail.com>
  2510. * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
  2511. 2016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
  2512. * elfxx-mips.c (print_mips_ases): Add DSPR3.
  2513. 2016-05-11 Alan Modra <amodra@gmail.com>
  2514. * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
  2515. (elf32_hppa_check_relocs): Don't set dynobj.
  2516. (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
  2517. (elf32_hppa_build_stubs): Likewise.
  2518. * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
  2519. 2016-05-11 Alan Modra <amodra@gmail.com>
  2520. PR 20060
  2521. * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
  2522. * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
  2523. 2016-05-10 Jiong Wang <jiong.wang@arm.com>
  2524. * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
  2525. aarch64_tls_transition check.
  2526. 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2527. * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
  2528. enumerator.
  2529. (arm_stub_sym_claimed): New function.
  2530. (elf32_arm_create_stub): Use veneered symbol name and section if
  2531. veneer needs to claim its symbol, and keep logic unchanged otherwise.
  2532. (arm_stub_claim_sym): New function.
  2533. (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
  2534. veneered symbol, otherwise create local symbol as before.
  2535. 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2536. * elf32-arm.c (elf32_arm_size_stubs): Use new macros
  2537. ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
  2538. and set branch type of a symbol.
  2539. (bfd_elf32_arm_process_before_allocation): Likewise.
  2540. (elf32_arm_relocate_section): Likewise and fix identation along the
  2541. way.
  2542. (allocate_dynrelocs_for_symbol): Likewise.
  2543. (elf32_arm_finish_dynamic_symbol): Likewise.
  2544. (elf32_arm_swap_symbol_in): Likewise.
  2545. (elf32_arm_swap_symbol_out): Likewise.
  2546. 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2547. * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
  2548. * bfd-in2.h: Regenerated.
  2549. * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
  2550. parameter to add_stub_section callback.
  2551. (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
  2552. and pass it down to add_stub_section.
  2553. (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
  2554. for error message.
  2555. (elf32_arm_size_stubs): Add output section parameter to
  2556. add_stub_section function pointer parameter.
  2557. 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2558. * elf32-arm.c (elf32_arm_create_stub): New function.
  2559. (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
  2560. 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2561. * elf32-arm.c (enum elf32_arm_stub_type): Delete
  2562. arm_stub_a8_veneer_lwm enumerator.
  2563. (arm_stub_a8_veneer_lwm): New unsigned constant to replace
  2564. aforementioned enumerator.
  2565. (struct elf32_arm_stub_hash_entry): Delete target_addend
  2566. field and add source_value.
  2567. (struct a8_erratum_fix): Delete addend field and add target_offset.
  2568. (stub_hash_newfunc): Initialize source_value field amd remove
  2569. initialization for target_addend.
  2570. (arm_build_one_stub): Stop special casing Thumb relocations: promote
  2571. the else to being always executed, moving the
  2572. arm_stub_a8_veneer_b_cond specific code in it. Remove
  2573. stub_entry->target_addend from points_to computation.
  2574. (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
  2575. to target symbol from start of section rather than the offset from the
  2576. stub address.
  2577. (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
  2578. fields from struct a8_erratum_fix's offset and target_offset
  2579. respectively.
  2580. (make_branch_to_a8_stub): Rename target variable to loc. Compute
  2581. veneered_insn_loc and loc using stub_entry's source_value.
  2582. 2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2583. (elf32_arm_merge_eabi_attributes): Add merging logic for
  2584. Tag_DSP_extension.
  2585. 2016-05-10 Pip Cet <pipcet@gmail.com>
  2586. PR ld/20059
  2587. * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
  2588. Define as _bfd_generic_copy_link_hash_symbol_type when using
  2589. generic hash table.
  2590. 2016-05-09 Nick Clifton <nickc@redhat.com>
  2591. PR binutils/20063
  2592. * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
  2593. field before accessing sections array.
  2594. 2016-05-09 Christophe Monat <christophe.monat@st.com>
  2595. PR ld/20030
  2596. * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
  2597. (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
  2598. to nb_words.
  2599. (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
  2600. encoding.
  2601. (create_instruction_vldmdb): Likewise.
  2602. (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
  2603. uses it to re-encode.
  2604. 2016-05-09 Nick Clifton <nickc@redhat.com>
  2605. PR 19938
  2606. * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
  2607. commit.
  2608. 2016-05-09 Alan Modra <amodra@gmail.com>
  2609. * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
  2610. 2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
  2611. PR ld/17550
  2612. * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
  2613. documenting that indx == -3 if symbol is defined in a discarded
  2614. section.
  2615. * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
  2616. symbol is defined in a discarded section.
  2617. (elf_link_output_extsym): Strip a global symbol defined in a
  2618. discarded section.
  2619. 2016-05-06 H.J. Lu <hongjiu.lu@intel.com>
  2620. * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
  2621. MCU.
  2622. 2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
  2623. * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
  2624. conversion to ...
  2625. (elf_i386_convert_load_reloc): This. New function.
  2626. * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
  2627. conversion to ...
  2628. (elf_x86_64_convert_load_reloc): This. New function.
  2629. 2016-05-05 H.J. Lu <hongjiu.lu@intel.com>
  2630. * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
  2631. Don't check if contents == NULL.
  2632. (elf_i386_tls_transition): Add from_relocate_section. Check
  2633. from_relocate_section instead of contents != NULL. Update
  2634. elf_i386_check_tls_transition call.
  2635. (elf_i386_check_relocs): Cache the section contents if
  2636. keep_memory is FALSE. Pass FALSE as from_relocate_section to
  2637. elf_i386_tls_transition.
  2638. (elf_i386_relocate_section): Pass TRUE as from_relocate_section
  2639. to elf_i386_tls_transition.
  2640. (elf_backend_caches_rawsize): New.
  2641. * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
  2642. if contents == NULL.
  2643. (elf_x86_64_tls_transition): Add from_relocate_section. Check
  2644. from_relocate_section instead of contents != NULL.
  2645. (elf_x86_64_check_relocs): Cache the section contents if
  2646. keep_memory is FALSE. Pass FALSE as from_relocate_section to
  2647. elf_x86_64_tls_transition.
  2648. (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
  2649. to elf_x86_64_tls_transition.
  2650. (elf_backend_caches_rawsize): New.
  2651. 2016-05-03 Maciej W. Rozycki <macro@imgtec.com>
  2652. PR 10549
  2653. * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
  2654. STB_GNU_UNIQUE.
  2655. 2016-05-03 Jiong Wang <jiong.wang@arm.com>
  2656. * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
  2657. * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
  2658. * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
  2659. no_apply_dynamic_relocs.
  2660. (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
  2661. dynamic relocations generated.
  2662. 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
  2663. * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
  2664. setting to ...
  2665. (elf_i386_create_dynamic_sections): Here.
  2666. * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
  2667. interp setting to ...
  2668. (elf_x86_64_create_dynamic_sections): Here.
  2669. 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
  2670. * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
  2671. and replace (EH)->has_got_reloc with GOT_RELOC.
  2672. (elf_i386_fixup_symbol): Pass has_got_reloc to
  2673. UNDEFINED_WEAK_RESOLVED_TO_ZERO.
  2674. (elf_i386_allocate_dynrelocs): Likewise.
  2675. (elf_i386_relocate_section): Likewise.
  2676. (elf_i386_finish_dynamic_symbol): Likewise.
  2677. (elf_i386_convert_load): Pass TRUE to
  2678. UNDEFINED_WEAK_RESOLVED_TO_ZERO.
  2679. * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
  2680. GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
  2681. (elf_x86_64_fixup_symbol): Pass has_got_reloc to
  2682. UNDEFINED_WEAK_RESOLVED_TO_ZERO.
  2683. (elf_x86_64_allocate_dynrelocs): Likewise.
  2684. (elf_x86_64_relocate_section): Likewise.
  2685. (elf_x86_64_finish_dynamic_symbol): Likewise.
  2686. (elf_x86_64_convert_load): Pass TRUE to
  2687. UNDEFINED_WEAK_RESOLVED_TO_ZERO.
  2688. 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
  2689. * elf32-i386.c (check_relocs_failed): New.
  2690. (elf_i386_check_relocs): Set check_relocs_failed on error.
  2691. (elf_i386_relocate_section): Skip if check_relocs failed.
  2692. 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
  2693. * elf64-x86-64.c (elf_x86_64_check_relocs): Set
  2694. check_relocs_failed on error.
  2695. 2016-04-29 Nick Clifton <nickc@redhat.com>
  2696. PR 19938
  2697. * elf-bfd.h (struct elf_backend_data): Rename
  2698. elf_backend_set_special_section_info_and_link to
  2699. elf_backend_copy_special_section_fields.
  2700. * elfxx-target.h: Likewise.
  2701. * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
  2702. comparing section flags.
  2703. (copy_special_section_fields): New function.
  2704. (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
  2705. Perform two scans over special sections. The first one looks for
  2706. a direct mapping between the output section and an input section.
  2707. The second scan looks for a possible match based upon section
  2708. characteristics.
  2709. * elf32-arm.c (elf32_arm_copy_special_section_fields): New
  2710. function. Handle setting the sh_link field of SHT_ARM_EXIDX
  2711. sections.
  2712. * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
  2713. elf32_i386_copy_solaris_special_section_fields.
  2714. * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
  2715. Rename to elf32_sparc_copy_solaris_special_section_fields.
  2716. * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
  2717. elf64_x86_64_copy_solaris_special_section_fields.
  2718. 2016-04-28 Nick Clifton <nickc@redhat.com>
  2719. * po/zh_CN.po: Updated Chinese (simplified) translation.
  2720. 2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
  2721. PR ld/20006
  2722. * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
  2723. when estimating distances between output sections.
  2724. 2016-04-27 Alan Modra <amodra@gmail.com>
  2725. * elflink.c (_bfd_elf_is_start_stop): New function.
  2726. (_bfd_elf_gc_mark_rsec): Use it.
  2727. * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
  2728. 2016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
  2729. * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
  2730. * mmo.c (mmo_get_section_contents): Likewise.
  2731. (mmo_set_section_contents): Likewise.
  2732. 2016-04-26 H.J. Lu <hongjiu.lu@intel.com>
  2733. * elf-bfd.h (elf_link_hash_table): Update comments for
  2734. dynsymcount.
  2735. * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
  2736. the unused NULL entry at the head of dynamic symbol table.
  2737. (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
  2738. checks.
  2739. 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
  2740. * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
  2741. created file from dynobj.
  2742. 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
  2743. * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
  2744. normal input file if possible.
  2745. 2016-04-21 Nick Clifton <nickc@redhat.com>
  2746. * aout-adobe.c: Use _bfd_generic_link_check_relocs.
  2747. * aout-target.h: Likewise.
  2748. * aout-tic30.c: Likewise.
  2749. * binary.c: Likewise.
  2750. * bout.c: Likewise.
  2751. * coff-alpha.c: Likewise.
  2752. * coff-rs6000.c: Likewise.
  2753. * coff64-rs6000.c: Likewise.
  2754. * coffcode.h: Likewise.
  2755. * i386msdos.c: Likewise.
  2756. * i386os9k.c: Likewise.
  2757. * ieee.c: Likewise.
  2758. * ihex.c: Likewise.
  2759. * libbfd-in.h: Likewise.
  2760. * libecoff.h: Likewise.
  2761. * mach-o-target.c: Likewise.
  2762. * mmo.c: Likewise.
  2763. * nlm-target.h: Likewise.
  2764. * oasys.c: Likewise.
  2765. * pef.c: Likewise.
  2766. * plugin.c: Likewise.
  2767. * ppcboot.c: Likewise.
  2768. * som.c: Likewise.
  2769. * srec.c: Likewise.
  2770. * tekhex.c: Likewise.
  2771. * versados.c: Likewise.
  2772. * vms-alpha.c: Likewise.
  2773. * xsym.c: Likewise.
  2774. * elfxx-target.h: Use _bfd_elf_link_check_relocs.
  2775. * linker.c (bfd_link_check_relocs): New function.
  2776. (_bfd_generic_link_check_relocs): New function.
  2777. * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
  2778. _bfd_link_check_relocs field.
  2779. (struct bfd_target)L Add _bfd_link_check_relocs field.
  2780. * bfd-in2.h: Regenerate.
  2781. * libbfd.h: Regenerate.
  2782. 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
  2783. * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
  2784. (elf_backend_gc_sweep_hook): Likewise.
  2785. * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
  2786. (elf_backend_gc_sweep_hook): Likewise.
  2787. 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
  2788. * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
  2789. in excluded sections
  2790. 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
  2791. PR ld/19969
  2792. * elf64-x86-64.c (check_relocs_failed): New.
  2793. (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
  2794. Support relocation agaist local symbol. Set check_relocs_failed.
  2795. (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
  2796. R_X86_64_32 relocation overflow.
  2797. (elf_x86_64_relocate_section): Skip if check_relocs failed.
  2798. Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
  2799. 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
  2800. * elf32-i386.c (elf_i386_check_relocs): Call
  2801. _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
  2802. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
  2803. 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
  2804. * elf-bfd.h (_bfd_elf_link_check_relocs): New.
  2805. * elflink.c (_bfd_elf_link_check_relocs): New function.
  2806. (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
  2807. if check_relocs_after_open_input is FALSE.
  2808. 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
  2809. * cache.c: Update old style function definitions.
  2810. * elf32-m68k.c: Likewise.
  2811. * elf64-mmix.c: Likewise.
  2812. * stab-syms.c: Likewise.
  2813. 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
  2814. * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
  2815. 2016-04-15 H.J. Lu <hongjiu.lu@intel.com>
  2816. * Makefile.in: Regenerated with automake 1.11.6.
  2817. * aclocal.m4: Likewise.
  2818. * doc/Makefile.in: Likewise.
  2819. 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
  2820. * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
  2821. * bfd-in2.h: Regenerate.
  2822. * libbfd.h: Regenerate.
  2823. * elf32-arc.c: Add 'opcode/arc.h' include.
  2824. (struct arc_relocation_data): Add symbol_name.
  2825. (arc_special_overflow_checks): New function.
  2826. (arc_do_relocation): Use arc_special_overflow_checks, reindent as
  2827. required, add an extra comment.
  2828. (elf_arc_relocate_section): Setup symbol_name in reloc_data.
  2829. 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
  2830. * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
  2831. entries.
  2832. (elf_arc_relocate_section): Update enum uses.
  2833. (elf_arc_check_relocs): Likewise.
  2834. (elf_arc_finish_dynamic_symbol): Likewise.
  2835. 2016-04-14 H.J. Lu <hongjiu.lu@intel.com>
  2836. * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
  2837. "sh_link".
  2838. 2016-04-14 Nick Clifton <nickc@redhat.com>
  2839. PR target/19938
  2840. * elf-bbfd.h (struct elf_backend_data): New field:
  2841. elf_strtab_flags.
  2842. New field: elf_backend_set_special_section_info_and_link
  2843. * elfxx-target.h (elf_backend_strtab_flags): Define if not already
  2844. defined.
  2845. (elf_backend_set_special_section_info_and_link): Define if not
  2846. already defined.
  2847. (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
  2848. elf_backend_strtab_flags macros to initialise fields in structure.
  2849. * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
  2850. being set even if SHF_MERGE is not set.
  2851. (elf_fake_sections): Likewise.
  2852. (section_match): New function. Matches two ELF sections based
  2853. upon fixed characteristics.
  2854. (find_link): New function. Locates a section in a BFD that
  2855. matches a section in a different BFD.
  2856. (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
  2857. fields of reserved sections.
  2858. (bfd_elf_compute_section_file_positions): Set the flags for the
  2859. .shstrtab section based upon the elf_strtab_flags field in the
  2860. elf_backend_data structure.
  2861. (swap_out_syms): Likewise for the .strtab section.
  2862. * elflink.c (bfd_elf_final_link): Set the flags for the
  2863. .strtab section based upon the elf_strtab_flags field in the
  2864. elf_backend_data structure.
  2865. * elf32-i386.c (elf32_i386_set_special_info_link): New function.
  2866. (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
  2867. targets.
  2868. (elf_backend_set_special_section_info_and_link): Define for
  2869. Solaris targets.
  2870. * elf32-sparc.c: Likewise.
  2871. * elf64-x86-64.c: Likewise.
  2872. 2016-04-11 H.J. Lu <hongjiu.lu@intel.com>
  2873. PR ld/19939
  2874. * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
  2875. to bfd_boolean.
  2876. * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
  2877. Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
  2878. applies to read-only section.
  2879. * elf32-i386.c (elf_i386_link_hash_table): Add
  2880. readonly_dynrelocs_against_ifunc.
  2881. (elf_i386_allocate_dynrelocs): Updated.
  2882. (elf_i386_size_dynamic_sections): Issue an error for read-only
  2883. segment with dynamic IFUNC relocations only if
  2884. readonly_dynrelocs_against_ifunc is TRUE.
  2885. * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
  2886. readonly_dynrelocs_against_ifunc.
  2887. (elf_x86_64_allocate_dynrelocs): Updated.
  2888. (elf_x86_64_size_dynamic_sections): Issue an error for read-only
  2889. segment with dynamic IFUNC relocations only if
  2890. readonly_dynrelocs_against_ifunc is TRUE.
  2891. * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
  2892. Updated.
  2893. 2016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
  2894. * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
  2895. a fall through from error_ret_free_internal. Free local_syms in
  2896. error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
  2897. 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
  2898. * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
  2899. (relocate_plt_for_entry): Likewise.
  2900. 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
  2901. * elf32-arc.c (elf_arc_check_relocs): Changed
  2902. 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
  2903. * elf32-arc.c (name_for_global_symbol): Changed assert.
  2904. (get_replace_function): Created.:
  2905. (struct arc_relocation_data): Changed to signed types.
  2906. (defines S, L, P, PDATA): Casted to signed type.
  2907. (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
  2908. (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
  2909. (arc_do_relocation): Changed.
  2910. 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
  2911. * elf32-arc.c (name_for_global_symbol): Added assert to check for
  2912. symbol index.
  2913. (elf_arc_relocate_section): Added and changed asserts, validating
  2914. the synamic symbol index.
  2915. (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
  2916. relocation if symbol has dynindx set to -1.
  2917. 2016-04-05 Maciej W. Rozycki <macro@imgtec.com>
  2918. PR ld/19908
  2919. * elflink.c (elf_link_add_object_symbols): Always turn hidden
  2920. and internal symbols which have a dynamic index into local
  2921. ones.
  2922. 2016-04-04 Nick Clifton <nickc@redhat.com>
  2923. PR 19872
  2924. * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
  2925. version number if the version is zero.
  2926. 2016-04-01 Alan Modra <amodra@gmail.com>
  2927. PR 19886
  2928. * elflink.c (on_needed_list): Recursively check needed status.
  2929. (elf_link_add_object_symbols): Adjust.
  2930. 2016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
  2931. * elf32-avr.c (avr_elf32_load_records_from_section): Free
  2932. internal_relocs only if they aren't cached.
  2933. 2016-03-29 Nick Clifton <nickc@redhat.com>
  2934. PR 17334
  2935. * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
  2936. assertion on the size of the got section to allow it to be bigger
  2937. than the number of relocs.
  2938. 2016-03-29 Toni Spets <toni.spets@iki.fi>
  2939. PR 19878
  2940. * coffcode.h (coff_write_object_contents): Revert accidental
  2941. 2014-11-10 change.
  2942. 2016-03-22 Alan Modra <amodra@gmail.com>
  2943. PR 19850
  2944. * dwarf2.c (read_attribute_value): Skip info_ptr check for
  2945. DW_FORM_flag_present.
  2946. 2016-03-22 Nick Clifton <nickc@redhat.com>
  2947. * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
  2948. architecture name for backwards compatibility.
  2949. * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
  2950. unbounded stack use.
  2951. * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
  2952. sufficiently recent version of GCC.
  2953. * configure: Regenerate.
  2954. 2016-03-22 Alan Modra <amodra@gmail.com>
  2955. PR 19851
  2956. * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
  2957. 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
  2958. * archures.c (bfd_mach_arc_nps400): Define.
  2959. * bfd-in2.h: Regenerate.
  2960. * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
  2961. some existing entries to make space.
  2962. * elf32-arc.c (arc_elf_object_p): Add nps400 case.
  2963. (arc_elf_final_write_processing): Likewise.
  2964. 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
  2965. * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
  2966. EF_ARC_CPU_GENERIC.
  2967. (arc_elf_final_write_processing): Don't bother setting cpu field
  2968. in e_flags, this will have been set elsewhere.
  2969. 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
  2970. * elf32-arc.c (arc_elf_final_write_processing): Switch to using
  2971. EF_ARC_MACH_MSK.
  2972. 2016-03-21 Nick Clifton <nickc@redhat.com>
  2973. * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
  2974. * configure: Regenerate.
  2975. * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
  2976. alloca with call to xmalloc.
  2977. * elf32-nds32.c: Likewise.
  2978. * elf64-hppa.c: Likewise.
  2979. * elfxx-mips.c: Likewise.
  2980. * pef.c: Likewise.
  2981. * pei-x86_64.c: Likewise.
  2982. * som.c: Likewise.
  2983. * xsym.c: Likewise.
  2984. 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
  2985. PR ld/19827
  2986. * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
  2987. locally in PIE.
  2988. (elf_i386_relocate_section): Likewise.
  2989. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
  2990. (elf_x86_64_relocate_section): Likewise.
  2991. 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
  2992. PR ld/19807
  2993. * elf64-x86-64.c (elf_x86_64_relocate_section): Check
  2994. no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
  2995. relocation overflow check.
  2996. 2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
  2997. * bfd-in2.h: Regenerated.
  2998. 2016-03-11 Dan Gissel <dgisselq@ieee.org>
  2999. PR 19713
  3000. * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
  3001. uses bytes not octets.
  3002. * elflink.c (resolve_section): Likewise.
  3003. Add a bfd parameter.
  3004. (eval_section): Pass the input_bfd to resolve_section.
  3005. (bfd_elf_perform_complex_relocation): Convert byte offset to
  3006. octets before read and writing values.
  3007. (elf_link_input_bfd): Add byte to octet conversions.
  3008. (elf_reloc_link_order): Likewise.
  3009. (elf_fixup_link_order): Likewise.
  3010. (bfd_elf_final_link): Likewise.
  3011. * reloc.c (_bfd_final_link_relocate): Likewise.
  3012. * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
  3013. 2016-03-10 Nick Clifton <nickc@redhat.com>
  3014. * config.bfd: Mark the i370 target as obsolete.
  3015. 2016-03-09 Pedro Alves <palves@redhat.com>
  3016. * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
  3017. gcc ABI)" to printable name.
  3018. * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
  3019. of "v850-rh850" as printable name.
  3020. 2016-03-09 Leon Winter <winter-gcc@bfw-online.de>
  3021. PR ld/19623
  3022. * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
  3023. relocations against absolute symbols.
  3024. 2016-03-09 Alan Modra <amodra@gmail.com>
  3025. PR binutils/19775
  3026. * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
  3027. length elements in the archive.
  3028. 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
  3029. PR ld/19789
  3030. * elflink.c (elf_link_add_object_symbols): Create dynamic sections
  3031. for -E/--dynamic-list only when not relocatable.
  3032. 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
  3033. PR ld/19784
  3034. * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
  3035. count for locally defined local IFUNC symbols in shared object.
  3036. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
  3037. 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
  3038. PR ld/19579
  3039. * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
  3040. together.
  3041. 2016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
  3042. Andrew Burgess <andrew.burgess@embecosm.com>
  3043. * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
  3044. (arc_bfd_put_32): Becomes an alias for bfd_put_32.
  3045. (arc_elf_howto_init): Added assert to validate relocations.
  3046. (get_middle_endian_relocation): Delete.
  3047. (middle_endian_convert): New function.
  3048. (ME): Redefine, now does nothing.
  3049. (IS_ME): New define.
  3050. (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
  3051. definition to call middle_endian_convert. Add a new local
  3052. variable and make use of this throughout. Added call to
  3053. arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
  3054. 2016-03-07 Nick Clifton <nickc@redhat.com>
  3055. PR binutils/19775
  3056. * archive.c (bfd_generic_openr_next_archived_file): Allow zero
  3057. length elements in the archive.
  3058. 2016-03-07 Jiong Wang <jiong.wang@arm.com>
  3059. * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
  3060. section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
  3061. 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
  3062. PR ld/19579
  3063. * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
  3064. executable as definition if the new definition comes from a
  3065. shared library.
  3066. 2016-03-02 Alan Modra <amodra@gmail.com>
  3067. * Makefile.in: Regenerate.
  3068. * po/SRC-POTFILES.in: Regenerate.
  3069. 2016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
  3070. * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
  3071. relocation addend when sections get merged.
  3072. 2016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
  3073. * elf32-arc.c (arc_elf_final_write_processing): Add condition to
  3074. the flag change.
  3075. (elf_arc_relocate_section): Fixes and conditions to support PIE.
  3076. Assert for code sections dynamic relocs.
  3077. 2016-02-26 Renlin Li <renlin.li@arm.com>
  3078. * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
  3079. check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
  3080. 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
  3081. PR ld/19609
  3082. * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
  3083. load with locally bound symbols if PIC is false or there is no
  3084. base register. Optimize branch to 0 if PIC is false.
  3085. (elf_i386_relocate_section): Don't generate dynamic relocations
  3086. against undefined weak symbols if PIC is false.
  3087. * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
  3088. if we can't estimate relocation overflow with --no-relax.
  3089. Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
  3090. symbols if PIC is false. Optimize branch to 0 if PIC is false.
  3091. (elf_x86_64_relocate_section): Don't generate dynamic relocations
  3092. against undefined weak symbols if PIC is false.
  3093. 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
  3094. PR ld/19645
  3095. * bfd.c (bfd): Change flags to 20 bits.
  3096. (BFD_CONVERT_ELF_COMMON): New.
  3097. (BFD_USE_ELF_STT_COMMON): Likewise.
  3098. (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
  3099. BFD_USE_ELF_STT_COMMON.
  3100. (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
  3101. * configure.ac: Remove --enable-elf-stt-common.
  3102. * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
  3103. common symbol depending on BFD_CONVERT_ELF_COMMON and
  3104. BFD_USE_ELF_STT_COMMON.
  3105. * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
  3106. STT_COMMON.
  3107. * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
  3108. STT_COMMON.
  3109. (elf_link_convert_common_type): New function.
  3110. (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
  3111. common symbol depending on BFD_CONVERT_ELF_COMMON and
  3112. BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
  3113. * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
  3114. and BFD_USE_ELF_STT_COMMON to object_flags.
  3115. (TARGET_LITTLE_SYM): Likewise.
  3116. * syms.c (BSF_KEEP_G): Renamed to ...
  3117. (BSF_ELF_COMMON): This.
  3118. * bfd-in2.h: Regenerated.
  3119. * config.in: Likewise.
  3120. * configure: Likewise.
  3121. 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
  3122. PR ld/19636
  3123. PR ld/19704
  3124. PR ld/19719
  3125. * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
  3126. (elf_i386_link_hash_entry): Add has_got_reloc and
  3127. has_non_got_reloc.
  3128. (elf_i386_link_hash_table): Add interp.
  3129. (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
  3130. has_non_got_reloc.
  3131. (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
  3132. has_non_got_reloc.
  3133. (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
  3134. (elf_i386_fixup_symbol): New function.
  3135. (elf_i386_pie_finish_undefweak_symbol): Likewise.
  3136. (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
  3137. relocations and discard relocations against resolved undefined
  3138. weak symbols in executable. Don't make resolved undefined weak
  3139. symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
  3140. relocation against undefined weak symbols in PIE.
  3141. (elf_i386_size_dynamic_sections): Set interp to .interp section.
  3142. (elf_i386_relocate_section): Don't generate dynamic relocations
  3143. against resolved undefined weak symbols in PIE, except for
  3144. R_386_PC32.
  3145. (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
  3146. dynamic PLT/GOT relocations for resolved undefined weak symbols.
  3147. Don't generate dynamic relocation against resolved undefined weak
  3148. symbol in executable.
  3149. (elf_i386_finish_dynamic_sections): Call
  3150. elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
  3151. (elf_backend_fixup_symbol): New.
  3152. * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
  3153. (elf_x86_64_link_hash_entry): Add has_got_reloc and
  3154. has_non_got_reloc.
  3155. (elf_x86_64_link_hash_table): Add interp.
  3156. (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
  3157. has_non_got_reloc.
  3158. (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
  3159. has_non_got_reloc.
  3160. (elf_x86_64_check_relocs): Set has_got_reloc and
  3161. has_non_got_reloc.
  3162. (elf_x86_64_fixup_symbol): New function.
  3163. (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
  3164. (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
  3165. relocations and discard relocations against resolved undefined
  3166. weak symbols in executable. Don't make resolved undefined weak
  3167. symbols in executable dynamic.
  3168. (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
  3169. (elf_x86_64_relocate_section): Check relocation overflow for
  3170. dynamic relocations against unresolved weak undefined symbols.
  3171. Don't generate dynamic relocations against resolved weak
  3172. undefined symbols in PIE.
  3173. (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
  3174. dynamic PLT/GOT relocations for resolved undefined weak symbols.
  3175. Don't generate dynamic relocation against resolved undefined weak
  3176. symbol in executable.
  3177. (elf_x86_64_finish_dynamic_sections): Call
  3178. elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
  3179. (elf_backend_fixup_symbol): New.
  3180. 2016-02-26 Alan Modra <amodra@gmail.com>
  3181. * elf64-ppc.c (create_linkage_sections): Create sfpr when
  3182. save_restore_funcs, rest of sections when not relocatable.
  3183. (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
  3184. (sfpr_define): Define all symbols on emitted code.
  3185. (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
  3186. when relocatable. Move sfpr_define loop earlier.
  3187. 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
  3188. * elf64-x86-64.c (elf_x86_64_need_pic): New function.
  3189. (elf_x86_64_relocate_section): Use it. Replace
  3190. x86_64_elf_howto_table[r_type] with howto.
  3191. 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
  3192. PR ld/19698
  3193. * elflink.c (bfd_elf_record_link_assignment): Set versioned if
  3194. symbol version is unknown.
  3195. 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
  3196. * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
  3197. to (bfd_vma) -1 when setting needs_plt to 0.
  3198. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
  3199. 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
  3200. * elflink.c (bfd_elf_record_link_assignment): Check for shared
  3201. library, instead of PIC, and don't check PDE when making linker
  3202. assigned symbol dynamic.
  3203. 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
  3204. * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
  3205. ABIVERSION for non-executable stack.
  3206. 2016-02-23 Rich Felker <bugdal@aerifal.cx>
  3207. PR target/19516
  3208. * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
  3209. Always produce a RELATIVE reloc for a local symbol.
  3210. 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
  3211. Fix test-case ld-elf/pr19617b
  3212. * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
  3213. discard unused non-function symbols when --dynamic-list-data.
  3214. 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
  3215. * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
  3216. dynsym section, even if it is empty, with dynamic sections.
  3217. 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
  3218. * syms.c: Remove BSF_COMMON from comments.
  3219. * bfd-in2.h: Regenerated.
  3220. 2016-02-22 Jiong Wang <jiong.wang@arm.com>
  3221. * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
  3222. for destination. Remove useless function parameters.
  3223. (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
  3224. 2016-02-19 Nick Clifton <nickc@redhat.com>
  3225. PR ld/19629
  3226. * aoutx.h (aout_link_add_symbols): Check for out of range string
  3227. table offsets.
  3228. PR ld/19628
  3229. * reloc.c (bfd_generic_get_relocated_section_contents): Stop
  3230. processing if we encounter a reloc without an associated symbol.
  3231. 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
  3232. PR ld/19617
  3233. * elflink.c (elf_link_add_object_symbols): Always create dynamic
  3234. sections for -E/--dynamic-list.
  3235. 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
  3236. * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
  3237. to bfd_true.
  3238. 2016-02-16 Joseph Myers <joseph@codesourcery.com>
  3239. * plugin.c (plugin_vec): Set match priority to 255.
  3240. * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
  3241. matching against the plugin vector, take priority from there not
  3242. from TEMP.
  3243. 2016-02-15 Nick Clifton <nickc@redhat.com>
  3244. * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
  3245. for length and type fields. Use a signed value for the
  3246. suffix_length field.
  3247. 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
  3248. PR ld/19601
  3249. * elf32-i386.c (elf_i386_relocate_section): Mask off the least
  3250. significant bit in GOT offset for R_386_GOT32X.
  3251. 2016-02-10 Nick Clifton <nickc@redhat.com>
  3252. PR 19405
  3253. * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
  3254. immediate values.
  3255. * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
  3256. number of messages about FDE encoding preventing .eh_frame_hdr
  3257. generation.
  3258. 2016-02-09 Nick Clifton <nickc@redhat.com>
  3259. * oasys.c (oasys_archive_p): Fix indentation.
  3260. * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
  3261. constant for left shifting.
  3262. * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
  3263. helpful warning message to explain why certain AArch64 relocs
  3264. might overflow.
  3265. 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
  3266. * pe-mips.c (coff_mips_reloc): Fix formatting.
  3267. 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
  3268. * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
  3269. to bfd_mach_arc_arc600.
  3270. 2016-02-04 Alan Modra <amodra@gmail.com>
  3271. * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
  3272. for big-endian.
  3273. 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
  3274. PR ld/19542
  3275. * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
  3276. distances in the compressed_size field of the output section.
  3277. 2016-02-02 Alan Modra <amodra@gmail.com>
  3278. * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
  3279. ELFv2 entry optimization.
  3280. 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
  3281. PR binutils/19547
  3282. * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
  3283. no relocations in relocatable files.
  3284. 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
  3285. PR ld/19553
  3286. * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
  3287. if a symbol from a library loaded via DT_NEEDED doesn't match
  3288. the symbol referenced by regular object.
  3289. 2016-02-01 Nathaniel Smith <njs@pobox.com>
  3290. * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
  3291. CODE and DATA.
  3292. 2016-02-01 Alan Modra <amodra@gmail.com>
  3293. * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
  3294. an out of range reloc_index.
  3295. * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
  3296. 2016-02-01 Kamil Rytarowski <n54@gmx.com>
  3297. * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
  3298. (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
  3299. * Makefile.in: Regenerated.
  3300. 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
  3301. * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
  3302. 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
  3303. PR ld/19526
  3304. * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
  3305. files.
  3306. * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
  3307. 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
  3308. PR ld/19539
  3309. * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
  3310. against STT_GNU_IFUNC symbol only with dynamic symbols.
  3311. * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
  3312. 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
  3313. PR binutils/19523
  3314. * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
  3315. decompress debug sections.
  3316. 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
  3317. * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
  3318. `dynindx'.
  3319. 2016-01-25 Nick Clifton <nickc@redhat.com>
  3320. PR target/19435
  3321. * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
  3322. dsym filename buffer.
  3323. 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
  3324. * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
  3325. 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
  3326. * elfxx-mips.c (BZ16_REG): Correct calculation.
  3327. 2016-01-21 Nick Clifton <nickc@redhat.com>
  3328. * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
  3329. changing the type of _loc to be bfd_byte *.
  3330. (elf_arc_finish_dynamic_symbol): Likewise.
  3331. 2016-01-21 Nick Clifton <nickc@redhat.com>
  3332. PR ld/19455
  3333. * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
  3334. class of the linker stub bfd.
  3335. (elf32_arm_check_relocs): Skip check for pic format after
  3336. processing a vxWorks R_ARM_ABS12 reloc.
  3337. * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
  3338. reporting a class mismatch.
  3339. 2016-01-21 Jiong Wang <jiong.wang@arm.com>
  3340. * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
  3341. veneer for sym_sec != input_sec.
  3342. (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
  3343. (elfNN_aarch64_final_link_relocate): Take rela addend into account when
  3344. calculation destination.
  3345. 2016-01-21 Alan Modra <amodra@gmail.com>
  3346. * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
  3347. (swap_linux_prpsinfo64_out): New function.
  3348. (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
  3349. (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
  3350. * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
  3351. (elfcore_write_linux_prpsinfo64): Likewise.
  3352. * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
  3353. (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
  3354. (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
  3355. 2016-01-21 Alan Modra <amodra@gmail.com>
  3356. * elf-linux-core.h: Rename from elf-linux-psinfo.h.
  3357. * elf.c: Adjust #include.
  3358. * elf32-ppc.c: Don't #include elf-linux-psinfo.h
  3359. * Makefile.am (SOURCE_HFILES): Update.
  3360. * Makefile.in: Regenerate.
  3361. * po/SRC-PORFILES.in: Regenerate.
  3362. 2016-01-21 Alan Modra <amodra@gmail.com>
  3363. * configure.ac: Move corefile selection later in file. Move
  3364. tdefaults code immediately after other target vector code.
  3365. * configure: Regenerate.
  3366. 2016-01-20 Mickael Guene <mickael.guene@st.com>
  3367. * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
  3368. section using '.text.noread' pattern.
  3369. 2016-01-19 John Baldwin <jhb@FreeBSD.org>
  3370. * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
  3371. 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
  3372. Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
  3373. * arc-plt.def: New file.
  3374. * arc-plt.h: Likewise.
  3375. * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
  3376. elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
  3377. elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
  3378. elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
  3379. (name_for_global_symbol): Added.
  3380. (ADD_RELA): Helper to create dynamic relocs.
  3381. (new_got_entry_to_list): Create a new got entry in linked list.
  3382. (symbol_has_entry_of_type): Search for specific type of entry in
  3383. list.
  3384. (is_reloc_for_GOT): return FALSE for any TLS related relocs.
  3385. (is_reloc_for_TLS, arc_elf_set_private_flags)
  3386. (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
  3387. (arc_elf_merge_private_bfd_data): New functions.
  3388. (debug_arc_reloc): Cleaned debug info printing.
  3389. (PDATA reloc): Changed not to perform address alignment.
  3390. (reverse_me): Added. Fix for ARC_32 relocs.
  3391. (arc_do_relocation): Return bfd_reloc_of when no relocation should
  3392. occur.
  3393. (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
  3394. Changed function to access an array of list of GOT entries instead
  3395. of just an array of offsets.
  3396. (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
  3397. (elf_arc_check_relocs): Likewise.
  3398. (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
  3399. (elf_arc_finish_dynamic_sections): Likewise
  3400. (arc_create_dynamic_sections): Modified conditions to create
  3401. dynamic sections.
  3402. (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
  3403. (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
  3404. (relocate_plt_for_entry): Changed to support new way to define PLT
  3405. related code.
  3406. (add_symbol_to_plt): Likewise.
  3407. (arc_elf_link_hash_table_create): New function.
  3408. 2016-01-18 Nick Clifton <nickc@redhat.com>
  3409. PR ld/19440
  3410. * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
  3411. section number into internal section number.
  3412. * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
  3413. * coffswap.h (coff_swap_sym_in): Likewise.
  3414. * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
  3415. * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
  3416. section number field is big enough to hold the external value.
  3417. 2016-01-17 Alan Modra <amodra@gmail.com>
  3418. * configure: Regenerate.
  3419. 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
  3420. * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
  3421. when address in first unwind entry does not match start of
  3422. section.
  3423. 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
  3424. Jiong Wang <jiong.wang@arm.com>
  3425. PR ld/19368
  3426. * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
  3427. reloc_class_ifunc.
  3428. 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
  3429. * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
  3430. place 'R_' before the reloc name returned.
  3431. (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
  3432. the relocation string.
  3433. 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
  3434. * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
  3435. factored out from...
  3436. (_bfd_mips_elf_merge_private_bfd_data): ... here.
  3437. 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
  3438. * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
  3439. attribute check after ELF file header flag check.
  3440. 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
  3441. * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
  3442. return status from `_bfd_elf_merge_object_attributes'.
  3443. 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
  3444. * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
  3445. factored out from...
  3446. (_bfd_mips_elf_merge_private_bfd_data): ... here.
  3447. 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
  3448. * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
  3449. handling of input MIPS ABI flags together.
  3450. 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
  3451. * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
  3452. attribute checks for null input.
  3453. 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
  3454. * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
  3455. pointers to target data.
  3456. 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
  3457. * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
  3458. an FP ABI warning.
  3459. 2016-01-01 Alan Modra <amodra@gmail.com>
  3460. Update year range in copyright notice of all files.
  3461. For older changes see ChangeLog-2015 and doc/ChangeLog-0415
  3462. Copyright (C) 2016 Free Software Foundation, Inc.
  3463. Copying and distribution of this file, with or without modification,
  3464. are permitted in any medium without royalty provided the copyright
  3465. notice and this notice are preserved.
  3466. Local Variables:
  3467. mode: change-log
  3468. left-margin: 8
  3469. fill-column: 74
  3470. version-control: never
  3471. End: