ChangeLog-2013 119 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239
  1. 2013-12-30 Ilya Tocar <ilya.tocar@intel.com>
  2. * peXXigen.c (rsrc_process_section): Use ptrdiff_t as the type for
  3. pointer arithmetic.
  4. 2013-12-20 Alan Modra <amodra@gmail.com>
  5. * elf-eh-frame.c (cie_eq): Return false when initial_insn_length
  6. is too large.
  7. (cie_compute_hash): Don't exceed bounds of initial_instructions.
  8. (_bfd_elf_parse_eh_frame): Always set initial_insn_length, and
  9. save as much of insns to initial_instructions[] as will fit.
  10. 2013-12-19 H.J. Lu <hongjiu.lu@intel.com>
  11. PR binutils/16317
  12. * elf.c (assign_section_numbers): Set the SHF_INFO_LINK bit for
  13. SHT_REL/SHT_RELA sections when setting the sh_info field.
  14. 2013-12-19 Pierre Muller <muller@sourceware.org>
  15. * peXXigen.c (rsrc_cmp): Fix unused variable warning.
  16. 2013-12-19 Pierre Muller <muller@sourceware.org>
  17. * peXXigen.c (u16_mbtouc): Avoid unused function warning by excluding
  18. if __CYGWIN__ or __MINGW32__ macro is defined.
  19. (rsrc_cmp): Fix Windows host version and version without wchar header.
  20. [__CYGWIN__, __MINGW32__]: Introduce rsrccmp macro.
  21. Fix coding standard issues.
  22. 2013-12-19 Andreas Schwab <schwab@suse.de>
  23. * elf32-m68k.c (elf_m68k_add_symbol_hook): New function.
  24. (elf_backend_add_symbol_hook): Define.
  25. 2013-12-18 Nick Clifton <nickc@redhat.com>
  26. * peXXigen.c (rsrc_print_section): Use ptrdiff_t as the type for
  27. pointer arithmetic.
  28. 2013-12-17 H.J. Lu <hongjiu.lu@intel.com>
  29. * elf32-arm.c (elf32_arm_post_process_headers): Call
  30. _bfd_elf_post_process_headers.
  31. 2013-12-17 H.J. Lu <hongjiu.lu@intel.com>
  32. * elf32-spu.c (spu_elf_post_process_headers): Call
  33. _bfd_elf_post_process_headers.
  34. * elfxx-mips.c (_bfd_mips_post_process_headers): Likewise.
  35. 2013-12-17 H.J. Lu <hongjiu.lu@intel.com>
  36. * elf-bfd.h (_bfd_elf_set_osabi): Renamed to ...
  37. (_bfd_elf_post_process_headers): This.
  38. * elf.c (_bfd_elf_compute_section_file_positions): Always
  39. call elf_backend_post_process_headers.
  40. (_bfd_elf_set_osabi): Renamed to ...
  41. (_bfd_elf_post_process_headers): This.
  42. * elf32-hppa.c (elf_backend_post_process_headers): Removed.
  43. * elf32-i370.c (elf_backend_post_process_headers): Likewise.
  44. * elf32-msp430.c (elf_backend_post_process_headers): Likewise.
  45. * elf32-ppc.c (elf_backend_post_process_headers): Likewise.
  46. * elf32-sparc.c (elf_backend_post_process_headers): Likewise.
  47. * elf64-hppa.c (elf_backend_post_process_headers): Likewise.
  48. * elf64-ppc.c (elf_backend_post_process_headers): Likewise.
  49. * elf64-sparc.c (elf_backend_post_process_headers): Likewise.
  50. * elf64-x86-64.c (elf_backend_post_process_headers): Likewise.
  51. * (elf_backend_post_process_headers): Likewise.
  52. * (elf_backend_post_process_headers): Likewise.
  53. * elf32-i386.c (elf_backend_post_process_headers): Don't
  54. define as _bfd_elf_set_osabi.
  55. (elf_i386_fbsd_post_process_headers): Updated.
  56. * elf32-mips.c (elf_fbsd_post_process_headers): Removed.
  57. (elf_backend_post_process_headers): Likewise.
  58. * elf32-tic6x.c (elf32_tic6x_set_osabi): Removed.
  59. (elf_backend_post_process_headers): Likewise.
  60. * elf64-mips.c (elf_fbsd_post_process_headers): Removed.
  61. (elf_backend_post_process_headers): Likewise.
  62. * elfn32-mips.c (elf_fbsd_post_process_headers): Removed.
  63. (elf_backend_post_process_headers): Likewise.
  64. * elfnn-aarch64.c (elfNN_aarch64_post_process_headers): Updated.
  65. * elfxx-target.h (elf_backend_post_process_headers): Default
  66. to _bfd_elf_post_process_headers.
  67. 2013-12-17 H.J. Lu <hongjiu.lu@intel.com>
  68. PR binutils/16318
  69. * elf32-arm.c (elf32_arm_copy_private_bfd_data): Call
  70. _bfd_elf_copy_private_bfd_data.
  71. * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Removed.
  72. (elf32_bfinfdpic_copy_private_bfd_data): Likewise.
  73. (bfd_elf32_bfd_copy_private_bfd_data): Don't define.
  74. * elf32-frv.c (frv_elf_copy_private_bfd_data): Removed.
  75. (elf32_frvfdpic_copy_private_bfd_data): Likewise.
  76. (bfd_elf32_bfd_copy_private_bfd_data): Don't define.
  77. * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Removed.
  78. (bfd_elf32_bfd_copy_private_bfd_data): Don't define.
  79. * elf32-lm32.c (lm32_elf_copy_private_bfd_data): Removed.
  80. (lm32_elf_fdpic_copy_private_bfd_data): Call
  81. _bfd_elf_copy_private_bfd_data.
  82. * elf32-mep.c (mep_elf_copy_private_bfd_data): Removed.
  83. (bfd_elf32_bfd_copy_private_bfd_data): Don't define.
  84. * elf32-msp430.c (elf32_msp430_copy_private_bfd_data): Removed.
  85. (bfd_elf32_bfd_copy_private_bfd_data): Don't define.
  86. * elf32-mt.c (mt_elf_copy_private_bfd_data): Removed.
  87. (bfd_elf32_bfd_copy_private_bfd_data): Don't define.
  88. * elf32-sh.c (sh_elf_set_private_flags): Removed.
  89. (sh_elf_copy_private_data): Call _bfd_elf_copy_private_bfd_data
  90. and sh_elf_set_mach_from_flags.
  91. * elfnn-aarch64.c (elfNN_aarch64_copy_private_bfd_data): Removed.
  92. (bfd_elfNN_bfd_copy_private_bfd_data): Don't define.
  93. 2013-12-17 H.J. Lu <hongjiu.lu@intel.com>
  94. * peXXigen.c (rsrc_process_section): Rename index to indx.
  95. 2013-12-17 Nick Clifton <nickc@redhat.com>
  96. * peXXigen.c: Include wchar.h if available.
  97. Include safe-ctype.h.
  98. (HighBitSet, SetHighBit, WithoutHighBit): New macros.
  99. (pe_print_resource_entries): Rename to
  100. rsrc_print_resource_entries. Handle names that are not RVAs.
  101. (pe_print_resource_directory): Rename to
  102. rsrc_print_resource_directory.
  103. (pe_print_rsrc): Rename to rsrc_print_section. Corrupt
  104. computation of RVA bias.
  105. (rsrc_count_entries): New function.
  106. (rsrc_count_directory): New function.
  107. (rsrc_parse_entry): New function.
  108. (rsrc_parse_entries): New function.
  109. (rsrc_parse_directory): New function.
  110. (rsrc_write_string): New function.
  111. (rsrc_compute_rva): New function.
  112. (rsrc_write_leaf): New function.
  113. (rsrc_write_entry): New function.
  114. (rsrc_write_directory): New function.
  115. (u16_mbtouc): New function.
  116. (rsrc_cmp): New function.
  117. (rsrc_print_name): New function.
  118. (rsrc_resource_name): New function.
  119. (rsrc_merge_string_entries): New function.
  120. (rsrc_sort_entries): New function.
  121. (rsrc_attach_chain): New function.
  122. (rsrc_merge): New function.
  123. (rsrc_process_section): New function - merges the contents of a
  124. .rsrc section.
  125. (_bfd_XXi_final_link_postscript): Call rsrc_process_section.
  126. (rsrc_print_section): Fix mingw64 size issue.
  127. * configure.in (AC_CHECK_HEADERS): Add wchar.h
  128. * config.in: Regenerate.
  129. * configure: Regenerate.
  130. 2013-12-16 Andreas Schwab <schwab@suse.de>
  131. * elf64-ppc.c (ppc64_elf_relocate_section): Add newline to error
  132. message.
  133. 2013-12-14 Alan Modra <amodra@gmail.com>
  134. * elflink.c (_bfd_elf_merge_symbol): If merging a new weak
  135. symbol that will be skipped, we don't have a new definition.
  136. 2013-12-13 Kuan-Lin Chen <kuanlinchentw@gmail.com>
  137. Wei-Cheng Wang <cole945@gmail.com>
  138. * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add nds32
  139. files.
  140. * Makefile.in: Regenerate.
  141. * archures.c (bfd_nds32_arch): Add nds32 target.
  142. * bfd-in2.h: Regenerate.
  143. * config.bfd (nds32*le-*-linux): Add bfd_elf32_nds32lelin_vec
  144. and bfd_elf32_nds32belin_vec.
  145. (nds32*be-*-linux*): Likewise.
  146. (nds32*le-*-*): Add bfd_elf32_nds32le_vec and bfd_elf32_nds32be_vec.
  147. (nds32*be-*-*): Likewise.
  148. * configure.in (bfd_elf32_nds32be_vec): Add elf32-nds32.lo.
  149. (bfd_elf32_nds32le_vec): Likewise.
  150. (bfd_elf32_nds32belin_vec): Likewise.
  151. (bfd_elf32_nds32lelin_vec): Likewise.
  152. * configure: Regenerate.
  153. * cpu-nds32.c: New file for nds32.
  154. * elf-bfd.h: Add NDS32_ELF_DATA.
  155. * elf32-nds32.c: New file for nds32.
  156. * elf32-nds32.h: New file for nds32.
  157. * libbfd.h: Regenerate.
  158. * reloc.c: Add relocations for nds32.
  159. * targets.c (bfd_elf32_nds32be_vec): New declaration for nds32.
  160. (bfd_elf32_nds32le_vec): Likewise.
  161. (bfd_elf32_nds32belin_vec): Likewise.
  162. (bfd_elf32_nds32lelin_vec): Likewise.
  163. 2013-12-12 H.J. Lu <hongjiu.lu@intel.com>
  164. PR binutils/16318
  165. * elf.c (_bfd_elf_copy_private_bfd_data): Remove BFD_ASSERT.
  166. Set e_flags only if elf_flags_init is FALSE. Copy EI_OSABI
  167. field.
  168. 2013-12-12 H.J. Lu <hongjiu.lu@intel.com>
  169. * elf32-sh.c (bfd_elf32_bfd_set_private_bfd_flags): Removed.
  170. 2013-12-12 H.J. Lu <hongjiu.lu@intel.com>
  171. * elf.c (assign_file_positions_except_relocs): Set e_type in ELF
  172. header to ET_EXEC for -pie -Ttext-segment=.
  173. 2013-12-08 Alan Modra <amodra@gmail.com>
  174. * elflink.c (_bfd_elf_add_default_symbol): Set dynamic_def
  175. and ref_dynamic_nonweak when chaining together indirect
  176. symbols.
  177. 2013-12-06 Tristan Gingold <gingold@adacore.com>
  178. * pei-x86_64.c (pex64_xdata_print_uwd_codes): Add argument rf.
  179. Display epilog opcode.
  180. (pex64_dump_xdata): Add argument rf; make addr a local variable.
  181. Adjust call to pex64_xdata_print_uwd_codes.
  182. (pex64_bfd_print_pdata): Display code range, adjust call to
  183. 2013-12-05 Tristan Gingold <gingold@adacore.com>
  184. * mach-o.c (bfd_mach_o_mkobject_init): Use bfd_zalloc.
  185. 2013-12-03 Nick Clifton <nickc@redhat.com>
  186. * peXXigen.c (pe_print_resource_entries): New function: Displays
  187. an entry in a .rsrc section.
  188. (pe_print_resource_directory): New function: Displays a directory
  189. in a .rsrc section.
  190. (pe_print_rsrc): New function: Displays the contents of .rsrc
  191. section.
  192. (_bfd_XX_print_private_bfd_data_common): Call pe_print_rsrc.
  193. 2013-12-03 Alan Modra <amodra@gmail.com>
  194. * elf64-ppc.c (ppc_build_one_stub <ppc_stub_plt_branch_r2off>):
  195. Don't omit saving of r2 for ELFv2. Don't addi 2,2,0.
  196. (ppc_size_one_stub <ppc_stub_plt_branch_r2off>): Adjust to suit.
  197. 2013-12-03 Alan Modra <amodra@gmail.com>
  198. * elf64-ppc.c (ppc64_elf_link_just_syms): Remove .got check.
  199. Handle ELFv2.
  200. 2013-11-26 Will Newton <will.newton@linaro.org>
  201. * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol):
  202. Handle STT_GNU_IFUNC symbols correctly in static links.
  203. 2013-11-26 Will Newton <will.newton@linaro.org>
  204. * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Ensure
  205. PLT_INDEX is calculated using correct header size.
  206. 2013-11-22 Cory Fields <cory@coryfields.com>
  207. * libcoff-in.h: Add insert_timestamp flag to the pe_data struct.
  208. * libcoff.h: Regenerate.
  209. * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Only use a real
  210. timestamp if --insert-timestamp was used.
  211. 2013-11-19 Roland McGrath <mcgrathr@google.com>
  212. * elf-nacl.c (nacl_modify_segment_map): Calculate SIZEOF_HEADERS
  213. when not doing linking (i.e. INFO is a null pointer).
  214. 2013-11-19 H.J. Lu <hongjiu.lu@intel.com>
  215. * elf64-x86-64.c (elf_x86_64_section_from_shdr): Re-indent.
  216. 2013-11-17 H.J. Lu <hongjiu.lu@intel.com>
  217. * elf64-x86-64.c (x86_64_elf_howto_table): Add R_X86_64_PC32_BND
  218. and R_X86_64_PLT32_BND.
  219. (R_X86_64_standard): Replace R_X86_64_RELATIVE64 with
  220. R_X86_64_PLT32_BND.
  221. (IS_X86_64_PCREL_TYPE): Add R_X86_64_PLT32_BND.
  222. (x86_64_reloc_map): Add BFD_RELOC_X86_64_PC32_BND and
  223. BFD_RELOC_X86_64_PLT32_BND.
  224. (elf_x86_64_check_relocs): Handle R_X86_64_PC32_BND and
  225. R_X86_64_PLT32_BND.
  226. (elf_x86_64_gc_sweep_hook): Likewise.
  227. (elf_x86_64_relocate_section): Likewise.
  228. * reloc.c (bfd_reloc_code_real): Add BFD_RELOC_X86_64_PC32_BND
  229. and BFD_RELOC_X86_64_PLT32_BND.
  230. * bfd-in2.h: Regenerated.
  231. * libbfd.h: Likewise.
  232. 2013-11-15 H.J. Lu <hongjiu.lu@intel.com>
  233. * elf32-i386.c (elf_i386_allocate_dynrelocs): Make room for
  234. PLT0 directly.
  235. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
  236. 2013-11-14 Nick Clifton <nickc@redhat.com>
  237. PR ld/16017
  238. * elf32-arm.c (elf32_arm_populate_plt_entry): Return a boolean
  239. value, TRUE for success, FALSE for failure.
  240. Fail if attempting to create a PLT entry for a thumb only target.
  241. (elf32_arm_final_link_relocate): Check result of calling
  242. elf32_arm_populate_plt_entry.
  243. (elf32_arm_finish_dynamic_symbol): Likewise.
  244. 2013-11-14 Guy Martin <gmsoft@tuxicoman.be>
  245. PR ld/16082
  246. * elf32-hppa.c (elf32_hppa_hide_symbol): Remove old version
  247. information when forcing a symbol to be local.
  248. 2013-11-13 Yufeng Zhang <yufeng.zhang@arm.com>
  249. * elfnn-aarch64.c (elfNN_aarch64_howto_table): Use
  250. R_AARCH64_TLS_DTPMOD64 instead of R_AARCH64_TLS_DTPMOD;
  251. likewise for R_AARCH64_TLS_DTPREL and R_AARCH64_TLS_TPREL.
  252. 2013-11-12 Matthew Leach <Matthew.Leach@arm.comm>
  253. * elfxx-aarch64.c (_bfd_aarch64_elf_grok_prstatus): Fix hard-coded
  254. size of struct elf_prstatus.
  255. 2013-11-11 Alan Modra <amodra@gmail.com>
  256. * elf64-ppc.c (allocate_dynrelocs): Revert 2013-11-04 change.
  257. 2013-11-11 Ulrich Weigand <uweigand@de.ibm.com>
  258. * elf64-ppc.c (ppc64_elf_edit_toc): Use SYMBOL_REFERENCES_LOCAL
  259. here, not SYMBOL_CALLS_LOCAL.
  260. (ppc64_elf_relocate_section): Likewise.
  261. (size_global_entry_stubs): Set undefined symbols on their global
  262. entry stubs here..
  263. (build_global_entry_stubs): ..rather than here.
  264. (ppc64_elf_build_stubs): Don't reset glink->size before calling
  265. build_global_entry_stubs.
  266. 2013-11-07 Roland McGrath <mcgrathr@google.com>
  267. * archures.c (bfd_mach_i386_nacl): Fix definition so it doesn't
  268. collide with bfd_mach_l1om.
  269. * bfd-in2.h: Regenerate.
  270. * elf32-i386.c (elf32_i386_nacl_elf_object_p): New function.
  271. (elf_backend_object_p): Use that in elf32-i386-nacl definition.
  272. * elf64-x86-64.c (elf64_x86_64_nacl_elf_object_p): New function.
  273. (elf_backend_object_p): Use that in elf64-x86-64-nacl definition.
  274. (elf32_x86_64_nacl_elf_object_p): New function.
  275. (elf_backend_object_p): Use that in elf32-x86-64-nacl definition.
  276. 2013-11-05 DJ Delorie <dj@redhat.com>
  277. * elf32-rl78.c (elf32_rl78_relax_delete_bytes): Make sure relocs
  278. are loaded before trying to use them.
  279. 2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
  280. Bernhard Rosenkränzer <bernhard.rosenkranzer@linaro.org>
  281. PR ld/4409
  282. * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add an argument for
  283. error ignored.
  284. * elf-m10200.c (mn10200_elf_relocate_section): Updated.
  285. * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
  286. * elf32-arm.c (elf32_arm_relocate_section): Likewise.
  287. * elf32-avr.c (elf32_avr_relocate_section): Likewise.
  288. * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
  289. (bfin_relocate_section): Likewise.
  290. * elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
  291. * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
  292. * elf32-cris.c (cris_elf_relocate_section): Likewise.
  293. * elf32-crx.c (elf32_crx_relocate_section): Likewise.
  294. * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
  295. * elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
  296. * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
  297. * elf32-frv.c (elf32_frv_relocate_section): Likewise.
  298. * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
  299. * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
  300. * elf32-i386.c (elf_i386_relocate_section): Likewise.
  301. * elf32-i860.c (elf32_i860_relocate_section): Likewise.
  302. * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
  303. * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
  304. * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
  305. * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
  306. * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
  307. * elf32-metag.c (elf_metag_relocate_section): Likewise.
  308. * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
  309. * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
  310. * elf32-mep.c (mep_elf_relocate_section): Likewise.
  311. * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
  312. * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
  313. * elf32-mt.c (mt_elf_relocate_section): Likewise.
  314. * elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
  315. * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
  316. * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
  317. * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
  318. * elf32-rx.c (rx_elf_relocate_section): Likewise.
  319. * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
  320. * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
  321. * elf32-s390.c (elf_s390_relocate_section): Likewise.
  322. * elf32-v850.c (v850_elf_relocate_section): Likewise.
  323. * elf32-vax.c (elf_vax_relocate_section): Likewise.
  324. * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
  325. * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
  326. * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
  327. * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
  328. * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
  329. * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
  330. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
  331. * elf64-s390.c (elf_s390_relocate_section): Likewise.
  332. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
  333. * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
  334. * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
  335. * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
  336. * elfnn-ia64.c (elfNN_ia64_relocate_section): Skip if error
  337. from RELOC_FOR_GLOBAL_SYMBOL in executable is ignored.
  338. 2013-11-05 Alan Modra <amodra@gmail.com>
  339. * elf64-ppc.c (ppc64_elf_func_desc_adjust): Make .TOC. defined and
  340. hidden.
  341. (ppc64_elf_set_toc): Adjust.
  342. 2013-11-05 Alan Modra <amodra@gmail.com>
  343. * elf64-ppc.c (struct ppc_link_hash_table): Remove got, plt, relplt,
  344. iplt, reliplt. Update all references to use elf.sgot, elf.splt,
  345. elf.srelplt, elf.iplt and elf.irelplt.
  346. 2013-11-03 Sandra Loosemore <sandra@codesourcery.com>
  347. * elf32-niso2.c (nios2_elf32_do_hi16_relocate): Remove incorrect
  348. ATTRIBUTE_UNUSED from parameter.
  349. (nios2_elf_do_lo16_relocate): Likewise.
  350. (nios2_elf32_do_hiadj16_relocate): Likewise.
  351. (nios2_elf32_do_pcrel_lo16_relocate): Likewise.
  352. (nios2_elf32_do_pcrel_hiadj16_relocate): Likewise.
  353. (nios2_elf32_do_pcrel16_relocate): Likewise.
  354. (nios2_elf32_do_call26_relocate): Likewise.
  355. (nios2_elf32_do_gprel_relocate): Likewise.
  356. (nios2_elf32_do_ujmp_relocate): Likewise.
  357. (nios2_elf32_do_cjmp_relocate): Likewise.
  358. (nios2_elf32_do_callr_relocate): Likewise.
  359. (nios2_elf32_gc_mark_hook): Likewise.
  360. 2013-11-04 Alan Modra <amodra@gmail.com>
  361. * elf64-ppc.c (ppc64_elf_relocate_section): Edit global entry
  362. prologue to non-PIC in non-PIC executables.
  363. 2013-11-04 Alan Modra <amodra@gmail.com>
  364. * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Copy
  365. pointer_equality_needed flag.
  366. (ppc64_elf_check_relocs): For ELFv2 arrange to emit plt
  367. entries for references to functions in shared libraries on
  368. non-call relocs.
  369. (readonly_dynrelocs): Split into function of the same name and..
  370. (maybe_set_textrel): ..this new function. Update call.
  371. (ppc64_elf_adjust_dynamic_symbol): Don't emit dynrelocs for
  372. ELFv2 in most cases if we have a plt entry. Use new
  373. readonly_relocs.
  374. (allocate_dynrelocs): For ELFv2, don't allocate dynreloc space
  375. for ifunc in static executables.
  376. (size_global_entry_stubs): New function.
  377. (ppc64_elf_size_dynamic_sections): Call size_global_entry_stubs.
  378. Save end of glink branch table.
  379. (ppc64_elf_hash_symbol): New function.
  380. (build_global_entry_stubs): New function.
  381. (ppc64_elf_build_stubs): Call build_global_entry_stubs. Adjust
  382. glink sizing.
  383. (ppc64_elf_relocate_section): Tidy plt16/32/64 reloc code.
  384. (ppc64_elf_finish_dynamic_symbol): For ELFv2, adjust symbols
  385. defined on plt code.
  386. 2013-11-02 Alan Modra <amodra@gmail.com>
  387. * opncls.c (_bfd_new_bfd): Don't init vars already zeroed.
  388. 2013-11-02 Alan Modra <amodra@gmail.com>
  389. * elf64-ppc.c (ppc64_elf_next_input_section): Always set toc_off
  390. to value for object file.
  391. 2013-11-01 Roland McGrath <mcgrathr@google.com>
  392. * elf-nacl.c (segment_eligible_for_headers): Drop requirement that
  393. some section have SEC_HAS_CONTENTS set. It's not set for
  394. .note.gnu.build-id, and a segment of only read-only SHT_NOBITS
  395. sections is implausible and not really supportable anyway.
  396. 2013-10-30 Alan Modra <amodra@gmail.com>
  397. * elf32-ppc.c (ppc_elf_size_dynamic_sections): Use new DT_PPC_OPT
  398. tag to specify tls optimisation.
  399. * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
  400. (ppc64_elf_finish_dynamic_sections): Specify whether multiple
  401. toc pointers are used via DT_PPC64_OPT.
  402. 2013-10-30 Alan Modra <amodra@gmail.com>
  403. * elf64-ppc.c (STK_LR, STK_TOC, STK_LINKER): Define.
  404. (savegpr0_tail, restgpr0_tail, savefpr0_tail, restfpr0_tail)
  405. build_plt_stub, build_tls_get_addr_stub, ppc_build_one_stub,
  406. ppc64_elf_relocate_section): Use new defines.
  407. 2013-10-30 Alan Modra <amodra@gmail.com>
  408. * elf64-ppc.c (PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE): Add htab
  409. parameter and adjust for ELFv2. Update all uses.
  410. (PLT_CALL_STUB_SIZE): Delete.
  411. (ppc64_elf_get_synthetic_symtab): Support new glink layout.
  412. (allocate_dynrelocs): Likewise.
  413. (plt_stub_size, build_plt_stub): Adjust for ELFv2.
  414. (get_r2off): Return 0 for ELFv2 -R.
  415. (ppc_build_one_stub, ppc_size_one_stub): Adjust for ELFv2.
  416. (ppc64_elf_size_stubs): Likewise.
  417. (ppc64_elf_build_stubs): Add new ELFv2 glink.
  418. 2013-10-30 Alan Modra <amodra@gmail.com>
  419. Ulrich Weigand <uweigand@de.ibm.com>
  420. * elf64-ppc.c (struct ppc_stub_hash_entry): Add "other".
  421. (stub_hash_newfunc): Init new ppc_stub_hash_entry field, and one
  422. we forgot, "plt_ent".
  423. (ppc64_elf_add_symbol_hook): Check ELFv1 objects don't have
  424. st_other bits only valid in ELFv2.
  425. (ppc64_elf_merge_symbol_attribute): New function.
  426. (ppc_type_of_stub): Add local_off param to test branch range.
  427. (ppc_build_one_stub): Adjust destinations for ELFv2 locals.
  428. (ppc_size_one_stub, toc_adjusting_stub_needed): Similarly.
  429. (ppc64_elf_size_stubs): Pass local_off to ppc_type_of_stub.
  430. Set "other" field.
  431. (ppc64_elf_relocate_section): Adjust destination for ELFv2 local
  432. calls.
  433. 2013-10-30 Alan Modra <amodra@gmail.com>
  434. * elf64-ppc.c (abiversion, set_abiversion): New functions.
  435. (ppc64_elf_get_synthetic_symtab): Handle ELFv2 objects without .opd.
  436. (struct ppc_link_hash_table): Add opd_abi.
  437. (ppc64_elf_check_relocs): Check no .opd with ELFv2.
  438. (ppc64_elf_merge_private_bfd_data): New function.
  439. (ppc64_elf_print_private_bfd_data): New function.
  440. (ppc64_elf_tls_setup): Set htab->opd_abi.
  441. (ppc64_elf_size_dynamic_sections): Don't emit OPD related dynamic
  442. tags for ELFv2.
  443. (ppc_build_one_stub): Use R_PPC64_IRELATIVE for ELFv2 ifunc.
  444. (ppc64_elf_finish_dynamic_symbol): Likewise
  445. 2013-10-30 Alan Modra <amodra@gmail.com>
  446. * elf64-ppc.c (build_plt_stub): Switch stubs to use r11 as base
  447. reg and r12 as destination.
  448. (ppc_build_one_stub): Likewise.
  449. (ppc64_elf_build_stubs): Likewise for glink.
  450. 2013-10-30 Alan Modra <amodra@gmail.com>
  451. * reloc.c (BFD_RELOC_PPC64_ADDR16_HIGH, BFD_RELOC_PPC64_ADDR16_HIGHA,
  452. BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA,
  453. BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA): New.
  454. * elf64-ppc.c (ppc64_elf_howto_raw): Add entries for new relocs.
  455. Make all _HA and _HI relocs report signed overflow.
  456. (ppc64_elf_reloc_type_lookup): Handle new relocs.
  457. (must_be_dyn_reloc, ppc64_elf_check_relocs): Likewise.
  458. (dec_dynrel_count, ppc64_elf_relocate_section): Likewise.
  459. (ppc64_elf_relocate_section): Don't apply 0x8000 adjust to
  460. R_PPC64_TPREL16_HIGHER, R_PPC64_TPREL16_HIGHEST,
  461. R_PPC64_DTPREL16_HIGHER, and R_PPC64_DTPREL16_HIGHEST.
  462. * libbfd.h: Regenerate.
  463. * bfd-in2.h: Regenerate.
  464. 2013-10-29 Roland McGrath <mcgrathr@google.com>
  465. * elf64-x86-64.c (elf_x86_64_nacl_plt0_entry): Correct 9-byte nop
  466. sequence to match what the assembler generates.
  467. 2013-10-29 Jan Beulich <jbeulich@suse.com>
  468. * elflink.c (struct elf_outext_info): Add field file_sym_done.
  469. (bfd_elf_final_link): Initialize new field. Move fake STT_FILE
  470. symbol emission from here ...
  471. (elf_link_output_extsym): ... to here.
  472. 2013-10-24 Nick Clifton <nickc@redhat.com>
  473. PR binutils/15994
  474. * dwarf2.c (lookup_address_in_line_info_table): Change return type
  475. to be the range of addresses covered by the table.
  476. (comp_unit_find_nearest_line): Likewise.
  477. (find_line): Search all CUs. Select the one that matches and
  478. covers the smallest address range.
  479. 2013-10-18 Hans-Peter Nilsson <hp@axis.com>
  480. * elf32-cris.c (cris_elf_check_relocs): Don't assume
  481. a registered dynobj means that a .got has been created.
  482. 2013-10-17 Alan Modra <amodra@gmail.com>
  483. PR 16056
  484. * elf.c (copy_elf_program_header): Only consider SEC_ALLOC sections
  485. when finding lowest_section.
  486. 2013-10-14 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
  487. * elfxx-mips.c (mips_elf_obj_tdata): Add abi_msa_bfd.
  488. (mips_elf_merge_obj_attributes): Set abi_msa_bfd to the first object
  489. file that has a Tag_GNU_MIPS_ABI_MSA attribute.
  490. Merge Tag_GNU_MIPS_ABI_MSA attributes.
  491. 2013-10-14 Nick Clifton <nickc@redhat.com>
  492. * gen-aout.c (main): Fix formatting. Close file.
  493. 2013-10-13 Richard Sandiford <rdsandiford@googlemail.com>
  494. * elfxx-mips.c (mips_use_local_got_p): New function.
  495. (mips_elf_count_got_symbols, mips_elf_calculate_relocation): Use it.
  496. (_bfd_mips_elf_check_relocs): Set pointer_equality_needed for
  497. GOT and absolute references.
  498. 2013-10-09 Roland McGrath <mcgrathr@google.com>
  499. * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Cast switch
  500. expression to int to silence over-eager compiler warnings.
  501. * xcofflink.c (_bfd_xcoff_bfd_final_link): Don't touch EREL in
  502. loop that doesn't use (or initialize) it.
  503. * elfxx-tilegx.c (tilegx32_plt_tail_entry, tilegx32_plt_tail_entry):
  504. Move second const qualifier so it applies to the pointer.
  505. 2013-10-09 Nick Clifton <nickc@redhat.com>
  506. PR binutils/16022
  507. * elf32-rx.c (rx_dump_symtab): Add missing break statements.
  508. 2013-10-09 Tom Tromey <tromey@redhat.com>
  509. * opncls.c (get_alt_debug_link_info_shim): Update type of 'len'.
  510. 2013-10-09 Nick Clifton <nickc@redhat.com>
  511. PR ld/16021
  512. * elf32-rl78.c (rl78_dump_symtab): Delete.
  513. (rl78_get_reloc): Delete.
  514. 2013-10-09 Tom Tromey <tromey@redhat.com>
  515. * bfd-in2.h: Rebuild.
  516. * opncls.c (bfd_get_alt_debug_link_info): Change type of
  517. buildid_len to bfd_size_type.
  518. 2013-10-09 Sergio Durigan Junior <sergiodj@redhat.com>
  519. PR binutils/15993
  520. * elf32-m32c.c (dump_symtab): Add missing "break;" statement on each
  521. "case". Reindent "switch" statements.
  522. 2013-10-08 Tom Tromey <tromey@redhat.com>
  523. * bfd-in2.h: Rebuild.
  524. * opncls.c (bfd_get_alt_debug_link_info): Add buildid_len
  525. parameter. Change type of buildid_out. Update.
  526. (get_alt_debug_link_info_shim): New function.
  527. (bfd_follow_gnu_debuglink): Use it.
  528. 2013-10-08 Andreas Schwab <schwab@suse.de>
  529. * elf32-m68k.c (elf_m68k_size_dynamic_sections): Add DT_DEBUG also
  530. for PIE executables.
  531. 2013-10-04 Jan-Benedict Glaw <jbglaw@lug-owl.de>
  532. * configure: Regenerate.
  533. 2013-10-03 Will Newton <will.newton@linaro.org>
  534. * configure: Regenerate.
  535. * configure.in: Build elf-ifunc.o for AArch64.
  536. * elfnn-aarch64.c: Include objalloc.h.
  537. (elfNN_aarch64_local_htab_hash): New function.
  538. (elfNN_aarch64_local_htab_eq): New function.
  539. (elfNN_aarch64_get_local_sym_hash): New function.
  540. (elfNN_aarch64_link_hash_table_create): Initialize local STT_GNU_IFUNC
  541. symbol hash.
  542. (elfNN_aarch64_hash_table_free): Free local STT_GNU_IFUNC symbol hash.
  543. (elfNN_aarch64_final_link_relocate): Add sym argument. Add support
  544. for handling STT_GNU_IFUNC symbols.
  545. (elfNN_aarch64_gc_sweep_hook): Add support for garbage collecting
  546. references to STT_GNU_IFUNC symbols.
  547. (elfNN_aarch64_adjust_dynamic_symbol): Add support for handling
  548. STT_GNU_IFUNC symbols.
  549. (elfNN_aarch64_check_relocs): Add support for handling STT_GNU_IFUNC
  550. symbols. Ensure we don't increase plt.refcount from -1 to 0.
  551. (elfNN_aarch64_post_process_headers): Call _bfd_elf_set_osabi.
  552. (elfNN_aarch64_is_function_type): Remove function.
  553. (elfNN_aarch64_allocate_dynrelocs): Handle STT_GNU_IFUNC symbols.
  554. (elfNN_aarch64_allocate_ifunc_dynrelocs): New function.
  555. (elfNN_aarch64_allocate_local_dynrelocs): New function.
  556. (elfNN_aarch64_allocate_local_ifunc_dynrelocs): New function.
  557. (elfNN_aarch64_size_dynamic_sections): Call
  558. elfNN_aarch64_allocate_local_dynrelocs.
  559. (elfNN_aarch64_create_small_pltn_entry): Add info argument.
  560. Add support for creating .iplt entries for STT_GNU_IFUNC symbols.
  561. (elfNN_aarch64_finish_dynamic_symbol): Add support for handling
  562. STT_GNU_IFUNC symbols and .iplt.
  563. (elfNN_aarch64_finish_local_dynamic_symbol): New function.
  564. (elfNN_aarch64_finish_dynamic_sections): Call
  565. elfNN_aarch64_finish_local_dynamic_symbol.
  566. 2013-09-30 Nick Clifton <nickc@redhat.com>
  567. * cpu-msp430.c: Use printable names that match the values
  568. displayed by readelf.
  569. 2013-08-25 Andrew Pinski <apinski@cavium.com>
  570. * elfnn-aarch64.c (TCB_SIZE): Base on the ARCH_SIZE rather than a
  571. fixed size of 16.
  572. 2013-09-24 Gregory Fong <gregory.0xf0@gmail.com>
  573. * elfxx-mips.c (mips_elf_create_got_section): Hide
  574. _GLOBAL_OFFSET_TABLE_.
  575. 2013-09-24 Alan Modra <amodra@gmail.com>
  576. * elf32-mips.c (ELF_OSABI): Undef for vxworks.
  577. 2013-09-24 Alan Modra <amodra@gmail.com>
  578. * syms.c (_bfd_stab_section_find_nearest_line): Ignore partial
  579. stabs at end of .stab. Tidy variable usage. Don't drop the need
  580. for a NULL function name stab if If N_FUN stab is ignored.
  581. Ensure index entry count loop matches write loop.
  582. 2013-09-20 Alan Modra <amodra@gmail.com>
  583. * configure: Regenerate.
  584. 2013-09-18 Tristan Gingold <gingold@adacore.com>
  585. * configure.in: Bump version to 2.24.51
  586. * configure: Regenerate.
  587. 2013-09-17 Doug Gilmore <Doug.Gilmore@imgtec.com>
  588. * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Handle
  589. EF_MIPS_FP64.
  590. 2013-08-31 John David Anglin <dave.anglin@bell.net>
  591. * elf64-hppa.c (elf_hppa_final_link_relocate): Add missing '%' to
  592. format string.
  593. 2013-08-29 Jakub Jelinek <jakub@redhat.com>
  594. * elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow
  595. 64-bit -mcmodel=large -fpic TLS GD and LD sequences.
  596. (elf_x86_64_relocate_section): Handle -mcmodel=large -fpic
  597. TLS GD and LD sequences in GD->LE, GD->IE and LD->LE transitions.
  598. 2013-08-27 Alan Modra <amodra@gmail.com>
  599. * elf-bfd.h (struct elf_backend_data): Remove as_needed_cleanup.
  600. Add notice_as_needed.
  601. * elf64-ppc.c (elf_backend_as_needed_cleanup): Don't define.
  602. (elf_backend_notice_as_needed): Define.
  603. (ppc64_elf_as_needed_cleanup): Rename and adjust..
  604. (ppc64_elf_notice_as_needed): ..to this.
  605. * elflink.c (_bfd_elf_notice_as_needed): New function, extracted..
  606. (elf_link_add_object_symbols): ..from here.
  607. * elfxx-target.h (elf_backend_as_needed_cleanup): Don't define.
  608. (elf_backend_notice_as_needed): Define..
  609. (elfNN_bed): ..and use here.
  610. 2013-08-26 Roland McGrath <mcgrathr@google.com>
  611. * archures.c (bfd_mach_i386_nacl, bfd_mach_i386_i386_nacl): New macros.
  612. (bfd_mach_x86_64_nacl, bfd_mach_x64_32_nacl): New macros.
  613. * cpu-i386.c (bfd_arch_i386_onebyte_nop_fill): New function.
  614. (bfd_i386_nacl_arch): New variable.
  615. (bfd_x86_64_nacl_arch, bfd_x64_32_nacl_arch): New variables.
  616. (bfd_x64_32_arch_intel_syntax): Link them into the list.
  617. * bfd-in2.h: Regenerate.
  618. 2013-08-26 Roland McGrath <mcgrathr@google.com>
  619. * elf-nacl.c (nacl_modify_segment_map): Fix logic reordering the
  620. elf_segment_map list. If an executable segment is page-aligned
  621. but does not end with a full page, then append a fake section into
  622. the segment map entry that pads out the page.
  623. (nacl_final_write_processing): New function. Write the code fill
  624. laid out in nacl_modify_segment_map.
  625. * elf-nacl.h: Declare it.
  626. * elf32-arm.c (elf32_arm_nacl_final_write_processing): New function.
  627. (elf_backend_final_write_processing): Define it for NaCl backend.
  628. * elf32-i386.c (elf_backend_final_write_processing): Likewise.
  629. * elf64-x86-64.c (elf_backend_final_write_processing): Likewise.
  630. * elf-nacl.c (segment_eligible_for_headers): Rename MAXPAGESIZE
  631. parameter to MINPAGESIZE.
  632. (nacl_modify_segment_map): Use minpagesize instead of maxpagesize.
  633. * elf32-arm.c (ELF_MINPAGESIZE, ELF_COMMONPAGESIZE): #undef for NaCl.
  634. 2013-08-24 Maciej W. Rozycki <macro@linux-mips.org>
  635. * elf32-tilepro.c (tilepro_elf_finish_dynamic_sections): Don't
  636. set GOT's entry size if there is no ELF section data.
  637. * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
  638. * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections):
  639. Likewise.
  640. 2013-08-23 H.J. Lu <hongjiu.lu@intel.com>
  641. * elf64-x86-64.c (get_elf_x86_64_arch_data): New.
  642. (get_elf_x86_64_backend_data): Use it.
  643. (elf_x86_64_size_dynamic_sections): Likewise.
  644. 2013-08-23 Yuri Chornoivan <yurchor@ukr.net>
  645. PR binutils/15834
  646. * bfdio.c: Fix typos.
  647. * elf32-spu.c: Likewise.
  648. * elfnn-aarch64.c: Likewise.
  649. 2013-08-21 Tristan Gingold <gingold@adacore.com>
  650. * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Also count
  651. .ovrflo sections.
  652. * coffcode.h (coff_compute_section_file_positions): Force
  653. match between file offset and vma offset.
  654. 2013-08-21 Alan Modra <amodra@gmail.com>
  655. * elflink.c (_bfd_elf_merge_symbol): Set *poldbfd, *poldweak,
  656. and *poldalignment before exiting when !relocs_compatible.
  657. 2013-08-21 Alan Modra <amodra@gmail.com>
  658. * elflink.c (_bfd_elf_define_linkage_sym): Don't set STV_INTERNAL
  659. symbols to STV_HIDDEN.
  660. 2013-08-14 John Tytgat <john@bass-software.com>
  661. PR ld/15787
  662. * elf32-arm.c (elf32_arm_final_link_relocate): Use origin of output
  663. segment containing the relocating symbol instead of assuming 0 for
  664. sb group relocations.
  665. 2013-08-09 Nick Clifton <nickc@redhat.com>
  666. * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if G10
  667. flag bits do not match.
  668. (rl78_elf_print_private_bfd_data): Describe G10 flag.
  669. 2013-08-05 John Tytgat <john@bass-software.com>
  670. * po/BLD-POTFILES.in: Regenerate.
  671. * po/SRC-POTFILES.in: Likewise.
  672. 2013-07-31 John Tytgat <john@bass-software.com>
  673. PR ld/15787
  674. * elf32-arm.c (elf32_arm_final_link_relocate): Base SB on the
  675. output section VMA.
  676. 2013-07-28 Maciej W. Rozycki <macro@linux-mips.org>
  677. * elf64-hppa.c (elf64_hppa_finish_dynamic_sections)
  678. <DT_HP_LOAD_MAP>: Return unsuccessfully if there's no `.data'
  679. section.
  680. 2013-07-27 Andrew Pinski <apinski@cavium.com>
  681. * elfnn-aarch64.c (elfNN_aarch64_check_relocs):
  682. Use the correct alignment for
  683. _bfd_elf_make_dynamic_reloc_section for ILP32.
  684. 2013-07-27 Andrew Pinski <apinski@cavium.com>
  685. * elfnn-aarch64.c (elfNN_aarch64_howto_from_bfd_reloc): Handle
  686. BFD_RELOC_AARCH64_NONE explicitly.
  687. 2013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
  688. * elf32-vax.c (elf_vax_finish_dynamic_sections): Don't set GOT's
  689. entry size if there is no ELF section data.
  690. 2013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
  691. * elf32-vax.c (elf_vax_check_relocs) <R_VAX_GOT32, R_VAX_PLT32>:
  692. Don't check symbol visibility here. Remove a check already
  693. asserted for.
  694. (elf_vax_instantiate_got_entries): Use SYMBOL_REFERENCES_LOCAL
  695. instead of individual checks.
  696. (elf_vax_relocate_section) <R_VAX_GOT32, R_VAX_PLT32>: Only
  697. check the offset to decide if produce a GOT or PLT entry.
  698. Remove redundant assertions. Remove code to produce GOT entries
  699. for local symbols. Remove a duplicate comment and add a comment
  700. on GOT relocations.
  701. (elf_vax_finish_dynamic_symbol): Remove code to produce RELATIVE
  702. dynamic relocs.
  703. 2013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
  704. * elf32-vax.c (elf_vax_always_size_sections): Correct a comment
  705. typo.
  706. 2013-07-27 Maciej W. Rozycki <macro@linux-mips.org>
  707. * elf32-vax.c (elf_vax_discard_got_entries): New function.
  708. (elf_vax_always_size_sections): Likewise.
  709. (elf_vax_size_dynamic_sections): Remove code moved to
  710. elf_vax_always_size_sections. Make comment on
  711. elf_vax_instantiate_got_entries match reality.
  712. (elf_vax_instantiate_got_entries): Assert that rather than check
  713. if dynobj is null. Don't check for dynamic_sections_created.
  714. Make function description match reality.
  715. (elf_backend_always_size_sections): New macro.
  716. 2013-07-25 Alan Modra <amodra@gmail.com>
  717. * elf64-ppc.c (struct ppc64_elf_obj_tdata): Replace opd_relocs
  718. with a union.
  719. (opd_entry_value): Cache .opd section contents.
  720. (ppc64_elf_relocate_section): Adjust.
  721. 2013-07-25 Alan Modra <amodra@gmail.com>
  722. PR ld/15762
  723. PR ld/12761
  724. * elflink.c (elf_link_add_object_symbols): Correct test in
  725. last patch. Remove unnecessary code.
  726. 2013-07-24 Tristan Gingold <gingold@adacore.com>
  727. * coff-rs6000.c (xcoff_howto_table): Fix masks and pc_relative for
  728. R_RBR. Add numbers in comments.
  729. (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_PPC_B16.
  730. * coff64-rs6000.c: Likewise.
  731. 2013-07-20 Alan Modra <amodra@gmail.com>
  732. PR ld/15762
  733. PR ld/12761
  734. * elflink.c (elf_link_add_object_symbols): Don't clobber
  735. .gnu.warning.symbol sections when shared.
  736. 2013-07-19 Nick Clifton <nickc@redhat.com>
  737. * elf32-rx.c (rx_elf_relocate_section): Fix typo: move
  738. saw_subtract from R_RX_OPdiv to R_RX_OPneg.
  739. 2013-07-18 Travis Snoozy <quandary@remstate.com>
  740. PR ld/15721
  741. * elf32-msp430.c (R_MSP430_10_PCREL): Use 10-bit source and
  742. destination masks.
  743. * R_MSP430_2X_PCREL: Likewise.
  744. * R_MSP430X_10_PCREL: Likewise.
  745. * R_MSP430X_2X_PCREL: Likewise.
  746. 2013-07-18 Terry Guo <terry.guo@arm.com>
  747. * elf32-arm.c (arm_type_of_stub): Don't use ST_BRANCH_TO_ARM for
  748. thumb only targets.
  749. (elf32_arm_final_link_relocate): Likewise.
  750. 2013-07-18 Bill Neubauer <wcn@google.com>
  751. * mach-o.c (mach_o_section_name_xlat dw): Add entry for
  752. .debug_gdb_scripts
  753. 2013-07-18 Roland McGrath <mcgrathr@google.com>
  754. * elf32-arm.c (elf32_arm_stub_long_branch_arm_nacl): New variable.
  755. (elf32_arm_stub_long_branch_arm_nacl_pic): New variable.
  756. (arm_build_one_stub): Increase MAXRELOCS to 3.
  757. (arm_type_of_stub): Use them if GLOBALS->nacl_p.
  758. (struct elf32_arm_link_hash_table): Give add_stub_section member's
  759. pointee type a third argument.
  760. (elf32_arm_create_or_find_stub_sec): Update caller.
  761. (elf32_arm_size_stubs): Update argument type.
  762. * bfd-in.h (elf32_arm_size_stubs): Update decl.
  763. * bfd-in2.h: Regenerate.
  764. * libbfd.h: Regenerate.
  765. 2013-07-15 Maciej W. Rozycki <macro@codesourcery.com>
  766. * elfxx-mips.c (mips_elf_merge_obj_attributes): Replace hardcoded
  767. magic numbers with enum values.
  768. 2013-07-12 Roland McGrath <mcgrathr@google.com>
  769. * reloc.c: Add BFD_RELOC_390_PC12DBL, BFD_RELOC_390_PLT12DBL,
  770. BFD_RELOC_390_PC24DBL, BFD_RELOC_390_PLT24DBL (should have
  771. been added here with 2013-07-05 elf32-s390.c change).
  772. * bfd-in2.h: Regenerate (no-op).
  773. * libbfd.h: Regenerate (no-op).
  774. 2013-07-12 Maciej W. Rozycki <macro@codesourcery.com>
  775. * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Handle
  776. EF_MIPS_NAN2008.
  777. (_bfd_mips_elf_print_private_bfd_data): Likewise.
  778. 2013-07-09 Tristan Gingold <gingold@adacore.com>
  779. * vms-alpha.c (struct vms_private_data_struct): Remove
  780. flag_hash_long_names and flag_show_after_trunc.
  781. (hash_string): Remove.
  782. (_bfd_vms_length_hash_symbol): Remove.
  783. (alpha_vms_write_exec): Remove call to _bfd_vms_length_hash_symbol.
  784. (_bfd_vms_write_egsd): Likewise. Rewrite condition.
  785. (_bfd_vms_write_ehdr): Remove code that set removed flags.
  786. (_bfd_vms_write_etir): Remove call to _bfd_vms_length_hash_symbol.
  787. (vms_bfd_is_local_label_name): Remove trace call.
  788. 2013-07-09 Tristan Gingold <gingold@adacore.com>
  789. * hosts/alphavms.h: Include config.h and ansidecl.h, remove useless
  790. macros.
  791. * configure.com: Adjust to match changes in configure.
  792. * makefile.vms (OBJS): Update list.
  793. 2013-07-05 Tristan Gingold <gingold@adacore.com>
  794. * coffcode.h (coff_write_object_contents): Use ".ovrflo" name for
  795. overflow sections.
  796. 2013-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
  797. * elf32-s390.c: Add new relocation definitions R_390_PC12DBL,
  798. R_390_PLT12DBL, R_390_PC24DBL, and R_390_PLT24DBL.
  799. (elf_s390_reloc_type_lookup, elf_s390_check_relocs)
  800. (elf_s390_gc_sweep_hook, elf_s390_relocate_section): Support new
  801. relocations.
  802. * elf64-s390.c: See elf32-s390.c
  803. * bfd-in2.h: Add new relocs to enum bfd_reloc_code_real.
  804. * libbfd.h: Add new reloc strings.
  805. 2013-07-03 Marcus Shawcroft <marcus.shawcroft@arm.com>
  806. * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Reorder case
  807. values.
  808. (elfNN_aarch64_relocate_section): Likewise.
  809. (elfNN_aarch64_gc_sweep_hook): Likewise.
  810. (elfNN_aarch64_check_relocs): Likewise.
  811. 2013-07-03 Alan Modra <amodra@gmail.com>
  812. * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't hide .TOC.
  813. when relocatable. Don't change root.type or type here.
  814. (ppc64_elf_set_toc): Set type of .TOC. to STT_OBJECT.
  815. 2013-07-03 Alan Modra <amodra@gmail.com>
  816. * elf64-ppc.c (struct ppc_stub_hash_entry): Delete "addend".
  817. (ppc64_elf_size_stubs): Don't set "addend".
  818. (ppc64_elf_relocate_section): Don't allow calls via
  819. toc-adjusting stubs without a following nop even in an
  820. executable, except for self-calls and both libc_start_main
  821. and .libc_start_main.
  822. 2013-07-03 Alan Modra <amodra@gmail.com>
  823. * elf64-ppc.c (ppc64_elf_func_desc_adjust): Hide ".TOC.".
  824. 2013-07-02 Tristan Gingold <gingold@adacore.com>
  825. * coff-rs6000.c (xcoff_find_nearest_line_discriminator): Add missing
  826. line.
  827. 2013-07-02 Tristan Gingold <gingold@adacore.com>
  828. * vms-alpha.c (_bfd_generic_find_nearest_line_discriminator): Define.
  829. (_bfd_vms_find_nearest_line_discriminator): New function.
  830. 2013-07-02 Tristan Gingold <gingold@adacore.com>
  831. * coff-rs6000.c (xcoff_create_csect_from_smclas): Handle more smclas.
  832. 2013-07-02 Tristan Gingold <gingold@adacore.com>
  833. * coff-rs6000.c (xcoff_find_nearest_line_discriminator): New function.
  834. (rs6000coff_vec): Reference it.
  835. 2013-07-02 Marcus Shawcroft <marcus.shawcroft@arm.com>
  836. * elfnn-aarch64.c (aarch64_elf_create_got_section): New.
  837. (elfNN_aarch64_check_relocs): Use aarch64_elf_create_got_section.
  838. (elfNN_aarch64_create_dynamic_sections): Do not define
  839. _GLOBAL_OFFSET_TABLE_; call aarch64_elf_create_got_section.
  840. 2013-07-02 Alan Modra <amodra@gmail.com>
  841. * elf64-ppc.c (ppc64_elf_relocate_section): Set "relocation" for
  842. .TOC. after relocatable check.
  843. 2013-07-01 Alan Modra <amodra@gmail.com>
  844. * elf64-ppc.h (ppc64_elf_toc): Delete.
  845. (ppc64_elf_set_toc): Declare.
  846. * elf64-ppc.c (ppc64_elf_toc_reloc): Replace call to ppc64_elf_toc
  847. with call the ppc64_elf_set_toc.
  848. (ppc64_elf_toc_ha_reloc, ppc64_elf_toc64_reloc): Likewise.
  849. (ppc64_elf_start_multitoc_partition): Likewise.
  850. (struct ppc_link_hash_table): Delete dot_toc_dot. Replace all uses
  851. with elf.hgot.
  852. (ppc64_elf_process_dot_syms): Don't make a fake function descriptor
  853. for ".TOC.".
  854. (ppc64_elf_check_relocs): Mark sections with a reference to .TOC.
  855. as needing a toc pointer.
  856. (ppc64_elf_size_stubs): Don't set dot_toc_dot here.
  857. (ppc64_elf_set_toc): Rename from ppc64_elf_toc. Add info param.
  858. Set elf.hgot value.
  859. 2013-06-28 H.J. Lu <hongjiu.lu@intel.com>
  860. PR ld/15685
  861. * elf64-x86-64.c (elf_x86_64_relocate_section): Handle
  862. R_X86_64_DTPOFF64.
  863. 2013-06-28 Nick Clifton <nickc@redhat.com>
  864. PR ld/15302
  865. * elf32-arm.c (allocate_dynrelocs_for_symbol): Revert previous patch.
  866. 2013-06-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
  867. * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Reserve one slot
  868. in sgot.
  869. (elfNN_aarch64_finish_dynamic_sections): Place the &_DYNAMIC reference
  870. in sgot[0] rather than sgotplt[0].
  871. 2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
  872. * Makefile.am (elf32-aarch64.c): Add a #line cpp directive at the
  873. beginning of the generated file.
  874. (elf64-aarch64.c): Likewise.
  875. * Makefile.in: Re-generated.
  876. 2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
  877. * Makefile.am (BFD64_BACKENDS): Add elfxx-aarch64.c.
  878. (BFD64_BACKENDS_CFILES): Add elfxx-aarch64.lo.
  879. * Makefile.in: Re-generated.
  880. * configure.in (bfd_elf64_bigaarch64_vec): Add elfxx-aarch64.lo.
  881. (bfd_elf64_littleaarch64_vec): Likewise.
  882. (bfd_elf32_bigaarch64_vec): Likewise.
  883. (bfd_elf32_littleaarch64_vec): Likewise.
  884. * configure: Re-generated.
  885. * elfxx-aarch64.c: New file; split from elf64-aarch64.c.
  886. * elfxx-aarch64.h: New file.
  887. * elfnn-aarch64.c: Include "elfxx-aarch64.h"; move the following
  888. stuff to elfxx-aarch64.c.
  889. (bfd_elf_aarch64_put_addend): Removed.
  890. (PG_OFFSET, PG): Likewise.
  891. (elfNN_aarch64_small_plt0_entry): Support ELF32.
  892. (elfNN_aarch64_tlsdesc_small_plt_entry): Likewise.
  893. (elf64_aarch64_grok_prstatus): Removed.
  894. (elf_backend_grok_prstatus): Removed.
  895. (insn32): Likewise.
  896. (aarch64_unsigned_overflow): Likewise.
  897. (aarch64_signed_overflow): Likewise.
  898. (aarch64_resolve_relocation): Likewise.
  899. (MASK): Likewise.
  900. (decode_branch_ofs_26): Likewise.
  901. (decode_cond_branch_ofs_19): Likewise.
  902. (decode_ld_lit_ofs_19): Likewise.
  903. (decode_tst_branch_ofs_14): Likewise.
  904. (decode_movw_imm): Likewise.
  905. (decode_adr_imm): Likewise.
  906. (decode_add_imm): Likewise.
  907. (reencode_branch_ofs_26): Likewise.
  908. (reencode_cond_branch_ofs_19): Likewise.
  909. (reencode_ld_lit_ofs_19): Likewise.
  910. (reencode_tst_branch_ofs_14): Likewise.
  911. (reencode_movw_imm): Likewise.
  912. (reencode_adr_imm): Likewise.
  913. (reencode_ldst_pos_imm): Likewise.
  914. (reencode_add_imm): Likewise.
  915. (reencode_movzn_to_movz): Likewise.
  916. (reencode_movzn_to_movn): Likewise.
  917. (aarch64_relocate): Update to call the new function names in
  918. elfxx-aarch64.c.
  919. (aarch64_calculate_got_entry_vma): Likewise.
  920. (elfNN_aarch64_final_link_relocate): Likewise.
  921. (elf64_aarch64_update_plt_entry): Likewise; change the type of the
  922. parameter 'r_type' to bfd_reloc_code_real_type; rename to ...
  923. (elf_aarch64_update_plt_entry): ... this.
  924. (elfNN_aarch64_create_small_pltn_entry): Update.
  925. (elfNN_aarch64_init_small_plt0_entry): Remove plt_got_base; add
  926. bfd_vma plt_got_2nd_ent; update to call elf_aarch64_update_plt_entry.
  927. (elfNN_aarch64_finish_dynamic_sections): Add plt_entry; update to
  928. call elf_aarch64_update_plt_entry.
  929. 2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
  930. * bfd-in2.h: Re-generated.
  931. * elfnn-aarch64.c (HOWTO64, HOWTO32): New define.
  932. (IS_AARCH64_TLS_RELOC): Change to be based on the
  933. bfd reloc enumerators.
  934. (IS_AARCH64_TLSDESC_RELOC): Likewise.
  935. (PG, PG_OFFSET): Cast literal to bfd_vma.
  936. (elf64_aarch64_howto_table): Removed.
  937. (elf64_aarch64_howto_dynrelocs): Removed.
  938. (elf64_aarch64_tls_howto_table): Removed.
  939. (elf64_aarch64_tlsdesc_howto_table): Removed.
  940. (elfNN_aarch64_howto_table): New table to host all howto entires..
  941. (R_AARCH64_*): Replaced by AARCH64_R (*) and AARCH64_R_STR (*).
  942. (elfNN_aarch64_bfd_reloc_from_howto): New function.
  943. (elfNN_aarch64_bfd_reloc_from_type): Ditto.
  944. (struct elf_aarch64_reloc_map): New.
  945. (elf_aarch64_reloc_map): New table.
  946. (elfNN_aarch64_howto_from_bfd_reloc): New function.
  947. (elfNN_aarch64_howto_from_type): Update to look up the new table
  948. elfNN_aarch64_howto_table.
  949. (struct elf64_aarch64_reloc_map): Remove.
  950. (elf64_aarch64_reloc_map): Remove.
  951. (elfNN_aarch64_reloc_type_lookup): Change to call
  952. elfNN_aarch64_howto_from_bfd_reloc.
  953. (elfNN_aarch64_reloc_name_lookup): Change to look up the new table
  954. elfNN_aarch64_howto_table.
  955. (aarch64_resolve_relocation): Refactor to switch on the bfd
  956. reloc enumerators.
  957. (bfd_elf_aarch64_put_addend): Likewise.
  958. (elfNN_aarch64_final_link_relocate): Likewise.
  959. (aarch64_tls_transition_without_check): Likewise.
  960. (aarch64_reloc_got_type): Likewise.
  961. (aarch64_can_relax_tls): Likewise.
  962. (aarch64_tls_transition): Likewise.
  963. (elfNN_aarch64_tls_relax): Likewise.
  964. (elfNN_aarch64_final_link_relocate): Likewise.
  965. (elfNN_aarch64_relocate_section): Likewise.
  966. (elfNN_aarch64_gc_sweep_hook): Likewise.
  967. (elfNN_aarch64_check_relocs): Likewise.
  968. (aarch64_tls_transition): Change to return a bfd reloc enumerator.
  969. * libbfd.h: Re-generated.
  970. * reloc.c: Re-order the AArch64 bfd reloc enumerators.
  971. (BFD_RELOC_AARCH64_RELOC_START)
  972. (BFD_RELOC_AARCH64_RELOC_END)
  973. (BFD_RELOC_AARCH64_LD_GOT_LO12_NC)
  974. (BFD_RELOC_AARCH64_LD32_GOT_LO12_NC)
  975. (BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC)
  976. (BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC)
  977. (BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC)
  978. (BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC)
  979. (BFD_RELOC_AARCH64_IRELATIVE): New relocs.
  980. 2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
  981. * Makefile.am (BFD64_BACKENDS): Add elf32-aarch64.lo.
  982. (BUILD_CFILES): Add elf32-aarch64.c.
  983. (elf32-aarch64.c): New rule for generating from elfnn-aarch64.c.
  984. * Makefile.in: Re-generated.
  985. * archures.c (bfd_mach_aarch64_ilp32): New define.
  986. * bfd-in.h (bfd_elf32_aarch64_init_maps): New declaration.
  987. (bfd_elf32_aarch64_set_options): Ditto.
  988. (elf32_aarch64_setup_section_lists): Ditto.
  989. (elf32_aarch64_next_input_section): Ditto.
  990. (elf32_aarch64_size_stubs): Ditto.
  991. (elf32_aarch64_build_stubs): Ditto.
  992. * bfd-in2.h: Re-generated.
  993. * config.bfd (aarch64-*-elf): Add bfd_elf32_littleaarch64_vec
  994. and bfd_elf32_bigaarch64_vec.
  995. (aarch64-*-linux*): Likewise.
  996. (aarch64_be-*-elf): Likewise.
  997. (aarch64_be-*-linux*): Likewise.
  998. * configure.in (bfd_elf32_bigaarch64_vec)
  999. (bfd_elf32_littleaarch64_vec): New.
  1000. * configure: Re-generated.
  1001. * cpu-aarch64.c (compatible): Don't allow mixing ilp32 objects with
  1002. lp64 ones.
  1003. (bfd_aarch64_arch_ilp32): New.
  1004. (bfd_aarch64_arch): Link to bfd_aarch64_arch_ilp32.
  1005. * elfnn-aarch64.c (ARCH_SIZE): New define.
  1006. (AARCH64_R, AARCH64_R_STR, LOG_FILE_ALIGN): New defines.
  1007. (GOT_ENTRY_SIZE): Re-define as (ARCH_SIZE / 8).
  1008. (elf64_aarch64_*): Rename to elfNN_aarch64_*.
  1009. (ELF64_R_*): Rename to ELFNN_R_*.
  1010. Plus other paramaterization.
  1011. * targets.c (bfd_elf32_bigaarch64_vec, bfd_elf32_littleaarch64_vec):
  1012. New declarations.
  1013. (_bfd_target_vector): Add bfd_elf32_bigaarch64_vec and
  1014. bfd_elf32_littleaarch64_vec.
  1015. 2013-06-26 Yufeng Zhang <yufeng.zhang@arm.com>
  1016. * Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-aarch64.c.
  1017. (BUILD_CFILES): Add elf64-aarch64.c.
  1018. (elf64-aarch64.c): New rule for generating from elfnn-aarch64.c.
  1019. * Makefile.in: Re-generated.
  1020. * elf64-aarch64.c: Rename to ...
  1021. * elfnn-aarch64.c: ... this.
  1022. 2013-06-25 Maciej W. Rozycki <macro@codesourcery.com>
  1023. Paul Brook <paul@codesourcery.com>
  1024. * elfxx-mips.h (_bfd_mips_elf_insn32): New prototype.
  1025. * elfxx-mips.c (mips_elf_link_hash_table): Add insn32 member.
  1026. (STUB_MOVE32_MICROMIPS, STUB_JALR32_MICROMIPS): New macros.
  1027. (MICROMIPS_INSN32_FUNCTION_STUB_NORMAL_SIZE): Likewise.
  1028. (MICROMIPS_INSN32_FUNCTION_STUB_BIG_SIZE): Likewise.
  1029. (micromips_insn32_o32_exec_plt0_entry): New variable.
  1030. (micromips_insn32_o32_exec_plt_entry): Likewise.
  1031. (_bfd_mips_elf_adjust_dynamic_symbol): Handle insn32 mode.
  1032. (mips_elf_estimate_stub_size): Likewise.
  1033. (_bfd_mips_elf_size_dynamic_sections): Likewise.
  1034. (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
  1035. (mips_finish_exec_plt): Likewise.
  1036. (_bfd_mips_elf_relax_section): Likewise.
  1037. (_bfd_mips_elf_insn32): New function.
  1038. (_bfd_mips_elf_get_synthetic_symtab): Handle insn32 PLT.
  1039. 2013-06-24 Maciej W. Rozycki <macro@codesourcery.com>
  1040. * elfxx-mips.h (_bfd_mips_elf_get_synthetic_symtab): New
  1041. prototype.
  1042. * elf32-mips.c (elf_backend_plt_sym_val): Remove macro.
  1043. (bfd_elf32_get_synthetic_symtab): New macro.
  1044. * elfxx-mips.c (plt_entry): New structure.
  1045. (mips_elf_link_hash_entry): Add use_plt_entry member.
  1046. (mips_elf_link_hash_table): Rename plt_entry_size member to
  1047. plt_mips_entry_size. Add plt_comp_entry_size, plt_mips_offset,
  1048. plt_comp_offset, plt_got_index entries and plt_header_is_comp
  1049. members.
  1050. (STUB_LW_MICROMIPS, STUB_MOVE_MICROMIPS): New macros.
  1051. (STUB_LUI_MICROMIPS, STUB_JALR_MICROMIPS): Likewise.
  1052. (STUB_ORI_MICROMIPS, STUB_LI16U_MICROMIPS): Likewise.
  1053. (STUB_LI16S_MICROMIPS): Likewise.
  1054. (MICROMIPS_FUNCTION_STUB_NORMAL_SIZE): Likewise.
  1055. (MICROMIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
  1056. (micromips_o32_exec_plt0_entry): New variable.
  1057. (mips16_o32_exec_plt_entry): Likewise.
  1058. (micromips_o32_exec_plt_entry): Likewise.
  1059. (mips_elf_link_hash_newfunc): Initialize use_plt_entry.
  1060. (mips_elf_output_extsym): Update to use gotplt_union's plist
  1061. member rather than offset.
  1062. (mips_elf_gotplt_index): Likewise. Remove the VxWorks
  1063. restriction. Use MIPS_ELF_GOT_SIZE to calculate GOT address.
  1064. (mips_elf_count_got_symbols): Update to use gotplt_union's plist
  1065. member rather than offset.
  1066. (mips_elf_calculate_relocation): Handle MIPS16/microMIPS PLT
  1067. entries.
  1068. (_bfd_mips_elf_create_dynamic_sections): Don't set PLT sizes
  1069. here.
  1070. (mips_elf_make_plt_record): New function.
  1071. (_bfd_mips_elf_check_relocs): Update comment. Record occurences
  1072. of JAL relocations that might need a PLT entry.
  1073. (_bfd_mips_elf_adjust_dynamic_symbol): Update to use
  1074. gotplt_union's plist member rather than offset. Set individual
  1075. PLT entry sizes here. Handle MIPS16/microMIPS PLT entries.
  1076. Don't set the symbol's value in the symbol table for PLT
  1077. references here. Don't set the PLT or PLT GOT section sizes
  1078. here.
  1079. (mips_elf_estimate_stub_size): Handle microMIPS stubs.
  1080. (mips_elf_allocate_lazy_stub): Likewise.
  1081. (mips_elf_lay_out_lazy_stubs): Likewise. Define a _MIPS_STUBS_
  1082. magic symbol.
  1083. (mips_elf_set_plt_sym_value): New function.
  1084. (_bfd_mips_elf_size_dynamic_sections): Set PLT header size and
  1085. PLT and PLT GOT section sizes here. Set the symbol values in
  1086. the symbol table for PLT references here. Handle microMIPS
  1087. annotation of the _PROCEDURE_LINKAGE_TABLE_ magic symbol.
  1088. (_bfd_mips_elf_finish_dynamic_symbol): Update to use
  1089. gotplt_union's plist member rather than offset. Handle
  1090. MIPS16/microMIPS PLT entries. Handle microMIPS stubs.
  1091. (_bfd_mips_vxworks_finish_dynamic_symbol): Update to use
  1092. gotplt_union's plist member rather than offset. Use
  1093. MIPS_ELF_GOT_SIZE to calculate GOT address.
  1094. (mips_finish_exec_plt): Handle microMIPS PLT. Return status.
  1095. (_bfd_mips_elf_finish_dynamic_sections): Handle result from
  1096. mips_finish_exec_plt.
  1097. (_bfd_mips_elf_link_hash_table_create): Update to use
  1098. gotplt_union's plist member rather than offset.
  1099. (_bfd_mips_elf_get_synthetic_symtab): New function.
  1100. 2013-06-24 Wawa <caojinyu@msn.com>
  1101. PR 15657
  1102. * hash.c (_bfd_stringtab_add): Copy the string if COPY is true.
  1103. 2013-06-23 Richard Sandiford <rdsandiford@googlemail.com>
  1104. * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Move MIPS ELF
  1105. files to...
  1106. (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): ...here.
  1107. * Makefile.in: Regenerate.
  1108. * config.bfd: Enclose all MIPS ELF targets in #ifdef BFD64.
  1109. Set want64 to true for them at the end.
  1110. * targets.c (_bfd_target_vector): Protect MIPS ELF targets with
  1111. #ifdef BFD64.
  1112. 2013-06-22 Sandra Loosemore <sandra@codesourcery.com>
  1113. * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Don't
  1114. set sh_entsize for PLT section.
  1115. 2013-06-20 Yufeng Zhang <yufeng.zhang@arm.com>
  1116. * bfd-in.h (bfd_elf64_aarch64_set_options): Add 'extern'.
  1117. * bfd-in2.h: Re-generated.
  1118. * elf64-aarch64.c (RELOC_SECTION): Removed.
  1119. (SWAP_RELOC_IN, SWAP_RELOC_OUT): Ditto.
  1120. (AARCH64_ELF_OS_ABI_VERSION): Ditto.
  1121. (elf64_aarch64_link_hash_traverse): Ditto.
  1122. (elf64_aarch64_size_stubs): Change 'Aarch64' to 'AArch64' in the
  1123. comment.
  1124. 2013-06-19 Will Newton <will.newton@linaro.org>
  1125. * configure: Regenerated.
  1126. * configure.in: Remove aarch64 dependency on elf-ifunc.c.
  1127. * elf64-aarch64.c: Remove objalloc.h include.
  1128. (elf64_aarch64_howto_dynrelocs): Remove R_AARCH64_IRELATIVE howto.
  1129. (struct elf64_aarch64_link_hash_table): Remove ifunc related
  1130. members. (elf_aarch64_local_htab_hash): Remove function.
  1131. (elf_aarch64_local_htab_eq): Remove function.
  1132. (elf_aarch64_get_local_sym_hash): Remove function.
  1133. (elf64_aarch64_link_hash_table_create): Remove local hash
  1134. table initialization.
  1135. (elf64_aarch64_final_link_relocate): Remove sym argument and
  1136. handling of ifunc symbols.
  1137. (elf64_aarch64_relocate_section): Don't pass sym argument to
  1138. elf64_aarch64_final_link_relocate.
  1139. (elf64_aarch64_gc_sweep_hook): Remove handling of ifunc symbols.
  1140. (elf64_aarch64_adjust_dynamic_symbol): Likewise.
  1141. (elf64_aarch64_check_relocs): Likewise.
  1142. (elf64_aarch64_post_process_headers): Remove call to
  1143. _bfd_elf_set_osabi.
  1144. (elf64_aarch64_is_function_type): New function.
  1145. (elf64_aarch64_allocate_dynrelocs): Remove handling of ifunc
  1146. symbols. (elf_aarch64_allocate_local_dynrelocs): Remove function.
  1147. (elf64_aarch64_size_dynamic_sections): Remove call to
  1148. elf_aarch64_allocate_local_dynrelocs.
  1149. (elf64_aarch64_create_small_pltn_entry): Remove info argument.
  1150. Remove creation of R_AARCH64_IRELATIVE dynamic relocs.
  1151. (elf64_aarch64_finish_dynamic_symbol): Remove handling of ifunc
  1152. symbols. (elf_aarch64_finish_local_dynamic_symbol): Remove
  1153. function. (elf64_aarch64_finish_dynamic_sections): Remove call to
  1154. elf_aarch64_finish_local_dynamic_symbol.
  1155. (elf64_aarch64_add_symbol_hook): Remove function.
  1156. 2013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
  1157. * elf64-aarch64.c (elf64_aarch64_final_link_relocate): Call
  1158. aarch64_resolve_relocation and bfd_elf_aarch64_put_addend to
  1159. handle the relocations of R_AARCH64_JUMP26, R_AARCH64_CALL26,
  1160. R_AARCH64_LD64_GOT_LO12_NC, R_AARCH64_ADR_GOT_PAGE and
  1161. R_AARCH64_GOT_LD_PREL19.
  1162. 2013-06-13 Terry Guo <terry.guo@arm.com>
  1163. PR ld/15302
  1164. * elf32-arm.c (allocate_dynrelocs_for_symbol): Transform
  1165. ST_BRANCH_TO_ARM into ST_BRANCH_TO_THUMB if the target only
  1166. supports thumb instructions.
  1167. 2013-06-11 DJ Delorie <dj@redhat.com>
  1168. * elf32-rl78.c (rl78_elf_relocate_section): Fix OPsub math.
  1169. 2013-06-11 Will Newton <will.newton@linaro.org>
  1170. * elf64-aarch64.c (elf_aarch64_get_local_sym_hash): Use
  1171. ELF64_R_SYM instead of ELF32_R_SYM.
  1172. 2013-06-11 Nick Clifton <nickc@redhat.com>
  1173. * elf32-rl78.c (rl78_elf_finish_dynamic_sections): Onlly run
  1174. checks if the dynamic sections have been created and relaxation
  1175. has not been performed.
  1176. 2013-06-07 Will Newton <will.newton@linaro.org>
  1177. * configure: Regenerate.
  1178. * configure.in: Build elf-ifunc.o for AArch64.
  1179. * elf64-aarch64.c: Include objalloc.h.
  1180. (elf64_aarch64_howto_dynrelocs): Add R_AARCH64_IRELATIVE howto.
  1181. (struct elf64_aarch64_link_hash_table): Add members for handling
  1182. R_AARCH64_IRELATIVE relocations.
  1183. (elf_aarch64_local_htab_hash): New function.
  1184. (elf_aarch64_local_htab_eq): New function.
  1185. (elf_aarch64_get_local_sym_hash): New function.
  1186. (elf64_aarch64_link_hash_table_create): Initialize local STT_GNU_IFUNC
  1187. symbol hash.
  1188. (elf64_aarch64_hash_table_free): Free local STT_GNU_IFUNC symbol hash.
  1189. (elf64_aarch64_final_link_relocate): Add sym argument. Add support
  1190. for handling STT_GNU_IFUNC symbols.
  1191. (elf64_aarch64_gc_sweep_hook): Add support for garbage collecting
  1192. references to STT_GNU_IFUNC symbols.
  1193. (elf64_aarch64_adjust_dynamic_symbol): Add support for handling
  1194. STT_GNU_IFUNC symbols.
  1195. (elf64_aarch64_check_relocs): Add support for handling STT_GNU_IFUNC
  1196. symbols. Ensure we don't increase plt.refcount from -1 to 0.
  1197. (elf64_aarch64_post_process_headers): Call _bfd_elf_set_osabi.
  1198. (elf64_aarch64_is_function_type): Remove function.
  1199. (elf64_aarch64_allocate_dynrelocs): Call
  1200. _bfd_elf_allocate_ifunc_dyn_relocs for STT_GNU_IFUNC symbols.
  1201. (elf_aarch64_allocate_local_dynrelocs): New function.
  1202. (elf64_aarch64_size_dynamic_sections): Call
  1203. elf_aarch64_allocate_local_dynrelocs. Initialize next_irelative_index.
  1204. (elf64_aarch64_create_small_pltn_entry): Add info argument.
  1205. Add support for creating .iplt entries for STT_GNU_IFUNC symbols.
  1206. (elf64_aarch64_finish_dynamic_symbol): Add support for handling
  1207. STT_GNU_IFUNC symbols and .iplt.
  1208. (elf_aarch64_finish_local_dynamic_symbol): New function.
  1209. (elf64_aarch64_finish_dynamic_sections): Call
  1210. elf_aarch64_finish_local_dynamic_symbol.
  1211. (elf64_aarch64_add_symbol_hook): New function.
  1212. 2013-06-03 Alan Modra <amodra@gmail.com>
  1213. * syms.c (_bfd_stab_section_find_nearest_line): Add last_str
  1214. var. Use it with last_stab.
  1215. 2013-05-30 Paul Brook <paul@codesourcery.com>
  1216. * bfd-in2.h: Regenerate.
  1217. * elf32-mips.c (elf_mips_eh_howto): New.
  1218. (bfd_elf32_bfd_reloc_type_lookup ): Support BFD_RELOC_MIPS_EH.
  1219. (bfd_elf32_bfd_reloc_name_lookup): Likewise.
  1220. (mips_elf32_rtype_to_howto): Support R_MIPS_EH.
  1221. * elf64-mips.c (elf_mips_eh_howto): New.
  1222. (bfd_elf64_bfd_reloc_type_lookup): Support BFD_RELOC_MIPS_EH.
  1223. (bfd_elf64_bfd_reloc_name_lookup): Likewise.
  1224. (mips_elf64_rtype_to_howto): Support R_MIPS_EH.
  1225. * libbfd.h: Regenerate.
  1226. * reloc.c (BFD_RELOC_MIPS_EH): New.
  1227. 2013-05-29 Nick Clifton <nickc@redhat.com>
  1228. * dwarf2.c (struct dwarf2_debug): Add fields for handling
  1229. alternate debug info source.
  1230. (dwarf_debug_sections): Add entries for alternate .debug_str and
  1231. .debug_info sections.
  1232. (dwarf_debug_section_enum): Likewise.
  1233. (read_alt_indirect_string): New function. Handles a
  1234. DW_FORM_GNU_strp_alt attribute.
  1235. (read_alt_indirect_ref): New function. Handles a
  1236. DW_FORM_GNU_ref_alt attribute.
  1237. (read_attribute_value): Process DW_FORM_GNU_ref_alt and
  1238. DW_FORM_GNU_strp_alt.
  1239. (find_abstract_instance_name): Handle DW_FORM_GNU_ref_alt
  1240. attributes.
  1241. (_bfd_dwarf2_cleanup_debug_info): Free alternate debug info
  1242. sources.
  1243. * opncls.c (GNU_DEBUGALTLINK): Define.
  1244. (bfd_get_alt_debug_link_info): New function.
  1245. (separate_alt_debug_file_exists): New function.
  1246. (find_separate_debug_file): Add parameters for fetch and check
  1247. functions.
  1248. (bfd_follow_gnu_debugaltlink): New function.
  1249. * bfd-in2.h: Regenerate.
  1250. 2013-05-28 Yufeng Zhang <yufeng.zhang@arm.com>
  1251. * reloc.c (BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE): Rename to ...
  1252. (BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21): ... this.
  1253. (BFD_RELOC_AARCH64_TLSDESC_LD64_PREL19): Rename to ...
  1254. (BFD_RELOC_AARCH64_TLSDESC_LD_PREL19): ... this.
  1255. * bfd-in2.h: Regenerate.
  1256. * libbfd.h: Regenerate.
  1257. * elf64-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Update to use
  1258. the correct names.
  1259. (elf64_aarch64_tlsdesc_howto_table): Likewise.
  1260. (elf64_aarch64_reloc_map): Likewise.
  1261. (aarch64_resolve_relocation): Likewise.
  1262. (bfd_elf_aarch64_put_addend): Likewise.
  1263. (aarch64_tls_transition_without_check): Likewise.
  1264. (aarch64_reloc_got_type): Likewise.
  1265. (elf64_aarch64_final_link_relocate): Likewise.
  1266. (elf64_aarch64_tls_relax): Likewise.
  1267. (elf64_aarch64_relocate_section): Likewise.
  1268. (elf64_aarch64_gc_sweep_hook): Likewise.
  1269. (elf64_aarch64_check_relocs): Likewise.
  1270. 2013-05-26 Mark Wielaard <mjw@redhat.com>
  1271. * cache.c (BFD_CACHE_MAX_OPEN): Remove define.
  1272. (max_open_files): New static int initialized to zero.
  1273. (bfd_cache_max_open): New static function to set and return
  1274. max_open_files.
  1275. (bfd_cache_init): Use bfd_cache_max_open.
  1276. (bfd_open_file): Likewise.
  1277. * configure.in (AC_CHECK_HEADERS): Add sys/resource.h.
  1278. (AC_CHECK_FUNCS): Add getrlimit.
  1279. * configure: Regenerated.
  1280. * config.in: Likewise.
  1281. * sysdep.h: Check and include sys/resource.h for getrlimit.
  1282. 2013-05-23 Alan Modra <amodra@gmail.com>
  1283. * format.c (bfd_check_format_matches): Don't match a target in
  1284. targ_selvecs if some other target is a better match. If
  1285. targets implement match priority, fall back to the first of
  1286. the best matches.
  1287. 2013-05-22 Eric Herman <eric@freesa.org>
  1288. PR binutils/15462
  1289. * elfxx-mips.c (_bfd_mips_elf_relocate_section): Warning fix.
  1290. 2013-05-22 Ralf Dreesen <gamma@dreesen.net>
  1291. PR binutils/15474
  1292. * srec.c (srec_set_section_contents): Properly convert size
  1293. and offset to address when octets_per_byte is not unity.
  1294. 2013-05-20 Maciej W. Rozycki <macro@linux-mips.org>
  1295. * elf32-vax.c (elf_vax_instantiate_got_entries): Only set the
  1296. refcount member of the gotplt_union when resetting the reference
  1297. count. Adjust comment.
  1298. 2013-05-20 Will Newton <will.newton@linaro.org>
  1299. * elf64-aarch64.c (elf64_aarch64_link_hash_entry): Remove
  1300. relocs_copied member.
  1301. (elf64_aarch64_link_hash_newfunc): Remove initialization of
  1302. relocs_copied member.
  1303. (elf64_aarch64_copy_indirect_symbol): Remove code to copy
  1304. relocs_copied member.
  1305. 2013-05-19 Maciej W. Rozycki <macro@linux-mips.org>
  1306. * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Convert K&R
  1307. function definition.
  1308. 2013-05-16 Cary Coutant <ccoutant@google.com>
  1309. * ecoff.c (ecoff_link_check_archive_element): Add initializers for
  1310. external_ext_size and esize.
  1311. 2013-05-16 Tristan Gingold <gingold@adacore.com>
  1312. * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
  1313. * coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
  1314. 2013-05-15 Andreas Schwab <schwab@suse.de>
  1315. * elf64-aarch64.c (elf_backend_default_execstack): Define to 0.
  1316. 2013-05-10 Joel Brobecker <brobecker@adacore.com>
  1317. * coffcode.h (styp_to_sec_flags) [RS6000COFF_C]: Add handling
  1318. of STYP_EXCEPT, STYP_LOADER and STYP_TYPCHK sections.
  1319. 2013-05-09 Joel Brobecker <brobecker@adacore.com>
  1320. * bfd.c (_bfd_default_error_handler): Replace use of putc
  1321. by fputc. Add comment explaining why.
  1322. 2013-05-09 Alan Modra <amodra@gmail.com>
  1323. * elflink.c (elf_link_add_object_symbols): Don't omit reading
  1324. of symbols when hashes already exist.
  1325. 2013-05-07 Will Newton <will.newton@linaro.org>
  1326. * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Add a
  1327. plt_header_size argument for ports where it differs from
  1328. plt_entry_size.
  1329. * elf-bfd.h: Likewise.
  1330. * elf32-i386.c: Pass plt_header_size to
  1331. _bfd_elf_allocate_ifunc_dyn_relocs.
  1332. * elf64-x86-64.c: Likewise.
  1333. 2013-05-07 Will Newton <will.newton@linaro.org>
  1334. * elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Remove unused
  1335. function.
  1336. * elf-bfd.h: Likewise.
  1337. 2013-05-06 Paul Brook <paul@codesourcery.com>
  1338. * elf64-mips.c (elf_mips_gnu_pcrel32): New.
  1339. (bfd_elf64_bfd_reloc_type_lookup, bfd_elf64_bfd_reloc_name_lookup,
  1340. mips_elf64_rtype_to_howto): Handle R_MIPS_PC32.
  1341. * elfn32-mips.c (elf_mips_gnu_pcrel32): New.
  1342. (bfd_elfn32_bfd_reloc_type_lookup, bfd_elfn32_bfd_reloc_name_lookup,
  1343. mips_elfn32_rtype_to_howto): Handle R_MIPS_PC32.
  1344. 2013-05-06 Alan Modra <amodra@gmail.com>
  1345. * elf64-ppc.c (opd_entry_value): Handle case where symbol
  1346. hashes are not available.
  1347. 2013-05-06 Alan Modra <amodra@gmail.com>
  1348. * elflink.c (elf_link_add_object_symbols): Don't save symbol
  1349. hashes around loading as-needed library. Zero them on allocation,
  1350. and restore to initial all-zero state if library not needed.
  1351. Arrange to reuse hashes if we load library again later.
  1352. 2013-05-04 Richard Sandiford <rdsandiford@googlemail.com>
  1353. * elf32-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto):
  1354. Use _bfd_mips_elf_generic_reloc instead of bfd_elf_generic_reloc.
  1355. * elfn32-mips.c: Likewise.
  1356. * elf64-mips.c: Likewise.
  1357. 2013-05-02 Nick Clifton <nickc@redhat.com>
  1358. * archures.c: Add some more MSP430 machine numbers.
  1359. * config.bfd (msp430): Define targ_selvecs.
  1360. * configure.in: Add bfd_elf32_msp430_ti_vec.
  1361. * cpu-msp430.c: Add some more MSP430 machine numbers.
  1362. * elf32-msp430.c Add support for MSP430X relocations.
  1363. Add support for TI compiler generated relocations.
  1364. Add support for sym_diff relocations.
  1365. Add support for relaxing out of range short branches into long
  1366. branches.
  1367. Add support for MSP430 attribute section.
  1368. * reloc.c: Add MSP430X relocations.
  1369. * targets.c: Add bfd_elf32_msp430_ti_vec.
  1370. * bfd-in2.h: Regenerate.
  1371. * configure: Regenerate.
  1372. * libbfd.h: Regenerate.
  1373. 2013-05-01 Maciej W. Rozycki <macro@codesourcery.com>
  1374. * config.bfd: Replace alpha*-*-linuxecoff* pattern with
  1375. alpha*-*-linux*ecoff*.
  1376. 2013-04-30 Olaf Flebbe <o.flebbe@science-computing.de>
  1377. PR binutils/15417
  1378. * elflink.c (elf_link_add_object_symbols): Initialise 'idx' to
  1379. zero.
  1380. 2013-04-30 Alan Modra <amodra@gmail.com>
  1381. * elflink.c (bfd_elf_record_link_assignment): Dont make
  1382. STV_INTERNAL symbols STV_HIDDEN.
  1383. 2013-04-29 Nick Clifton <nickc@redhat.com>
  1384. * elflink.c (_bfd_elf_gc_mark_extra_sections): Remove mark from
  1385. fragmented .debug_line sections associated with unmarked code
  1386. sections.
  1387. 2013-04-29 Will Newton <will.newton@linaro.org>
  1388. * elf32-arm.c (elf32_arm_populate_plt_entry): Call
  1389. elf32_arm_add_dynreloc when emitting R_ARM_IRELATIVE relocs.
  1390. 2013-04-29 Will Newton <will.newton@linaro.org>
  1391. * elf64-aarch64.c (elf64_aarch64_check_relocs): Move relocation
  1392. error check up and add error message.
  1393. 2013-04-26 Will Newton <will.newton@linaro.org>
  1394. * elf64-aarch64.c (elf64_aarch64_check_relocs): Remove dead code.
  1395. 2013-04-25 Alan Modra <amodra@gmail.com>
  1396. * config.bfd: Add powerpc64le-linux.
  1397. 2013-04-24 H.J. Lu <hongjiu.lu@intel.com>
  1398. * config.bfd (targ_selvecs): Add bfd_elf32_x86_64_vec for
  1399. x86_64-*-elf*.
  1400. 2013-04-24 Roland McGrath <mcgrathr@google.com>
  1401. * elf32-arm.c (elf32_arm_allocate_plt_entry): If HTAB->nacl_p,
  1402. allocate space for PLT header even if IS_IPLT_ENTRY.
  1403. (arm_nacl_put_plt0): New function, broken out of ...
  1404. (elf32_arm_finish_dynamic_sections): ... here. Call it.
  1405. If HTAB->nacl_p, set up the PLT header in .iplt too.
  1406. (elf32_arm_output_arch_local_syms): If HTAB->nacl_p, write
  1407. a mapping symbol for the start of .iplt too.
  1408. 2013-04-19 Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
  1409. * ecoff.c (_bfd_ecoff_sizeof_headers): Cast the return value of
  1410. BFD_ALIGN to int.
  1411. * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Remove unused
  1412. variables.
  1413. * elf32-v850.c (v850_elf_relax_section): Redefine the type of 'i'
  1414. to bfd_vma.
  1415. * vms-alpha.c (evax_bfd_print_etir): Initialize sec_len.
  1416. 2013-04-22 Alan Modra <amodra@gmail.com>
  1417. PR ld/15382
  1418. * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Don't multiply
  1419. sh_size or reloc_count adjustment by count.
  1420. 2013-04-22 Alan Modra <amodra@gmail.com>
  1421. * elf64-ppc.c (ppc64_elf_check_relocs): Don't call
  1422. create_linkage_sections here..
  1423. (ppc64_elf_init_stub_bfd): ..do so here. Return status.
  1424. (create_linkage_sections): Move earlier in file.
  1425. (ppc64_elf_setup_section_lists): Remove now useless htab->brlt test.
  1426. * elf64-ppc.h (ppc64_elf_init_stub_bfd): Update proto.
  1427. 2013-04-19 Nick Clifton <nickc@redhat.com>
  1428. PR binutils/15356
  1429. * compress.c (decompress_contents): Always call inflateEnd, even
  1430. when another inflation operation fails.
  1431. 2013-04-17 H.J. Lu <hongjiu.lu@intel.com>
  1432. * elf-ifunc.c: Update copyright year.
  1433. 2013-04-17 Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
  1434. * coffcode.h: Added a cast to void when a bfd_set_section_*()
  1435. macro's return value is ignored.
  1436. * elf32-hppa.c: Likewise.
  1437. * elf32-tic6x.c: Likewise.
  1438. * mach-o.c: Likewise.
  1439. * mmo.c: Likewise.
  1440. * opncls.c: Likewise.
  1441. * peicode.h: Likewise.
  1442. * elf32-m32r.c: Check return value of bfd_set_section_*().
  1443. * elfnn-ia64.c: Likewise.
  1444. * elfxx-mips.c: Likewise.
  1445. * vms-alpha.c: Likewise.
  1446. 2013-04-15 H.J. Lu <hongjiu.lu@intel.com>
  1447. PR ld/15371
  1448. * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Check
  1449. regular reference without non-GOT reference when building
  1450. shared library.
  1451. 2013-04-15 Alan Modra <amodra@gmail.com>
  1452. * archive.c (_bfd_archive_close_and_cleanup): Clear parent
  1453. cache slot for archives.
  1454. 2013-04-14 Hans-Peter Nilsson <hp@bitrange.com>
  1455. * mmo.c (mmo_write_chunk): Break out abfd->tdata.mmo_data to new
  1456. local variable mmop.
  1457. 2013-04-09 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
  1458. PR ld/12494
  1459. * elf32-avr.c: Consider all sections to determine if linker
  1460. relaxation can safely delete a ret after a call/jmp
  1461. 2013-04-09 Mingjie Xing <mingjie.xing@gmail.com>
  1462. * bfd.c (typedef bfd, Error reporting, Miscellaneous): Add
  1463. INODEs.
  1464. 2013-04-08 Tom Tromey <tromey@redhat.com>
  1465. * som.c (bfd_section_from_som_symbol): No longer static.
  1466. * som.h (bfd_section_from_som_symbol): Declare.
  1467. 2013-04-06 Alan Modra <amodra@gmail.com>
  1468. * elf32-ppc.c (ppc_elf_check_relocs): Use SYMBOLIC_BIND.
  1469. * elf64-ppc.c (ppc64_elf_check_relocs, dec_dynrel_count): Likewise.
  1470. 2013-04-05 Nick Clifton <nickc@redhat.com>
  1471. * elflink.c (elf_link_add_object_symbols): Revert accidental commit.
  1472. 2013-04-04 Alan Modra <amodra@gmail.com>
  1473. * bfd.c (bfd_error_type, bfd_errmsgs): Add bfd_error_missing_dso.
  1474. * bfd-in2.h: Regenerate.
  1475. * elflink.c (elf_link_add_object_symbols): Use new error.
  1476. 2013-04-03 Nick Clifton <nickc@redhat.com>
  1477. * elf32-v850.c (v850_elf_is_target_special_symbol): New function.
  1478. (bfd_elf32_bfd_is_target_special_symbol): Define.
  1479. 2013-04-03 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
  1480. * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use
  1481. elf64_aarch64_locals to get local GOT reference counts.
  1482. 2013-04-02 DJ Delorie <dj@redhat.com>
  1483. * elf32-rl78.c (GET_RELOC): Assert that there are relocs to get.
  1484. (rl78_elf_relax_section): Only fetch the next reloc if there is
  1485. one expected.
  1486. 2013-03-30 Alan Modra <amodra@gmail.com>
  1487. PR ld/15323
  1488. * elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for
  1489. global symbols referenced by relocs.
  1490. * elf32-arm.c (elf32_arm_check_relocs): Likewise.
  1491. * elf32-bfin.c (bfin_check_relocs): Likewise.
  1492. * elf32-cr16.c (cr16_elf_check_relocs): Likewise.
  1493. * elf32-cris.c (cris_elf_check_relocs): Likewise.
  1494. * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
  1495. * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
  1496. * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
  1497. * elf32-frv.c (elf32_frv_check_relocs): Likewise.
  1498. * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
  1499. * elf32-i370.c (i370_elf_check_relocs): Likewise.
  1500. * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
  1501. * elf32-lm32.c (lm32_elf_check_relocs): Likewise.
  1502. * elf32-m32c.c (m32c_elf_check_relocs): Likewise.
  1503. * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
  1504. * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
  1505. * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
  1506. * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
  1507. * elf32-metag.c (elf_metag_check_relocs): Likewise.
  1508. * elf32-microblaze.c (microblaze_elf_check_relocs): Likewise.
  1509. * elf32-moxie.c (moxie_elf_check_relocs): Likewise.
  1510. * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
  1511. * elf32-mt.c (mt_elf_check_relocs): Likewise.
  1512. * elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
  1513. * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
  1514. * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
  1515. * elf32-rl78.c (rl78_elf_check_relocs): Likewise.
  1516. * elf32-s390.c (elf_s390_check_relocs): Likewise.
  1517. * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
  1518. * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
  1519. * elf32-sh.c (sh_elf_check_relocs): Likewise.
  1520. * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
  1521. * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
  1522. * elf32-v850.c (v850_elf_check_relocs): Likewise.
  1523. * elf32-vax.c (elf_vax_check_relocs): Likewise.
  1524. * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
  1525. * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
  1526. * elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise.
  1527. * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
  1528. * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
  1529. * elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise.
  1530. * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
  1531. * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
  1532. * elf64-s390.c (elf_s390_check_relocs): Likewise.
  1533. * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
  1534. * elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise.
  1535. * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
  1536. * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
  1537. * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. Don't
  1538. test indirect/warning links for NULL.
  1539. 2013-03-29 H.J. Lu <hongjiu.lu@intel.com>
  1540. PR ld/15323
  1541. * elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a
  1542. symbol is referenced by a non-shared object.
  1543. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
  1544. 2013-03-28 Joe Seymour <jseymour@codesourcery.com>
  1545. * elf32-sh.c (sh_elf_relocate_section): Suppress warnings for
  1546. R_SH_REL32 relocations against undefined weak symbols.
  1547. 2013-03-28 Alan Modra <amodra@gmail.com>
  1548. * elf64-ppc.c (struct ppc_dyn_relocs): New.
  1549. (ppc64_elf_check_relocs): Separate dynrel counts for local syms
  1550. into ifunc and non-ifunc.
  1551. (dec_dynrel_count): Pass in sym rather than sym_sec. Handle
  1552. separate ifunc/non-ifunc dynrel counts.
  1553. (allocate_got): Always use reliplt for ifunc.
  1554. (allocate_dynrelocs): Likewise.
  1555. (ppc64_elf_size_dynamic_sections): Likewise.
  1556. (ppc64_elf_layout_multitoc): Likewise.
  1557. (ppc64_elf_relocate_section): Likewise.
  1558. 2013-03-28 Alan Modra <amodra@gmail.com>
  1559. * elf32-ppc.c (struct ppc_dyn_relocs): New.
  1560. (ppc_elf_check_relocs): Separate dynrel counts for local syms
  1561. into ifunc and non-ifunc.
  1562. (allocate_dynrelocs): Always put ifunc relocs into reliplt.
  1563. (ppc_elf_size_dynamic_sections): Likewise.
  1564. (ppc_elf_relocate_section): Likewise.
  1565. 2013-03-28 Alan Modra <amodra@gmail.com>
  1566. * elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc.
  1567. (struct elf_backend_data <elf_backed_reloc_type_class>): Add
  1568. bfd_link_info* and asection* params.
  1569. (_bfd_elf_reloc_type_class): Likewise.
  1570. * elf.c (_bfd_elf_reloc_type_class): Likewise.
  1571. * elflink.c (elf_link_sort_cmp2): Sort first on reloc class.
  1572. (elf_link_sort_relocs): Update elf_backed_reloc_type_class call.
  1573. * elf32-ppc.c (ppc_elf_reloc_type_class): Return reloc_class_ifunc
  1574. for any reliplt reloc. Don't return reloc_class_plt for
  1575. R_PPC_REL24 and R_PPC_ADDR24.
  1576. * elf64-ppc.c (allocate_got): Formatting.
  1577. (ppc64_elf_reloc_type_class): Return reloc_class_ifunc for any
  1578. reliplt reloc.
  1579. * elf-m10300.c, * elf32-arm.c, * elf32-bfin.c, * elf32-cr16.c,
  1580. * elf32-cris.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c,
  1581. * elf32-m32r.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
  1582. * elf32-s390.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilepro.c,
  1583. * elf32-vax.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-alpha.c,
  1584. * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-s390.c, * elf64-sparc.c,
  1585. * elf64-x86-64.c, * elfnn-ia64.c, * elfxx-tilegx.c, * elfxx-tilegx.h:
  1586. Add extra params to the various reloc_type_class functions.
  1587. 2013-03-27 Alan Modra <amodra@gmail.com>
  1588. * elf32-ppc.c (ppc_elf_check_relocs): Set PLT_IFUNC in local got
  1589. masks for all local ifunc syms.
  1590. (allocate_dynrelocs): Don't use htab->relgot for ifunc.
  1591. (ppc_elf_size_dynamic_sections): Likewise.
  1592. (ppc_elf_relocate_section): Likewise.
  1593. 2013-03-27 Will Newton <will.newton@linaro.org>
  1594. * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
  1595. dynamic reloc for symbols with dynindx == -1.
  1596. (allocate_dynrelocs_for_symbol): Avoid allocating space for a
  1597. dynamic reloc for symbols with dynindx == -1.
  1598. 2013-03-27 Will Newton <will.newton@linaro.org>
  1599. * elf32-arm.c (elf32_arm_final_link_relocate): Avoid emitting a
  1600. dynamic reloc for non-default visibility undefined weaks.
  1601. (allocate_dynrelocs_for_symbol): Avoid allocating space for a
  1602. dynamic reloc for non-default visibility undefined weaks.
  1603. 2013-03-26 Alan Modra <amodra@gmail.com>
  1604. * elflink.c (_bfd_elf_add_default_symbol): Preserve section
  1605. over _bfd_elf_merge_symbol calls.
  1606. 2013-03-26 Alan Modra <amodra@gmail.com>
  1607. * elflink.c (elf_link_add_object_symbols): Add assertion for
  1608. common override alignment check code. Formatting.
  1609. 2013-03-25 Alan Modra <amodra@gmail.com>
  1610. * elflink.c (_bfd_elf_merge_symbol): Set old_alignment for
  1611. usual common symbols as well as for dynamic. Add poldbfd param.
  1612. Save old bfd. Adjust callers.
  1613. (_bfd_elf_add_default_symbol): Add poldbfd param. Pass "section"
  1614. and "value" by value, not pointer. Adjust caller.
  1615. (elf_link_add_object_symbols): Combine undef_bfd and old_bfd vars.
  1616. Delete code to set same. Use old_bfd and old_alignment from
  1617. _bfd_elf_merge_symbol instead. Add default symbol before
  1618. alignment and size checks. Wrap overlong lines.
  1619. 2013-03-25 Alan Modra <amodra@gmail.com>
  1620. * elflink.c (_bfd_elf_add_default_symbol): Delete "override" param.
  1621. (elf_link_add_object_symbols): Don't call _bfd_elf_add_default_symbol
  1622. when override is true.
  1623. 2013-03-25 Alan Modra <amodra@gmail.com>
  1624. * elflink.c (_bfd_elf_merge_symbol): Use local var holding value
  1625. of *sym_hash.
  1626. 2013-03-25 Alan Modra <amodra@gmail.com>
  1627. * elflink.c (_bfd_elf_merge_symbol): Don't discard TLS symbols here.
  1628. Wrap long lines.
  1629. (elf_link_add_object_symbols): Discard TLS symbols for --just-syms
  1630. early in symbol loop.
  1631. 2013-03-25 Alan Modra <amodra@gmail.com>
  1632. * elf-bfd.h (struct elf_backend_data <merge_symbol>): Update proto.
  1633. (_bfd_elf_init_reloc_shdr): Delete.
  1634. * elf.c (_bfd_elf_init_reloc_shdr): Make static.
  1635. * elf64-x86-64.c (elf_x86_64_merge_symbol): Trim parameters to
  1636. just what is needed.
  1637. * elflink.c (_bfd_elf_merge_symbol): Update bed->merge_symbol call.
  1638. 2013-03-23 Alan Modra <amodra@gmail.com>
  1639. * elf-bfd.h (_bfd_elf_merge_symbol): Delete declaration.
  1640. * elflink.c (_bfd_elf_merge_symbol): Make static.
  1641. * elf32-sh-symbian.c (sh_symbian_relocate_section): Don't call
  1642. _bfd_elf_merge_symbol, call _bfd_generic_link_add_one_symbol.
  1643. 2013-03-23 Alan Modra <amodra@gmail.com>
  1644. PR ld/15270
  1645. * elflink.c (elf_link_add_object_symbols): Don't set def_regular
  1646. or ref_regular for BFD_PLUGIN owned syms, or have them affect
  1647. def_dynamic/ref_dynamic.
  1648. (_bfd_elf_fix_symbol_flags): Don't set def_regular for BFD_PLUGIN
  1649. owned syms.
  1650. 2013-03-22 David S. Miller <davem@davemloft.net>
  1651. * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Set type of
  1652. hwcaps attribute.
  1653. 2013-03-22 Achille Fouilleul <achille.fouilleul+binutils@gadz.org>
  1654. PR ld/14902
  1655. * elf32-h8300.c (elf32_h8_relax_delete_bytes): Fix off by one
  1656. errors adjusting relocs and symbols.
  1657. 2013-03-21 Michael Schewe <michael.schewe@gmx.net>
  1658. * elf32-h8300 (h8_relax_section): Add new relaxation of mov
  1659. @(disp:32,ERx) to mov @(disp:16,ERx).
  1660. (R_H8_DISP32A16): New reloc.
  1661. Comments added and corrected.
  1662. * reloc.c (BFD_RELOC_H8_DISP32A16): New reloc.
  1663. * bfd-in2.h: Regenerate.
  1664. * libbfd.h: Regenerate.
  1665. 2013-03-21 Kai Tietz <ktietz@redhat.com>
  1666. * coffgen.c (coff_real_object_p): Make global.
  1667. * peicode.h (coff_real_object_p): Add prototype.
  1668. (FILHDR): Defined for COFF_IMAGE_WITH_PE as
  1669. external_PEI_IMAGE_hdr structure.
  1670. (coff_swap_filehdr_in): Handle variable header-size.
  1671. * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Just handle amount
  1672. of directory-entiries as specified in pe-header.
  1673. 2013-03-21 Nick Clifton <nickc@redhat.com>
  1674. PR sim/15286
  1675. * elf32-arm.c (bfd_arm_get_mach_from_attributes): Identify XScale,
  1676. iWMMXt and iWMMXt2 processors from attributes.
  1677. 2013-03-20 Alan Modra <amodra@gmail.com>
  1678. * elflink.c (_bfd_elf_make_dynamic_reloc_section): Override
  1679. sh_type according to is_rela.
  1680. 2013-03-18 Alan Modra <amodra@gmail.com>
  1681. PR ld/12549
  1682. * elflink.c (elf_link_add_object_symbols): Exclude weak refs when
  1683. considering whether an --as-needed library is needed.
  1684. 2013-03-14 Tom Tromey <tromey@redhat.com>
  1685. * opncls.c (bfd_get_debug_link_info): Rename from
  1686. get_debug_link_info. Export. Update comment.
  1687. (find_separate_debug_file): Update.
  1688. * bfd-in2.h: Rebuild.
  1689. 2013-03-08 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
  1690. * elf64-aarch64.c (elf_backend_can_gc_sections): Enable gc-section
  1691. support.
  1692. (elf64_aarch64_gc_sweep_hook): Handle GOT, TLS and PLT related
  1693. relocs.
  1694. 2013-03-08 Andreas Arnez <arnez@linux.vnet.ibm.com>
  1695. * elf-bfd.h (elfcore_write_s390_tdb): Add prototype.
  1696. * elf.c (elfcore_write_s390_tdb): New function.
  1697. (elfcore_write_register_note): Call it.
  1698. (elfcore_grok_s390_tdb): New function.
  1699. (elfcore_grok_note): Call it.
  1700. 2013-03-08 Maciej W. Rozycki <macro@codesourcery.com>
  1701. * elfxx-mips.c (mips_elf_allocate_lazy_stub): Correct data type.
  1702. 2013-03-05 Corinna Vinschen <vinschen@redhat.com>
  1703. * config.bfd: Add x86_64-*-cygwin to list of supported targets.
  1704. 2013-03-04 Alan Modra <amodra@gmail.com>
  1705. * elf32-ppc.c (ppc_elf_relocate_section <R_PPC_PLTREL24>): Adjust
  1706. non-zero addends when relocatable, rather than addends >= 32768.
  1707. Always zero "addend" before applying relocation.
  1708. 2013-03-04 Nick Clifton <nickc@redhat.com>
  1709. * archive64.c (bfd_elf64_archive_write_armap): Fix calculation of
  1710. file pointer offsets for thin archives.
  1711. 2013-02-28 Nathan Sidwell <nathan@codesourcery.com>
  1712. * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't call
  1713. elf32_arm_allocate_dynrelocs for source reloc for non-dynamic link.
  1714. 2013-02-27 DJ Delorie <dj@redhat.com>
  1715. * reloc.c (BFD_RELOC_RL78_CODE): Add.
  1716. * libbfd.h: Regenerate.
  1717. * bfd-in2.h: Regenerate.
  1718. * elf32-rl78.c (rl78_elf_relocate_section): Handle weak code
  1719. references in compuated relocs.
  1720. 2013-02-26 Anthony Green <green@moxielogic.com>
  1721. * config.bfd: Extend moxie-rtems target triplet name support.
  1722. 2013-02-21 H.J. Lu <hongjiu.lu@intel.com>
  1723. PR ld/15167
  1724. * elf64-ia64-vms.c (elf64_vms_link_add_object_symbols): Set
  1725. unique_global only for definition.
  1726. * elflink.c (_bfd_elf_merge_symbol): Don't set unique_global
  1727. here.
  1728. (elf_link_add_object_symbols): Set unique_global only
  1729. for definition.
  1730. 2013-02-21 Alan Modra <amodra@gmail.com>
  1731. * elf-bfd.h (struct elf_build_id): Extracted from..
  1732. (struct elf_build_id_info): ..here. Delete.
  1733. (struct output_elf_obj_tdata): New, extracted from..
  1734. (struct elf_obj_tdata): ..here. Reorganize for better packing.
  1735. Add "o" field.
  1736. (elf_program_header_size): Reference tdata->o.
  1737. (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
  1738. elf_stack_flags, elf_shstrtab, elf_strtab_sec, elf_shstrtab_sec,
  1739. elf_section_syms, elf_num_section_syms, elf_flags_init): Likewise.
  1740. * elf.c (bfd_elf_allocate_object): Allocate output_elf_obj_tdata
  1741. when opening bfd in any mode that might write.
  1742. (_bfd_elf_write_object_contents): Use build_id field in
  1743. output_elf_obj_tdata.
  1744. (_bfd_elf_close_and_cleanup): Tweak elf_shstrtab test.
  1745. (elfobj_grok_gnu_build_id): Adjust for elf_tdata changes.
  1746. 2013-02-21 Alan Modra <amodra@gmail.com>
  1747. * elf-bfd.h (struct core_elf_obj_tdata): New.
  1748. (struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid,
  1749. core_program, and core_command. Add "core".
  1750. * elf.c (bfd_elf_mkcorefile): Allocate "core" struct.
  1751. Update all refs to tdata core fields.
  1752. * elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c,
  1753. * elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c,
  1754. * elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c,
  1755. * elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c,
  1756. * elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c,
  1757. * elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c,
  1758. * elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs
  1759. to tdata core fields.
  1760. 2013-02-21 Alan Modra <amodra@gmail.com>
  1761. * elf-bfd.h (struct elf_obj_tdata): Rename segment_map to seg_map.
  1762. Delete num_locals and num_globals.
  1763. (elf_num_locals, elf_num_globals): Don't define.
  1764. (elf_seg_map, elf_next_file_pos, elf_eh_frame_hdr, elf_linker,
  1765. elf_stack_flags, elf_strtab_sec, elf_shstrtab_sec): Define.
  1766. * bfd.c, * elf-eh-frame.c, * elf-nacl.c, * elf-vxworks.c, * elf.c,
  1767. * elf32-arm.c, * elf32-lm32.c, * elf32-ppc.c, * elf32-rx.c,
  1768. * elf32-spu.c, * elf64-hppa.c, * elfcode.h, * elflink.c,
  1769. * elfnn-ia64.c, * elfxx-mips.c: Use newly defined elf_obj_tdata
  1770. accessor macros.
  1771. * elf.c (elf_map_symbols): Add pnum_locals param. Return
  1772. number of locals syms via new param.
  1773. (swap_out_syms): Adjust to suit elf_map_symbols change.
  1774. 2013-02-19 Maciej W. Rozycki <macro@codesourcery.com>
  1775. * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Also clear
  1776. STO_MICROMIPS annotation.
  1777. 2013-02-19 Alan Modra <amodra@gmail.com>
  1778. * configure.in: Bump version to 2.23.52.
  1779. * elf-bfd.h (struct elf_build_id_info): New.
  1780. (struct elf_obj_tdata): Delete after_write_object_contents,
  1781. after_write_object_contents_info and build_id_size. Make build_id
  1782. a pointer to struct elf_build_id_info.
  1783. * elf.c (_bfd_elf_write_object_contents): Style. Update
  1784. after_write_ibject_contents invocation.
  1785. (elfobj_grok_gnu_build_id): Update for new build_id struct. Don't
  1786. allow zero size notes.
  1787. * configure: Regenerate.
  1788. 2013-02-18 Maciej W. Rozycki <macro@codesourcery.com>
  1789. * elf64-mips.c (micromips_elf64_howto_table_rel): Add
  1790. R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
  1791. (micromips_elf64_howto_table_rela): Likewise.
  1792. (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
  1793. * elfn32-mips.c (elf_micromips_howto_table_rel): Add
  1794. R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
  1795. (elf_micromips_howto_table_rela): Likewise.
  1796. (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
  1797. 2013-02-18 Paul Brook <paul@codesourcery.com>
  1798. * elfxx-mips.c (MICROMIPS_P): New macro.
  1799. (_bfd_mips_elf_symbol_processing): Use it.
  1800. 2013-02-18 Maciej W. Rozycki <macro@codesourcery.com>
  1801. * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify
  1802. comment on _PROCEDURE_LINKAGE_TABLE_ creation.
  1803. 2013-02-18 Alan Modra <amodra@gmail.com>
  1804. PR ld/12549
  1805. * elf-bfd.h (_bfd_elf_strtab_clear_refs): Delete.
  1806. (_bfd_elf_strtab_clear_all_refs): Declare.
  1807. (_bfd_elf_strtab_resize): Declare.
  1808. * elf-strtab.c (_bfd_elf_strtab_clear_refs): Delete.
  1809. (_bfd_elf_strtab_clear_all_refs): New function.
  1810. (_bfd_elf_strtab_resize): Likewise.
  1811. * elflink.c (elf_link_add_object_symbols): Use _bfd_elf_strtab_resize.
  1812. 2013-02-18 Alan Modra <amodra@gmail.com>
  1813. * elf-bfd.h (struct elf_obj_tdata): Move find_line_info, local_stubs,
  1814. local_call_stubs, elf_data_symbol, elf_text_symbol, elf_data_section,
  1815. and elf_text_section to..
  1816. * elfxx-mips.c (struct mips_elf_obj_tdata): ..here. Update all refs.
  1817. * elf64-alpha.c (struct mips_elf_find_line): Rename to..
  1818. (struct alpha_elf_find_line): ..this.
  1819. (struct alpha_elf_obj_tdata): Add find_line_info, update refs.
  1820. 2013-02-16 H.J. Lu <hongjiu.lu@intel.com>
  1821. PR ld/15146
  1822. * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
  1823. for references from the dummy bfd.
  1824. 2013-02-16 H.J. Lu <hongjiu.lu@intel.com>
  1825. PR ld/15149
  1826. * elflink.c (elf_link_add_object_symbols): Also track weak
  1827. references.
  1828. 2013-02-15 H.J. Lu <hongjiu.lu@intel.com>
  1829. PR binutils/15151
  1830. * archive.c (_bfd_find_nested_archive): Don't allow a nested
  1831. archive pointing to itself.
  1832. (_bfd_get_elt_at_filepos): Revert the last 2 changes.
  1833. 2013-02-15 Nick Clifton <nickc@redhat.com>
  1834. PR binutils/15140
  1835. * archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop
  1836. accessing a corrupt nested archive.
  1837. 2013-02-13 Richard Sandiford <rdsandiford@googlemail.com>
  1838. * elfxx-mips.c (mips_got_page_ref): New structure.
  1839. (mips_got_page_entry): Use a section rather than a (bfd, symndx)
  1840. pair to represent the anchor point.
  1841. (mips_got_info): Add a got_page_refs field.
  1842. (mips_elf_link_hash_table): Add a sym_cache field.
  1843. (mips_got_page_ref_hash, mips_got_page_ref_eq): New functions.
  1844. (mips_got_page_entry_hash, mips_got_page_entry_eq): Update for
  1845. new anchor representation.
  1846. (mips_elf_create_got_info): Create got_page_refs rather than
  1847. got_page_entries.
  1848. (mips_elf_record_got_page_ref): New function.
  1849. (mips_elf_pages_for_range): Move further down file.
  1850. (mips_elf_record_got_page_entry): Likewise. Take a got as argument.
  1851. Use a section rather than a (bfd, symndx) pair to represent the
  1852. anchor point.
  1853. (mips_elf_resolve_got_page_ref): New function.
  1854. (mips_elf_resolve_final_got_entries): Use it to populate
  1855. got_page_entries.
  1856. (_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref
  1857. rather than mips_elf_record_got_page_entry. Only nullify h
  1858. afterwards.
  1859. (mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries
  1860. earlier.
  1861. 2013-02-12 Richard Sandiford <rdsandiford@googlemail.com>
  1862. * elfxx-mips.c (mips_elf_lay_out_got): Count VxWorks GOT relocs
  1863. in g->relocs.
  1864. 2013-02-12 Alan Modra <amodra@gmail.com>
  1865. * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide
  1866. suitable definition when using generic linker hash table.
  1867. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  1868. * elfxx-mips.c (mips_elf_count_got_entries): Delete.
  1869. (mips_elf_check_recreate_got, mips_elf_recreate_got): Take a
  1870. mips_elf_traverse_got_arg. Count GOT entries.
  1871. (mips_elf_resolve_final_got_entries): Take the bfd_link_info
  1872. as argument. Update after above changes.
  1873. (mips_elf_merge_got, mips_elf_lay_out_got): Don't call
  1874. mips_elf_count_got_entries. Update the calls to
  1875. mips_elf_resolve_final_got_entries.
  1876. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  1877. * elfxx-mips.c (mips_got_tls_type): New enum.
  1878. (mips_got_entry): Add tls_initialized.
  1879. (mips_elf_got_entry_hash, mips_elf_got_entry_eq, mips_tls_got_relocs)
  1880. (mips_elf_count_got_entry, mips_elf_initialize_tls_index): Remove
  1881. GOT_TLS_TYPE masks.
  1882. (mips_elf_reloc_tls_type, mips_tls_got_entries)
  1883. (mips_elf_record_global_got_symbol, mips_elf_initialize_tls_index)
  1884. (_bfd_mips_elf_finish_dynamic_symbol): Use GOT_TLS_NONE rather
  1885. than GOT_NORMAL.
  1886. (mips_elf_initialize_tls_slots): Replace got_offset and tls_type_p
  1887. arguments with a GOT entry. Remove GOT_TLS_TYPE masks. Use
  1888. tls_initialized rather than GOT_TLS_DONE.
  1889. (mips_tls_got_index): Delete.
  1890. (mips_elf_local_got_index, mips_elf_global_got_index): Use
  1891. mips_elf_initialize_tls_slots rather than mips_tls_got_index.
  1892. (mips_elf_record_got_entry): Initialize tls_initialized.
  1893. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  1894. * elfxx-mips.c (mips_got_entry): Remove tls_ldm_offset.
  1895. (mips_elf_link_hash_entry): Remove tls_ie_type, tls_gd_type,
  1896. tls_ie_got_offset and tls_gd_got_offset.
  1897. (mips_elf_link_hash_newfunc): Remove initialization.
  1898. (mips_elf_create_got_info): Likewise.
  1899. (mips_elf_count_local_got_entries, mips_elf_count_global_tls_entries)
  1900. (mips_tls_single_got_index): Delete.
  1901. (mips_elf_local_got_index): Always use the GOT entry to track
  1902. GOT indices.
  1903. (mips_elf_global_got_index): Likewise.
  1904. (mips_elf_create_local_got_entry): Assert that TLS entries have
  1905. already been allocated.
  1906. (mips_elf_record_global_got_symbol): Don't initialize
  1907. tls_ie_type or tls_gd_type.
  1908. (mips_elf_count_got_symbols): Only count reloc-only GOT entries here.
  1909. (mips_elf_initialize_tls_index): Allocate a GOT index for every TLS
  1910. entry.
  1911. (mips_elf_lay_out_got): Use mips_elf_count_got_entries to count
  1912. the GOT entries.
  1913. (_bfd_mips_elf_finish_dynamic_symbol): Assert that TLS GOT offsets
  1914. have been allocated.
  1915. (_bfd_mips_elf_copy_indirect_symbol): Remove handling of
  1916. tls_ie_type and tls_gd_type.
  1917. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  1918. * elfxx-mips.c (mips_elf_create_local_got_entry): Tidy. Avoid
  1919. aliasing violation. Check for htab allocation failures.
  1920. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  1921. * elfxx-mips.c (mips_elf_primary_global_got_index): New function,
  1922. split out from...
  1923. (mips_elf_global_got_index): ...here. Reorder arguments so that
  1924. the output bfd and info come first.
  1925. (mips_elf_calculate_relocation): Update the call to
  1926. mips_elf_global_got_index accordingly.
  1927. (_bfd_mips_elf_finish_dynamic_symbol): Use
  1928. mips_elf_primary_global_got_index rather than
  1929. mips_elf_global_got_index.
  1930. (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
  1931. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  1932. * elfxx-mips.c (mips_got_entry): Update comments.
  1933. (mips_elf_multi_got_entry_eq): Rename to...
  1934. (mips_elf_got_entry_eq): ...this, deleting the old definition.
  1935. (mips_elf_create_got_info): Remove master_got_p argument.
  1936. Always use mips_elf_got_entry_eq.
  1937. (mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section):
  1938. Update calls accordingly.
  1939. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  1940. * elfxx-mips.c (mips_got_info): Remove bfd2got.
  1941. (mips_elf_bfd2got_hash): Delete.
  1942. (mips_elf_got_per_bfd_arg): Remove bfd2got.
  1943. (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions.
  1944. (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use
  1945. g->next to test for the multigot case. Use mips_elf_bfd_got rather
  1946. than mips_elf_got_for_ibfd.
  1947. (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq)
  1948. (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete.
  1949. (mips_elf_make_got_per_bfd): Replace with...
  1950. (mips_elf_add_got_entry): ...this new function.
  1951. (mips_elf_make_got_pages_per_bfd): Replace with...
  1952. (mips_elf_add_got_page_entry): ...this new function.
  1953. (mips_elf_merge_got_with): Replace bfd2got argument with separate
  1954. bfd and GOT arguments. Use mips_elf_add_got_entry and
  1955. mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd
  1956. and mips_elf_make_got_pages_per_bfd. Use mips_elf_replace_bfd_got
  1957. to set the BFD's GOT and free the old table.
  1958. (mips_elf_merge_got): Replace bfd2got argument with separate
  1959. bfd and GOT arguments. Apply mips_elf_resolve_final_got_entries.
  1960. Use mips_elf_count_got_entries to count the number of entries in
  1961. each GOT. Update the calls to mips_elf_merge_got_with.
  1962. (mips_elf_adjust_gp): Use g->next to test for the multigot case.
  1963. Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd.
  1964. (mips_elf_multi_got): Don't create the bfd2got hash table.
  1965. Replace hash table traversal with a walk over the input bfds,
  1966. updating the call to mips_elf_merge_got. Use mips_elf_replace_bfd_got
  1967. to set the output bfd's GOT.
  1968. (mips_elf_lay_out_got): Rename "sub" to "ibfd". Record that all
  1969. bfds use the master GOT in the single-GOT case.
  1970. (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got
  1971. rather than mips_elf_got_for_ibfd.
  1972. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  1973. * elfxx-mips.c (mips_elf_obj_tdata): Add a got field.
  1974. (mips_elf_bfd_got, mips_elf_record_got_entry): New functions.
  1975. (mips_elf_record_global_got_symbol): Update the hash entry before
  1976. adding the mips_got_entry. Use mips_elf_record_got_entry to do
  1977. the latter.
  1978. (mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry.
  1979. (mips_elf_record_got_page_entry): Record the entry in both the
  1980. master and bfd GOTs.
  1981. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  1982. * elfxx-mips.c (mips_elf_recreate_got): Don't change the entry;
  1983. create another one if necessary.
  1984. (mips_elf_set_gotidx): New function.
  1985. (mips_elf_set_global_gotidx): Use it.
  1986. (mips_elf_initialize_tls_index): Likewise. Take a
  1987. mips_elf_traverse_got_arg as argument.
  1988. (mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index.
  1989. (mips_elf_multi_got): Likewise. Cope with error returns from
  1990. mips_elf_set_global_gotidx.
  1991. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  1992. * elfxx-mips.c (mips_got_info): Add relocs field.
  1993. (mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace
  1994. with...
  1995. (mips_elf_traverse_got_arg): ...this new structure.
  1996. (mips_elf_count_local_tls_relocs): Delete.
  1997. (mips_elf_count_global_tls_relocs): Likewise.
  1998. (mips_elf_count_got_entry): New function.
  1999. (mips_elf_count_local_got_entries): Likewise.
  2000. (mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg
  2001. rather than a mips_elf_count_tls_arg. Count both relocs and entries.
  2002. (mips_elf_record_local_got_symbol): Don't count got entries here.
  2003. (mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry.
  2004. (mips_elf_set_global_got_offset): Split into...
  2005. (mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these
  2006. new functions. Take a mips_elf_traverse_got_arg rather than a
  2007. mips_elf_set_global_got_offset_arg. Don't count TLS relocs here.
  2008. Use g->relocs to record the number of relocs needed for global GOT
  2009. entries.
  2010. (mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than
  2011. mips_elf_set_global_got_offset_arg. Use the relocs field to count
  2012. relocations. Update for above function split.
  2013. (mips_elf_lay_out_got): Use mips_elf_count_local_got_entries
  2014. to count both the number of GOT entries and the number of TLS
  2015. relocs required by local entries. Likewise
  2016. mips_elf_count_global_tls_entries and global entries.
  2017. Remove uses of mips_elf_count_local_tls_relocs and
  2018. mips_elf_count_global_tls_relocs.
  2019. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  2020. * elfxx-mips.c (mips_got_entry): Update comment above tls_type entry
  2021. to say that each structure represents only one type of TLS reference.
  2022. (GOT_TLS_TYPE): New define.
  2023. (mips_elf_link_hash_entry): Temporarily split tls_type and
  2024. tls_got_offset into two variables each.
  2025. (mips_elf_link_hash_newfunc): Update accordingly.
  2026. (mips_elf_got_entry_eq, mips_elf_got_entry_hash)
  2027. (mips_elf_multi_got_entry_eq): Require the tls_type to be the same.
  2028. (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions.
  2029. (mips_tls_got_relocs): Use a switch statement.
  2030. (mips_elf_count_global_tls_entries): Handle the new hash entry fields.
  2031. (mips_elf_initialize_tls_slots): Use a switch statement. Avoid
  2032. local "offset" variable.
  2033. (mips_tls_got_index): Remove r_type argument and assert. Remove
  2034. code that handled entries with two TLS types; always use the
  2035. original got_index instead.
  2036. (mips_tls_single_got_index): New function.
  2037. (mips_elf_local_got_index): Use entry->tls_type to check for
  2038. TLS entries. Use mips_tls_single_got_index. Update call to
  2039. mips_tls_got_index.
  2040. (mips_elf_global_got_index): Use mips_elf_reloc_tls_type.
  2041. Use p->tls_type to check for TLS entries. Update call to
  2042. mips_tls_got_index. Use mips_tls_single_got_index.
  2043. (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type.
  2044. Use entry.tls_type to check for TLS entries.
  2045. (mips_elf_record_global_got_symbol): Replace tls_flag argument
  2046. with r_type argument. Use mips_elf_reloc_tls_type.
  2047. Set up the new hash entry fields.
  2048. (mips_elf_record_local_got_symbol): Replace tls_flag argument
  2049. with r_type argument. Use mips_elf_reloc_tls_type and
  2050. mips_tls_got_entries. Remove code that handled entries
  2051. with multiple TLS types.
  2052. (mips_elf_make_got_per_bfd): Use mips_tls_got_entries.
  2053. (mips_elf_initialize_tls_index): Handle new hash entry fields.
  2054. Use equality rather than masks when checking for specific TLS types.
  2055. Use mips_tls_got_entries. Remove code that handled entries
  2056. with multiple TLS types.
  2057. (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of
  2058. testing the hash table entry.
  2059. (_bfd_mips_elf_check_relocs): Update calls to
  2060. mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol.
  2061. (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type.
  2062. (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields.
  2063. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  2064. * elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to...
  2065. (mips_elf_got_entry_hash): ...this, deleting the old version.
  2066. (mips_elf_create_got_info): Use mips_elf_got_entry_hash for
  2067. both types of GOT.
  2068. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  2069. * elfxx-mips.c (mips_elf_create_got_info): New function.
  2070. (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it.
  2071. (mips_elf_create_got_section): Likewise.
  2072. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  2073. * elfxx-mips.c (mips_elf_record_local_got_symbol): Always set
  2074. gotidx to -1.
  2075. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  2076. * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation.
  2077. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  2078. * elfxx-mips.c (mips_got_info): Move global_gotsym to...
  2079. (mips_elf_link_hash_table): ...here. Update rest of file accordingly.
  2080. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  2081. * elfxx-mips.c (mips_elf_count_global_tls_entries)
  2082. (mips_elf_count_global_tls_relocs): Don't count indirect or
  2083. warning symbols.
  2084. (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right
  2085. number of TLS entries were allocated.
  2086. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  2087. * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts.
  2088. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  2089. * elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count
  2090. if there are TLS relocations.
  2091. 2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
  2092. * elfxx-mips.c (mips_elf_recreate_got): Remove free.
  2093. (mips_elf_resolve_final_got_entries): Remove bogus comment.
  2094. 2013-02-11 Alan Modra <amodra@gmail.com>
  2095. * elfcode.h (elf_checksum_contents): Free contents.
  2096. * elf-bfd.h (_bfd_elf_link_hash_table_free): Declare.
  2097. * elflink.c (_bfd_elf_link_hash_table_free): New function.
  2098. (elf_final_link_free): New function, extracted from..
  2099. (bfd_elf_final_link): ..here. Always call
  2100. _bfd_elf_write_section_eh_frame_hdr.
  2101. * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to
  2102. _bfd_elf_link_hash_table_free.
  2103. * libbfd-in.h (_bfd_merge_sections_free): Declare.
  2104. * libbfd.h: Regenerate.
  2105. * merge.c (_bfd_merge_sections_free): New function.
  2106. * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free
  2107. hdr_info->array.
  2108. * elf-m10300.c (elf32_mn10300_link_hash_table_free): Call
  2109. _bfd_elf_link_hash_table_free.
  2110. * elf32-arm.c (elf32_arm_link_hash_table_free): Likewise.
  2111. * elf32-avr.c (elf32_avr_link_hash_table_free): Likewise.
  2112. * elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise.
  2113. * elf32-i386.c (elf_i386_link_hash_table_free): Likewise.
  2114. * elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise.
  2115. * elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise.
  2116. * elf32-metag.c (elf_metag_link_hash_table_free): Likewise.
  2117. * elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise.
  2118. * elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise.
  2119. * elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise.
  2120. * elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise.
  2121. * elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise.
  2122. * elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise.
  2123. * elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete.
  2124. (bfd_elf32_bfd_link_hash_table_free): Don't define.
  2125. * elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete.
  2126. (bfd_elf32_bfd_link_hash_table_free): Dont' define.
  2127. 2013-02-10 Alan Modra <amodra@gmail.com>
  2128. * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc.
  2129. * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
  2130. * m68klinux.c (linux_link_hash_table_create): Likewise.
  2131. * sparclinux.c (linux_link_hash_table_create): Likewise.
  2132. * sunos.c (sunos_link_hash_table_create): Likewise.
  2133. * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
  2134. * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
  2135. * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise.
  2136. * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise.
  2137. * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
  2138. * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
  2139. * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
  2140. * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
  2141. * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
  2142. * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise.
  2143. * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise.
  2144. * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
  2145. * elf32-metag.c (elf_metag_link_hash_table_create): Likewise.
  2146. * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise.
  2147. * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
  2148. * elf32-score.c (elf32_score_link_hash_table_create): Likewise.
  2149. * elf32-spu.c (spu_elf_link_hash_table_create): Likewise.
  2150. * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise.
  2151. * elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
  2152. * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise.
  2153. * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise.
  2154. * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise.
  2155. * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
  2156. * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
  2157. * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise.
  2158. * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
  2159. * elflink.c (_bfd_elf_link_hash_table_create): Likewise.
  2160. (_bfd_elf_link_hash_table_init): Assume zero fill table on entry.
  2161. 2013-02-10 Alan Modra <amodra@gmail.com>
  2162. * i386linux.c (linux_link_hash_table_create): Allocate table
  2163. with bfd_zmalloc, not bfd_alloc.
  2164. * pdp11.c (link_hash_table_create): Allocate table with
  2165. bfd_malloc, not bfd_alloc.
  2166. * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table
  2167. with bfd_zmalloc, not bfd_zalloc.
  2168. (bfin_link_hash_table_create): Likewise.
  2169. * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
  2170. * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
  2171. 2013-02-10 Alan Modra <amodra@gmail.com>
  2172. PR ld/15113
  2173. * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc.
  2174. 2013-02-08 Markos Chandras <markos.chandras@imgtec.com>
  2175. * elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED
  2176. sections.
  2177. (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss
  2178. symbol.
  2179. 2013-02-08 Yufeng Zhang <yufeng.zhang@arm.com>
  2180. * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from
  2181. 288 to 272.
  2182. 2013-02-08 Alan Modra <amodra@gmail.com>
  2183. PR binutils/15106
  2184. * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
  2185. * elf.c (elf_find_function): Revert last change. Use new
  2186. tdata field rather than static vars for cache.
  2187. 2013-02-07 H.J. Lu <hongjiu.lu@intel.com>
  2188. PR ld/15107
  2189. * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if
  2190. symbol is defined in regular object.
  2191. 2013-02-07 Roberto Agostino Vitillo <ra.vitillo@gmail.com>
  2192. PR binutils/15106
  2193. * elf.c (elf_find_function): Don't cache if symbols change.
  2194. 2013-02-07 Alan Modra <amodra@gmail.com>
  2195. PR binutils/14873
  2196. * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
  2197. copy attributes from or to non-ELF.
  2198. 2013-02-06 H.J. Lu <hongjiu.lu@intel.com>
  2199. * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count
  2200. for non-zero TLS symbol.
  2201. (elf_i386_relocate_section): Don't resolve size relocation against
  2202. non-zero TLS symbol.
  2203. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear
  2204. pc_count for non-zero TLS symbol.
  2205. (elf_x86_64_relocate_section): Don't resolve size relocation
  2206. against non-zero TLS symbol.
  2207. 2013-02-06 Sandra Loosemore <sandra@codesourcery.com>
  2208. Andrew Jenner <andrew@codesourcery.com>
  2209. Based on patches from Altera Corporation.
  2210. * Makefile.am (ALL_MACHINES): Add cpu-nios2.lo.
  2211. (ALL_MACHINES_CFILES): Add cpu-nios2.c.
  2212. (BFD_BACKENDS): Add elf32-nios2.lo.
  2213. (BFD32_BACKENDS_CFILES): Add elf32-nios2.c.
  2214. * Makefile.in: Regenerated.
  2215. * configure.in: Add entries for bfd_elf32_bignios2_vec and
  2216. bfd_elf32_littlenios2_vec.
  2217. * configure: Regenerated.
  2218. * config.bfd: Add cases for nios2.
  2219. * archures.c (enum bfd_architecture): Add bfd_arch_nios2.
  2220. (bfd_mach_nios2): Define.
  2221. (bfd_nios2_arch): Declare.
  2222. (bfd_archures_list): Add bfd_nios2_arch.
  2223. * targets.c (bfd_elf32_bignios2_vec): Declare.
  2224. (bfd_elf32_littlenios2_vec): Declare.
  2225. (_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and
  2226. bfd_elf32_littlenios2_vec.
  2227. * elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA.
  2228. * reloc.c (enum bfd_reloc_code_real): Add Nios II relocations.
  2229. * bfd-in2.h: Regenerated.
  2230. * libbfd.h: Regenerated.
  2231. * cpu-nios2.c: New file.
  2232. * elf32-nios2.c: New file.
  2233. 2013-02-06 Alan Modra <amodra@gmail.com>
  2234. * elf32-arm.c (elf32_arm_final_link_relocate): Only test for
  2235. stubs in stub_bfd.
  2236. 2013-02-06 Alan Modra <amodra@gmail.com>
  2237. * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
  2238. * Makefile.in: Regenerate.
  2239. 2013-02-04 Sergio Durigan Junior <sergiodj@redhat.com>
  2240. Pedro Alves <palves@redhat.com>
  2241. * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
  2242. * elf-bfd.h (elf_internal_linux_prpsinfo): New structure
  2243. declaration.
  2244. (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64)
  2245. (elfcore_write_ppc32_linux_prpsinfo32): New declarations.
  2246. * elf-linux-psinfo.h: New file.
  2247. * elf.c: Include elf-linux-psinfo.h.
  2248. (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64):
  2249. New functions.
  2250. * elf32-ppc.c: Include `elf-linux-psinfo.h'.
  2251. (elf_external_ppc_linux_prpsinfo32): New structure declaration.
  2252. (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro.
  2253. (elfcore_write_ppc_linux_prpsinfo32): New function.
  2254. 2013-02-04 Tristan Gingold <gingold@adacore.com>
  2255. * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no
  2256. start address.
  2257. 2013-02-04 Alan Modra <amodra@gmail.com>
  2258. * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo.
  2259. (BFD64_BACKENDS_CFILES): Remove elf-nacl.c.
  2260. * Makefile.in: Regenerate.
  2261. * po/SRC-POTFILES.in: Regenerate.
  2262. 2013-02-04 Alan Modra <amodra@gmail.com>
  2263. * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete.
  2264. * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete.
  2265. 2013-02-01 Alan Modra <amodra@gmail.com>
  2266. * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
  2267. clears def_regular.
  2268. 2013-01-31 Tristan Gingold <gingold@adacore.com>
  2269. * mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections
  2270. earlier. Fix status checking of bfd_mach_o_scan_start_address.
  2271. (bfd_mach_o_scan_start_address): Handle LC_MAIN.
  2272. 2013-01-31 Alan Modra <amodra@gmail.com>
  2273. David S. Miller <davem@davemloft.net>
  2274. PR ld/15056
  2275. * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
  2276. references to __tls_get_addr.
  2277. * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise. Correct
  2278. vtinherit and vtentry reloc handling too.
  2279. * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
  2280. 2013-01-31 Alan Modra <amodra@gmail.com>
  2281. * elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
  2282. 2013-01-31 Alan Modra <amodra@gmail.com>
  2283. * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
  2284. 2013-01-28 Alan Modra <amodra@gmail.com>
  2285. * elf64-ppc.c: Use %T to print symbols names and remove redundant
  2286. "relocation" in error messages throughout file.
  2287. (ppc64_elf_relocate_section): Remove sibling call error message,
  2288. replace with "call lacks nop". Specially report errors for
  2289. branches to function entry points via OPD lookup and branches
  2290. to stubs. Remove NULL symbol handling now done by %T.
  2291. 2013-01-28 Alan Modra <amodra@gmail.com>
  2292. * archive.c (bfd_generic_archive_p): Return target and keep
  2293. ardata on partial matches.
  2294. * format.c (bfd_check_format_matches): Adjust for above
  2295. change. Remove bfd_error_file_ambiguously_recognized dead
  2296. code.
  2297. 2013-01-26 Alan Modra <amodra@gmail.com>
  2298. * bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
  2299. bfd_preserve_finish): Move to..
  2300. * format.c: ..here, splitting out..
  2301. (bfd_reinit): ..this. New function.
  2302. (bfd_check_format_matches): Use bfd_preserve_save/restore to
  2303. keep bfd state for a match.
  2304. * elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
  2305. * elfcore.h (elf_core_file_p): Likewise.
  2306. * mach-o.c (bfd_mach_o_header_p): Likewise.
  2307. * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
  2308. * xsym.c (bfd_sym_object_p): Likewise.
  2309. * mmo.c (mmo_scan): Clear abfd->symcount.
  2310. * opncls.c (_bfd_new_bfd): Use a smaller section hash table.
  2311. * section.c (bfd_section_list_clear): Clear section_htab.count.
  2312. * bfd-in2.h: Regenerate.
  2313. 2013-01-25 Michael Schewe <michael.schewe@gmx.net>
  2314. * elf32-h8300.c (elf32_h8_relax_section): When checking for a
  2315. second reloc, make sure that the reloc potentially exists first.
  2316. 2013-01-24 Nick Clifton <nickc@redhat.com>
  2317. * archures.c: Add bfd_mach_v850e3v5.
  2318. * bfd-in2.h: Regenerate.
  2319. * cpu-v850.c: Add entries for v850e2v5 and v850e3v5.
  2320. * cpu-v850_rh850.c: Likewise.
  2321. * elf32-v850.c: Add support for v850e3v5 architecture.
  2322. 2013-01-23 Markos Chandras <markos.chandras@imgtec.com>
  2323. * elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
  2324. 2013-01-23 Leif Ekblad <leif@rdos.net>
  2325. * config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
  2326. 2013-01-18 H.J. Lu <hongjiu.lu@intel.com>
  2327. * elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
  2328. non-zero TLS symbol.
  2329. (elf_i386_relocate_section): Resolve size relocation against
  2330. non-zero TLS symbol.
  2331. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count
  2332. for non-zero TLS symbol.
  2333. (elf_x86_64_relocate_section): Resolve size relocation against
  2334. non-zero TLS symbol.
  2335. 2013-01-18 Mike Frysinger <vapier@gentoo.org>
  2336. * elflink.c (bfd_elf_size_dynamic_sections): Only add DT_RPATH
  2337. when new_dtags is false. Only add DT_RUNPATH when new_dtags is
  2338. true.
  2339. 2013-01-17 H.J. Lu <hongjiu.lu@intel.com>
  2340. * elf32-i386.c (elf_i386_check_relocs): Count size relocation as
  2341. PC-relative relocation.
  2342. * elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation
  2343. as PC-relative relocation.
  2344. 2013-01-16 H.J. Lu <hongjiu.lu@intel.com>
  2345. * elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32
  2346. check.
  2347. (elf_i386_relocate_section): Don't check TLS for R_386_SIZE32.
  2348. * elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32
  2349. and R_X86_64_SIZE64 check.
  2350. (elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32
  2351. nor R_X86_64_SIZE64.
  2352. 2013-01-16 H.J. Lu <hongjiu.lu@intel.com>
  2353. * bfd-in2.h: Regenerated.
  2354. * libbfd.h: Likewise.
  2355. * elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry.
  2356. (elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32.
  2357. (elf_i386_check_relocs): Handle R_386_SIZE32.
  2358. (elf_i386_gc_sweep_hook): Likewise.
  2359. (elf_i386_relocate_section): Likewise.
  2360. * elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32
  2361. and R_X86_64_SIZE64 entries.
  2362. (x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64,
  2363. (elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32.
  2364. (elf_x86_64_reloc_name_lookup): Likewise.
  2365. (elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and
  2366. R_X86_64_SIZE64.
  2367. (elf_x86_64_gc_sweep_hook): Likewise.
  2368. (elf_x86_64_relocate_section): Likewise.
  2369. * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and
  2370. BFD_RELOC_SIZE64.
  2371. 2013-01-15 H.J. Lu <hongjiu.lu@intel.com>
  2372. * elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE
  2373. with R_X86_64_RELATIVE64.
  2374. 2013-01-15 Nick Clifton <nickc@redhat.com>
  2375. * elf32-msp430.c: Fix spelling typo.
  2376. 2013-01-15 Alan Modra <amodra@gmail.com>
  2377. * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
  2378. plt-thread-safe.
  2379. 2013-01-14 Alan Modra <amodra@gmail.com>
  2380. PR binutils/14813
  2381. * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
  2382. (memory_bclose): Likewise. Return 0 on success.
  2383. * cache.c (cache_bclose): Likewise.
  2384. * opncls.c (opncls_bclose, bfd_close): Likewise.
  2385. * vms-lib.c (vms_lib_bclose): Likewise.
  2386. * libbfd.h: Regenerate.
  2387. 2013-01-13 Alan Modra <amodra@gmail.com>
  2388. * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
  2389. Add ref_dynamic_nonweak.
  2390. * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
  2391. (_bfd_elf_merge_symbol): Don't call above function. Move
  2392. setting of ref_dynamic_nonweak and dynamic_def earlier. Don't
  2393. clear dynamic_def.
  2394. (elf_link_add_object_symbols): Delete redundant "override" test.
  2395. Don't set dynamic_def here.
  2396. (elf_link_output_extsym): Update.
  2397. 2013-01-12 H.J. Lu <hongjiu.lu@intel.com>
  2398. * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for
  2399. normal and TLS symbol access.
  2400. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
  2401. 2013-01-12 Alan Modra <amodra@gmail.com>
  2402. * elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
  2403. * elf-strtab.c (_bfd_elf_strtab_refcount): New function.
  2404. * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
  2405. 2013-01-12 Alan Modra <amodra@gmail.com>
  2406. PR ld/12549
  2407. * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
  2408. (_bfd_elf_strtab_clear_all_refs): Define.
  2409. * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
  2410. (_bfd_elf_strtab_clear_all_refs): Delete.
  2411. * elflink.c (elf_link_add_object_symbols): Clear out added
  2412. strtab refs. Correct handling of warning common symbols.
  2413. 2013-01-10 H.J. Lu <hongjiu.lu@intel.com>
  2414. * aout0.c: Remove trailing white spaces.
  2415. * archive.c: Likewise.
  2416. * archures.c: Likewise.
  2417. * bfd-in.h: Likewise.
  2418. * bfd-in2.h: Likewise.
  2419. * coff-alpha.c: Likewise.
  2420. * coff-i860.c: Likewise.
  2421. * coff-mips.c: Likewise.
  2422. * coff-ppc.c: Likewise.
  2423. * coff-tic80.c: Likewise.
  2424. * coff-x86_64.c: Likewise.
  2425. * coff-z80.c: Likewise.
  2426. * coffcode.h: Likewise.
  2427. * coffgen.c: Likewise.
  2428. * cofflink.c: Likewise.
  2429. * compress.c: Likewise.
  2430. * corefile.c: Likewise.
  2431. * cpu-arm.c: Likewise.
  2432. * cpu-avr.c: Likewise.
  2433. * cpu-bfin.c: Likewise.
  2434. * cpu-cr16.c: Likewise.
  2435. * cpu-cr16c.c: Likewise.
  2436. * cpu-crx.c: Likewise.
  2437. * cpu-h8300.c: Likewise.
  2438. * cpu-i386.c: Likewise.
  2439. * cpu-lm32.c: Likewise.
  2440. * cpu-m68k.c: Likewise.
  2441. * cpu-moxie.c: Likewise.
  2442. * cpu-msp430.c: Likewise.
  2443. * cpu-sh.c: Likewise.
  2444. * cpu-xc16x.c: Likewise.
  2445. * dwarf2.c: Likewise.
  2446. * ecofflink.c: Likewise.
  2447. * ecoffswap.h: Likewise.
  2448. * elf-ifunc.c: Likewise.
  2449. * elf-m10300.c: Likewise.
  2450. * elf-vxworks.c: Likewise.
  2451. * elf32-avr.c: Likewise.
  2452. * elf32-avr.h: Likewise.
  2453. * elf32-cr16.c: Likewise.
  2454. * elf32-cr16c.c: Likewise.
  2455. * elf32-cris.c: Likewise.
  2456. * elf32-crx.c: Likewise.
  2457. * elf32-frv.c: Likewise.
  2458. * elf32-hppa.c: Likewise.
  2459. * elf32-i860.c: Likewise.
  2460. * elf32-ip2k.c: Likewise.
  2461. * elf32-iq2000.c: Likewise.
  2462. * elf32-m32c.c: Likewise.
  2463. * elf32-m68hc1x.c: Likewise.
  2464. * elf32-msp430.c: Likewise.
  2465. * elf32-mt.c: Likewise.
  2466. * elf32-ppc.c: Likewise.
  2467. * elf32-rl78.c: Likewise.
  2468. * elf32-s390.c: Likewise.
  2469. * elf32-score.h: Likewise.
  2470. * elf32-sh-symbian.c: Likewise.
  2471. * elf32-sh.c: Likewise.
  2472. * elf32-spu.c: Likewise.
  2473. * elf32-tic6x.c: Likewise.
  2474. * elf32-v850.c: Likewise.
  2475. * elf32-xc16x.c: Likewise.
  2476. * elf32-xtensa.c: Likewise.
  2477. * elf64-alpha.c: Likewise.
  2478. * elf64-hppa.c: Likewise.
  2479. * elf64-ppc.c: Likewise.
  2480. * elf64-s390.c: Likewise.
  2481. * elfcore.h: Likewise.
  2482. * elflink.c: Likewise.
  2483. * elfxx-mips.c: Likewise.
  2484. * elfxx-sparc.c: Likewise.
  2485. * elfxx-tilegx.c: Likewise.
  2486. * ieee.c: Likewise.
  2487. * libcoff.h: Likewise.
  2488. * libpei.h: Likewise.
  2489. * libxcoff.h: Likewise.
  2490. * linker.c: Likewise.
  2491. * mach-o-i386.c: Likewise.
  2492. * mach-o-target.c: Likewise.
  2493. * mach-o.c: Likewise.
  2494. * mach-o.h: Likewise.
  2495. * mmo.c: Likewise.
  2496. * opncls.c: Likewise.
  2497. * pdp11.c: Likewise.
  2498. * pe-x86_64.c: Likewise.
  2499. * peXXigen.c: Likewise.
  2500. * pef-traceback.h: Likewise.
  2501. * pei-x86_64.c: Likewise.
  2502. * peicode.h: Likewise.
  2503. * plugin.c: Likewise.
  2504. * reloc.c: Likewise.
  2505. * riscix.c: Likewise.
  2506. * section.c: Likewise.
  2507. * som.c: Likewise.
  2508. * syms.c: Likewise.
  2509. * tekhex.c: Likewise.
  2510. * ticoff.h: Likewise.
  2511. * vaxbsd.c: Likewise.
  2512. * xcofflink.c: Likewise.
  2513. * xtensa-isa.c: Likewise.
  2514. 2013-01-10 Will Newton <will.newton@imgtec.com>
  2515. * Makefile.am: Add Meta.
  2516. * Makefile.in: Regenerate.
  2517. * archures.c (bfd_mach_metag): New.
  2518. * bfd-in2.h: Regenerate.
  2519. * config.bfd: Add Meta.
  2520. * configure: Regenerate.
  2521. * configure.in: Add Meta.
  2522. * cpu-metag.c: New file.
  2523. * elf-bfd.h: Add Meta.
  2524. * elf32-metag.c: New file.
  2525. * elf32-metag.h: New file.
  2526. * libbfd.h: Regenerate.
  2527. * reloc.c: Add Meta relocations.
  2528. * targets.c: Add Meta.
  2529. 2013-01-08 Yufeng Zhang <yufeng.zhang@arm.com>
  2530. * elf-bfd.h (elfcore_write_aarch_tls): Add prototype.
  2531. (elfcore_write_aarch_hw_break): Likewise.
  2532. (elfcore_write_aarch_hw_watch): Likewise.
  2533. * elf.c (elfcore_grok_aarch_tls): New function.
  2534. (elfcore_grok_aarch_hw_break): Likewise.
  2535. (elfcore_grok_aarch_hw_watch): Likewise.
  2536. (elfcore_grok_note): Call the new functions to handle the
  2537. corresponding notes.
  2538. (elfcore_write_aarch_tls): New function.
  2539. (elfcore_write_aarch_hw_break): Likewise.
  2540. (elfcore_write_aarch_hw_watch): Likewise.
  2541. (elfcore_write_register_note): Call the new functions to handle the
  2542. corresponding pseudo sections.
  2543. 2013-01-07 Tom Tromey <tromey@redhat.com>
  2544. * section.c (_bfd_std_section): Rename from std_section.
  2545. (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
  2546. (STD_SECTION): Update.
  2547. * bfd-in2.h: Rebuild.
  2548. 2013-01-04 Juergen Urban <JuergenUrban@gmx.de>
  2549. * archures.c (bfd_mach_mips5900): Define.
  2550. * bfd-in2.h: Regenerate.
  2551. * config.bfd: Add mips64-ps2-elf and mips-ps2-elf targets.
  2552. * cpu-mips.c: Add support for MIPS r5900.
  2553. * elfxx-mips.c: Add support for MIPS r5900 (extension of r4000).
  2554. 2013-01-03 Nickolai Zeldovich <nickolai@csail.mit.edu>
  2555. Nick Clifton <nickc@redhat.com>
  2556. * elflink.c (get_value): Prevent the use of an undefined shift
  2557. operation. Add sanity checks.
  2558. 2013-01-02 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
  2559. * config.bfd (cr16*-*-uclinux*): New target support.
  2560. For older changes see ChangeLog-2012
  2561. Copyright (C) 2013 Free Software Foundation, Inc.
  2562. Copying and distribution of this file, with or without modification,
  2563. are permitted in any medium without royalty provided the copyright
  2564. notice and this notice are preserved.
  2565. Local Variables:
  2566. mode: change-log
  2567. left-margin: 8
  2568. fill-column: 74
  2569. version-control: never
  2570. End: