ChangeLog-2006 135 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607
  1. 2006-12-31 H.J. Lu <hongjiu.lu@intel.com>
  2. * bfd.c (bfd_record_phdr): Call bfd_zalloc instead of bfd_alloc
  3. to allocate elf_segment_map.
  4. 2006-12-29 H.J. Lu <hongjiu.lu@intel.com>
  5. * elflink.c (elf_link_add_object_symbols): Remember the symbol
  6. size only if it is defined.
  7. 2006-12-25 Kazu Hirata <kazu@codesourcery.com>
  8. * archures.c (bfd_mach_cpu32_fido): New.
  9. (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_a,
  10. bfd_mach_mcf_isa_a_mac, bfd_mach_mcf_isa_a_emac,
  11. bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
  12. bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_b_nousp,
  13. bfd_mach_mcf_isa_b_nousp_mac, bfd_mach_mcf_isa_b_nousp_emac,
  14. bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac,
  15. bfd_mach_mcf_isa_b_emac, bfd_mach_mcf_isa_b_float,
  16. bfd_mach_mcf_isa_b_float_mac, bfd_mach_mcf_isa_b_float_emac):
  17. Increment the defined values.
  18. * bfd-in2.h: Regenerate.
  19. * cpu-m68k.c (arch_info_struct): Add en entry for
  20. bfd_mach_cpu32_fido.
  21. * elf32-m68k.c (elf32_m68k_object_p): Handle
  22. EF_M68K_CPU32_FIDO_A.
  23. (elf32_m68k_merge_private_bfd_data): Use EF_M68K_CPU32_MASK.
  24. (elf32_m68k_print_private_bfd_data): Handle
  25. EF_M68K_CPU32_FIDO_A.
  26. 2006-12-25 Mei Ligang <ligang@sunnorth.com.cn>
  27. * elf32-score.c (score_elf_got_lo16_reloc): Change some variables
  28. type from unsigned to signed.
  29. (score_elf_final_link_relocate): Fix bugs of handling relocation
  30. type R_SCORE_GOT15, R_SCORE_GOT_LO16, and R_SCORE_REL32.
  31. (_bfd_score_elf_relocate_section): Handle R_SCORE_GOT_LO16
  32. specially.
  33. 2006-12-23 Jakub Jelinek <jakub@redhat.com>
  34. * elf-bfd.h (struct elf_backend_data): Add as_needed_cleanup hook.
  35. * elfxx-target.h (elf_backend_as_needed_cleanup): Define.
  36. (elfNN_bed): Add as_needed_cleanup hook.
  37. * elflink.c (elf_link_add_object_symbols): Call it when reverting
  38. hash table changes for unneeded --as-needed input.
  39. * elf64-ppc64.c (elf_backend_as_needed_cleanup): Define.
  40. (ppc64_elf_as_needed_cleanup): New function.
  41. 2006-12-19 Kazu Hirata <kazu@codesourcery.com>
  42. * elf32-m68k.c (elf32_m68k_object_p,
  43. elf32_m68k_print_private_bfd_data): Use EF_M68K_ARCH_MASK to
  44. extract architecture mask.
  45. 2006-12-19 Nathan Sidwell <nathan@codesourcery.com>
  46. * elf.c (assign_file_positions_for_load_sections): Adjust p_vaddr
  47. by p_vaddr_offset. Copy alignment & use if it is valid.
  48. (rewrite_elf_program_headers): Cope with leading padding in a
  49. segment that does not contain file or program headers.
  50. (copy_elf_program_header): Likewise.
  51. 2006-12-15 Mark Kettenis <kettenis@gnu.org>
  52. * config.bfd: (sh*-*-openbsd*): Add target.
  53. * configure.in (sh*-*-openbsd*): Set COREFILE to netbsd-core.lo.
  54. * configure: Regenerate.
  55. 2006-12-15 Alan Modra <amodra@bigpond.net.au>
  56. * opncls.c (bfd_openr_iovec): Add "stat" parameter.
  57. (struct opncls): Add "stat" field.
  58. (opncls_bstat): Call vec->stat.
  59. * bfd-in2.h: Regenerate.
  60. * elf32-spu.c (spu_elf_open_builtin_lib): Adjust.
  61. 2006-12-14 Alan Modra <amodra@bigpond.net.au>
  62. * elf-bfd.h (struct bfd_elf_section_data): Clarify sec_group
  63. and next_in_group usage.
  64. 2006-12-14 Alan Modra <amodra@bigpond.net.au>
  65. PR 3704
  66. * bfdio.c (bfd_bread): Don't read past end of archive elements.
  67. 2006-12-12 Daniel Jacobowitz <dan@codesourcery.com>
  68. * doc/Makefile.am (bfd_TEXINFOS): Set.
  69. (bfd.info bfd.dvi bfd.html): Delete rule.
  70. * doc/Makefile.in: Regenerated.
  71. 2006-12-11 Daniel Jacobowitz <dan@codesourcery.com>
  72. * configure.in: Define GENINSRC_NEVER.
  73. * doc/Makefile.am (bfd.info): Remove srcdir prefix.
  74. (MAINTAINERCLEANFILES): Add info file.
  75. (DISTCLEANFILES): Pretend to add info file.
  76. * po/Make-in (.po.gmo): Put gmo files in objdir.
  77. * configure, Makefile.in, doc/Makefile.in: Regenerated.
  78. 2006-12-11 Eric Botcazou <ebotcazou@adacore.com>
  79. * elflink.c (bfd_elf_gc_sections): Also search for corresponding
  80. sections with .gnu.linkonce.t. prefix.
  81. 2006-12-07 Kazu Hirata <kazu@codesourcery.com>
  82. * elf32-m68k.c: Update uses of EF_M68K_*.
  83. 2006-12-07 H.J. Lu <hjl@gnu.org>
  84. PR ld/3666
  85. * elflink.c (elf_link_add_object_symbols): Keep symbol
  86. visibility for symbols from discarded section.
  87. 2006-12-06 Alan Modra <amodra@bigpond.net.au>
  88. * elf64-alpha.c (elf64_alpha_merge_symbol_attribute): New function.
  89. (elf_backend_merge_symbol_attribute): Define.
  90. 2006-12-04 Jan Beulich <jbeulich@novell.com>
  91. * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
  92. .eh_frame_hdr section from here anymore.
  93. (bfd_elf_size_dynamic_sections): Call _bfd_elf_maybe_strip_eh_frame_hdr
  94. a little earlier.
  95. 2006-12-01 H.J. Lu <hongjiu.lu@intel.com>
  96. PR binutils/3609
  97. * elf.c (rewrite_elf_program_header): Preserve segment physical
  98. address in the output segment if the first section in the
  99. corresponding input segment is null.
  100. 2006-12-01 Nick Clifton <nickc@redhat.com>
  101. PR 3609
  102. * elf.c (rewrite_elf_program_header): Do not use the first_section
  103. pointer if it is null.
  104. 2006-11-29 Paul Brook <paul@codesourcery.com>
  105. * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output
  106. section is present.
  107. (allocate_dynrelocs): Only add export stub for symbols defined in
  108. this object.
  109. 2006-11-29 Paul Brook <paul@codesourcery.com>
  110. * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output
  111. section is present.
  112. (allocate_dynrelocs): Only add export stub for symbols defined in
  113. this object.
  114. 2006-11-29 Paul Brook <paul@codesourcery.com>
  115. Julian Brown <julian@codesourcery.com>
  116. * elf32-arm.c (copy_eabi_attributes): Correct starting offset.
  117. (elf32_arm_merge_eabi_attributes): Mark output as initialized.
  118. Only set Tag_CPU_name and Tag_ABI_PCS_R9_use if input attribute
  119. is present.
  120. 2006-11-27 Bob Wilson <bob.wilson@acm.org>
  121. * elf32-xtensa.c (elf_xtensa_special_sections): Add .xtensa.info.
  122. 2006-11-24 H.J. Lu <hongjiu.lu@intel.com>
  123. * elf.c (IS_SECTION_IN_INPUT_SEGMENT): New.
  124. (INCLUDE_SECTION_IN_SEGMENT): Use IS_SECTION_IN_INPUT_SEGMENT.
  125. (rewrite_elf_program_header): Don't preserve segment physical
  126. address in the output segment if the first section in the
  127. corresponding input segment is removed.
  128. 2006-11-22 Alan Modra <amodra@bigpond.net.au>
  129. * pef.c (bfd_pef_make_empty_symbol): Delete function. Define instead.
  130. * xsym.c (bfd_sym_make_empty_symbol): Likewise.
  131. * xsym.h (bfd_sym_make_empty_symbol): Delete.
  132. 2006-11-21 Greg McGary <greg@mcgary.org>
  133. * elf32-ppc.c (ppc_elf_relocate_section): Fixup D field
  134. at proper offset in little-endian mode.
  135. * elf64-ppc.c (ppc_elf_relocate_section): Likewise.
  136. 2006-11-21 Jakub Jelinek <jakub@redhat.com>
  137. * elf-eh-frame.c (struct cie): New type.
  138. (cie_compare): Removed.
  139. (cie_eq, cie_hash, cie_compute_hash): New functions.
  140. (_bfd_elf_discard_section_eh_frame): Rewrite not to rely on FDEs
  141. pointing only to last CIE and allow merging of any duplicate CIEs,
  142. not just duplicate consecutive CIEs.
  143. (_bfd_elf_discard_section_eh_frame_hdr): Delete cies hash table.
  144. * elf-bfd.h (struct cie_header, struct cie): Removed.
  145. (struct eh_frame_sec_info): Remove alloced field.
  146. (struct eh_frame_hdr_info): Remove last_cie, last_cie_sec
  147. and last_cie_inf fields. Add cies field.
  148. 2006-11-20 Alan Modra <amodra@bigpond.net.au>
  149. * bfd-in.h (struct stat): Don't typedef.
  150. * bfdio.c (bfd_get_size): Return a file_ptr.
  151. * cisco-core.c (cisco_core_file_validate): Use bfd_size_type for nread.
  152. * mmo.c (mmo_scan): Use file_ptr for curpos.
  153. * trad-core.c (trad_unix_core): Don't cast statbuf.st_size to
  154. unsigned long.
  155. * bfd-in2.h: Regenerate.
  156. 2006-11-20 Alan Modra <amodra@bigpond.net.au>
  157. PR 3532
  158. * bfd-in.h (struct bfd_hash_table): Reorganize. Add "frozen".
  159. * hash.c (bfd_hash_table_init_n): Init frozen.
  160. (bfd_hash_lookup): Don't grow if frozen.
  161. (bfd_hash_traverse): Freeze hash table during traversal.
  162. * bfd-in2.h: Regenerate.
  163. 2006-11-18 Alan Modra <amodra@bigpond.net.au>
  164. * elflink.c (_bfd_elf_check_kept_section): Test for kept group
  165. section. Save result of checks in kept_section.
  166. (_bfd_elf_section_already_linked): Tidy. Correct comments.
  167. Ignore all group member sections. Handle special matching of
  168. single-member groups against linkonce sections via their group
  169. section. When such a match is found, set kept_section to the
  170. group member section rather than to the group.
  171. 2006-11-14 Phil Lello <phil.lello@homecall.co.uk>
  172. * peXXigen.c: Updates for PE/COFF V8.0, and clarification
  173. (dir_names): Added CLR Runtime Header to dir_names[].
  174. (_bfd_XX_print_private_bfd_data_common): Added EFI_ROM and XBOX
  175. subsystem names
  176. (_bfd_XXi_swap_aouthdr_in, _bfd_XXi_swap_aouthdr_out)
  177. (pe_print_idata, pe_print_edata)
  178. (_bfd_XX_bfd_copy_private_bfd_data_common)
  179. (_bfd_XXi_final_link_postscript): Use #DEFINEs for index into
  180. DataDirectory.
  181. 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
  182. * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
  183. prototype.
  184. (bfd_elf32_arm_set_byteswap_code): New prototype.
  185. * bfd-in2.h: Regenerate.
  186. * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Don't take
  187. byteswap_code as an argument. Revert 2006-11-01 change.
  188. (bfd_elf32_arm_set_byteswap_code): New.
  189. (elf32_arm_size_dynamic_sections): Call
  190. bfd_elf32_arm_process_before_allocation.
  191. 2006-11-10 Thiemo Seufer <ths@mips.com>
  192. * config.bfd (mips*el-sde-elf*, mips*-sde-elf*): Drop ECOFF support
  193. for SDE configs.
  194. 2006-11-10 Nick Clifton <nickc@redhat.com>
  195. * config.bfd: Move previously obsoleted targets to the REMOVED
  196. list.
  197. Add maxq-*-coff to the obsolete list.
  198. 2006-11-10 Pedro Alves <pedro_alves@portugalmail.pt>
  199. * pe-arm-wince.c (LOCAL_LABEL_PREFIX): Define as ".".
  200. * pei-arm-wince.c (LOCAL_LABEL_PREFIX): Likewise.
  201. * coff-arm.c (LOCAL_LABEL_PREFIX): Only define if not defined before.
  202. 2006-11-07 Daniel Jacobowitz <dan@codesourcery.com>
  203. * elf32-arm.c (find_thumb_glue): Add ERROR_MESSAGE argument; set it
  204. on error.
  205. (find_arm_glue): Likewise.
  206. (elf32_thumb_to_arm_stub, elf32_arm_create_thumb_stub)
  207. (elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate): Add
  208. ERROR_MESSAGE argument and pass it through.
  209. (elf32_arm_to_thumb_export_stub): Update.
  210. (elf32_arm_relocate_section): Use ERROR_MESSAGE and reloc_dangerous.
  211. 2006-11-07 Alan Modra <amodra@bigpond.net.au>
  212. * elf64-ppc.c (enum _ppc64_sec_type): New.
  213. (struct _ppc64_elf_section_data): Move "t_symndx" into opd union,
  214. and rename fields. Add sec_type and has_14bit_branch.
  215. (struct ppc_link_hash_table): Remove has_14bit_branch.
  216. (get_opd_info, get_tls_mask, ppc64_elf_edit_opd): Adjust.
  217. (ppc64_elf_relocate_section): Likewise.
  218. (ppc64_elf_check_relocs): Likewise. Set per-section has_14bit_branch.
  219. (ppc64_elf_size_stubs): Don't set default group size here.
  220. (group_sections): Instead do so here, and group sections using
  221. their individual requirements.
  222. 2006-11-07 Alan Modra <amodra@bigpond.net.au>
  223. * elf64-ppc.c (struct ppc64_elf_obj_tdata): Remove "has_dotsym"
  224. and union.
  225. (struct ppc_link_hash_entry): Add "next_dot_sym".
  226. (struct ppc_link_hash_table): Add "dot_syms".
  227. (link_hash_newfunc): Make list of syms starting with a dot.
  228. (ppc_get_stub_entry, adjust_opd_syms): Adjust.
  229. (ppc64_elf_add_symbol_hook): Don't set has_dotsym.
  230. (struct add_symbol_adjust_data): Delete.
  231. (add_symbol_adjust): Simplify params and return.
  232. (ppc64_elf_check_directives): Just process the "dot_syms" lists,
  233. not all syms.
  234. 2006-11-02 Daniel Jacobowitz <dan@codesourcery.com>
  235. * libbfd-in.h (_bfd_clear_contents): New prototype.
  236. * reloc.c (_bfd_clear_contents): New.
  237. * libbfd.h: Regenerated.
  238. * elf32-arm.c (elf32_arm_final_link_relocate): Use
  239. _bfd_clear_contents.
  240. * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
  241. * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
  242. * elf32-i386.c (elf_i386_relocate_section): Likewise.
  243. * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
  244. * elf32-s390.c (elf_s390_relocate_section): Likewise.
  245. * elf32-sh.c (sh_elf_relocate_section): Likewise.
  246. * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
  247. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
  248. * elf64-s390.c (elf_s390_relocate_section): Likewise.
  249. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
  250. * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
  251. * elfxx-ia64.c (elfNN_ia64_relocate_section): Set value to
  252. zero for discarded symbols.
  253. * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
  254. 2006-11-01 Thiemo Seufer <ths@mips.com>
  255. David Ung <davidu@mips.com>
  256. * elf-bfd.h (local_call_stubs): New member.
  257. * elfxx-mips.c (FN_STUB_P, CALL_STUB_P, CALL_FP_STUB_P): New macros.
  258. (mips_elf_calculate_relocation): Handle local mips16 call stubs.
  259. (mips16_stub_section_p): Rename from mips_elf_stub_section_p, use
  260. the new stub macros.
  261. (_bfd_mips_elf_check_relocs): Handle call stubs for code which
  262. mixes mips16 and mips32 functions. Use mips16_stub_section_p. Mark
  263. used stubs with SEC_KEEP. Use the new stub macros.
  264. 2006-11-01 Alan Modra <amodra@bigpond.net.au>
  265. * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Correct
  266. check for PLT usage.
  267. 2006-11-01 Daniel Jacobowitz <dan@codesourcery.com>
  268. * elfxx-mips.c (mips_elf_merge_gots): Always use maxcnt.
  269. 2006-10-31 Alan Modra <amodra@bigpond.net.au>
  270. * elf.c (elfcore_write_note): Pad note descriptor to 4-byte
  271. boundary. Tidy. Comment.
  272. 2006-10-30 H.J. Lu <hongjiu.lu@intel.com>
  273. PR ld/3111
  274. * elf-bfd.h (elf_obj_tdata): Add symbuf.
  275. (_bfd_elf_section_already_linked): Add struct bfd_link_info *.
  276. (_bfd_elf_check_kept_section): Likewise.
  277. (bfd_elf_match_symbols_in_sections): Likewise.
  278. * elf.c (assign_section_numbers): Updated to add
  279. struct bfd_link_info *.
  280. (bfd_elf_match_symbols_in_sections): Updated. Cache symbol
  281. buffer if info->reduce_memory_overheads is false.
  282. * elflink.c (match_group_member): Updated to add
  283. struct bfd_link_info *.
  284. (_bfd_elf_check_kept_section): Likewise.
  285. (elf_link_input_bfd): Likewise.
  286. (_bfd_elf_section_already_linked): Likewise.
  287. (bfd_elf_final_link): Free symbol buffer if
  288. info->reduce_memory_overheads is false.
  289. * libbfd-in.h (_bfd_nolink_section_already_linked): Add
  290. struct bfd_link_info *.
  291. (_bfd_generic_section_already_linked): Likewise.
  292. * libbfd.h: Regenerated.
  293. * linker.c (bfd_section_already_linked): Add
  294. struct bfd_link_info *.
  295. (_bfd_generic_section_already_linked): Likewise.
  296. * targets.c (bfd_target): Add struct bfd_link_info * to
  297. _section_already_linked.
  298. * bfd-in2.h: Regenerated.
  299. 2006-10-30 Alan Modra <amodra@bigpond.net.au>
  300. * bfd.c (bfd_error_type): Add bfd_error_on_input.
  301. (input_bfd, input_error): New static vars.
  302. (bfd_set_error): Handle bfd_error_on_input.
  303. (bfd_errmsg): Likewise.
  304. (bfd_perror): Simplify.
  305. * archive.c (_bfd_write_archive_contents): Report errors on input.
  306. * bfd-in2.h: Regenerate.
  307. 2006-10-30 Alan Modra <amodra@bigpond.net.au>
  308. * elf.c (elfcore_write_note): Pad to 4-byte boundary.
  309. 2006-10-28 Richard Sandiford <richard@codesourcery.com>
  310. * elf32-mips.c (elf_mips_howto_table_rel): Add R_MIPS_GLOB_DAT.
  311. * elfn32-mips.c (elf_mips_howto_table_rel): Likewise.
  312. (elf_mips_howto_table_rela): Likewise.
  313. * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
  314. (mips_elf64_howto_table_rela): Likewise.
  315. 2006-10-26 H.J. Lu <hongjiu.lu@intel.com>
  316. * elf.c (_bfd_elf_init_private_section_data): Assert output
  317. section ELF type instead of check if it is SHT_NULL. Copy
  318. OS/PROC specific flags from input section to output section.
  319. 2006-10-27 Alan Modra <amodra@bigpond.net.au>
  320. * section.c (SEC_KEEP): Update comment.
  321. * bfd-in2.h: Regenerate.
  322. * elflink.c (bfd_elf_gc_sections): Ignore SEC_EXCLUDE sections.
  323. * merge.c (_bfd_merge_sections): Set SEC_KEEP on excluded sections.
  324. * stabs.c (_bfd_discard_section_stabs): Likewise.
  325. (_bfd_link_section_stabs): Likewise. Simplify abs_section check.
  326. 2006-10-26 Ben Elliston <bje@au.ibm.com>
  327. * reloc.c (_bfd_relocate_contents): Remove explicit case 0.
  328. * elf.c (bfd_section_from_shdr): Remove extraneous breaks.
  329. * targets.c (find_target): Remove extraneous break.
  330. 2006-10-26 Ben Elliston <bje@au.ibm.com>
  331. * coff-maxq.c (coff_maxq20_reloc): Remove unused variable `howto'.
  332. (struct maxq_reloc_map): Unused; remove.
  333. (maxq_reloc_map): Likewise.
  334. (maxq_reloc_type_lookup): Remove loop over maxq_reloc_map.
  335. 2006-10-26 Ben Elliston <bje@au.ibm.com>
  336. * elf.c (bfd_elf_set_dyn_lib_class): Change second argument type
  337. from int to enum dynamic_lib_link_class lib_class.
  338. * bfd-in.h (bfd_elf_set_dyn_lib_class): Likewise.
  339. * bfd-in2.h: Regenerate.
  340. 2006-10-25 Alan Modra <amodra@bigpond.net.au>
  341. Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
  342. Yukishige Shibata <shibata@rd.scei.sony.co.jp>
  343. Nobuhisa Fujinami <fnami@rd.scei.sony.co.jp>
  344. Takeaki Fukuoka <fukuoka@rd.scei.sony.co.jp>
  345. * cpu-spu.c: New file.
  346. * elf32-spu.c: New file.
  347. * elf32-spu.h: New file.
  348. * archures.c: Add SPU support.
  349. * config.bfd: Likewise.
  350. * configure.in: Likewise.
  351. * reloc.c: Likewise.
  352. * targets.c: Likewise.
  353. * Makefile.am: Likewise. Run "make dep-am".
  354. * libbfd.h: Regenerate.
  355. * bfd-in2.h: Regenerate.
  356. * Makefile.in: Regenerate.
  357. * configure: Regenerate.
  358. * po/SRC-POTFILES.in: Regenerate.
  359. 2006-10-23 Alan Modra <amodra@bigpond.net.au>
  360. * elf64-ppc.c (ppc64_elf_edit_opd): Clarify comment.
  361. 2006-10-23 Alan Modra <amodra@bigpond.net.au>
  362. * elf32-score.c: Formatting.
  363. (elf_backend_omit_section_dynsym): Define.
  364. (score_elf_create_dynamic_relocation): Remove code copied from mips.
  365. Don't use section syms in dynamic relocs. Remove unused param.
  366. (score_elf_final_link_relocate): Remove unused param.
  367. 2006-10-23 Alan Modra <amodra@bigpond.net.au>
  368. * linker.c (fix_syms): Choose best of previous and next
  369. section based on section flags and vma.
  370. 2006-10-21 Kaz Kojima <kkojima@rr.iij4u.or.jp>
  371. * elf32-sh64.c (sh64_elf_merge_symbol_attribute): Do merging
  372. only when the non visibility part of st_other is non-zero.
  373. * elf64-sh64.c (sh64_elf64_merge_symbol_attribute): Likewise.
  374. 2006-10-20 Richard Sandiford <richard@codesourcery.com>
  375. * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't extend
  376. PT_DYNAMIC on GNU/Linux targets.
  377. 2006-10-20 Richard Sandiford <richard@codesourcery.com>
  378. * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the
  379. size of .rel.dyn reflect the value of DT_RELSZ.
  380. 2006-10-20 Richard Sandiford <richard@codesourcery.com>
  381. * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Allocate
  382. a PT_NULL header for dynamic objects.
  383. (_bfd_mips_elf_modify_segment_map): Add it.
  384. 2006-10-19 Mei Ligang <ligang@sunnorth.com.cn>
  385. * elf32-score.c (score_elf_rel_dyn_section): Replace
  386. bfd_make_section with bfd_make_section_with_flags.
  387. (_bfd_score_elf_create_dynamic_sections): Ditto.
  388. (score_elf_create_got_section): Ditto.
  389. (score_elf_final_link_relocate): Delete referrence to
  390. EF_SCORE_HASENTRY.
  391. 2006-10-19 Richard Sandiford <richard@codesourcery.com>
  392. * elfxx-mips.c (sort_dynamic_relocs): Sort relocations against the
  393. same symbol by increasing r_offset.
  394. (sort_dynamic_relocs_64): Likewise. Fix comparisons between very
  395. large and very small symbol indexes.
  396. 2006-10-19 Richard Sandiford <richard@codesourcery.com>
  397. * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG
  398. and DT_MIPS_RLD_MAP tags for position-independent executables.
  399. Do not add DT_DEBUG to shared libraries for any MIPS target.
  400. 2006-10-18 H.J. Lu <hongjiu.lu@intel.com>
  401. PR ld/3290
  402. * elflink.c (elf_link_add_object_symbols): Hide definitions in
  403. debug sections.
  404. 2006-10-19 Alan Modra <amodra@bigpond.net.au>
  405. * elf32-arm.c (bfd_elf32_arm_allocate_interworking_sect): Check,
  406. don't set, glue section size.
  407. (record_arm_to_thumb_glue): Set glue section size here.
  408. (record_thumb_to_arm_glue): Likewise.
  409. (bfd_elf32_arm_add_glue_sections_to_bfd): Formatting.
  410. (bfd_elf32_arm_process_before_allocation): Ignore exluded sections.
  411. 2006-10-18 Roy Marples <uberlord@gentoo.org>
  412. * elf64-sparc.c: Add FreeBSD support.
  413. (elf64_sparc_fbsd_post_process_headers): New function.
  414. * targets.c (_bfd_target_vector): Add bfd_elf64_sparc_freebsd_vec.
  415. * config.bfd (sparc64-*-freebsd*): Set targ_defvec to bfd_elf64_sparc_freebsd_vec.
  416. * configure.in: Add entry for bfd_elf64_sparc_freebsd_vec.
  417. * configure: Regenerate.
  418. 2006-10-17 Mark Shinwell <shinwell@codesourcery.com>
  419. * elf32-arm.c (elf32_arm_final_link_relocate): Add support for
  420. R_ARM_MOVW_BREL_NC, R_ARM_MOVW_BREL, R_ARM_MOVT_BREL,
  421. R_ARM_THM_MOVW_BREL_NC, R_ARM_THM_MOVW_BREL and
  422. R_ARM_THM_MOVT_BREL relocations.
  423. 2006-10-17 Mark Shinwell <shinwell@codesourcery.com>
  424. * elf32-arm.c (elf32_arm_howto_table_1): Change offset for
  425. R_THM_CALL to 25 and remove FIXME comment.
  426. (using_thumb2): New function.
  427. (elf32_arm_final_link_relocate): Cope with Thumb-2 BL encoding.
  428. 2006-10-17 Mark Shinwell <shinwell@codesourcery.com>
  429. * elf32-arm.c (elf32_arm_final_link_relocate): Add cases
  430. for R_ARM_ABS32_NOI and R_ARM_REL32_NOI.
  431. (elf32_arm_gc_sweep_hook): Likewise.
  432. (elf32_arm_check_relocs): Likewise.
  433. (allocate_dynrelocs): Likewise.
  434. 2006-10-17 Alan Modra <amodra@bigpond.net.au>
  435. * elf-bfd.h (struct elf_link_hash_table): Reorder. Add
  436. text_index_section and data_index_section.
  437. (struct elf_backend_data): Add elf_backend_init_index_section.
  438. (_bfd_elf_init_1_index_section): Declare.
  439. (_bfd_elf_init_2_index_sections): Declare.
  440. * elfxx-target.h (elf_backend_init_index_section): Define.
  441. (elfNN_bed): Init new field.
  442. * elflink.c (_bfd_elf_link_omit_section_dynsym): Keep first tls
  443. section and text_index_section plus data_index_section.
  444. (_bfd_elf_link_renumber_dynsyms): Clear dynindx on omitted sections.
  445. (_bfd_elf_init_1_index_section): New function.
  446. (_bfd_elf_init_2_index_sections): New function.
  447. (bfd_elf_size_dynsym_hash_dynstr): Call elf_backend_init_index_section.
  448. (elf_link_input_bfd): When emitting relocs, use text_index_section
  449. and data_index_section for removed sections.
  450. * elf-m10300.c (elf_backend_omit_section_dynsym): Define.
  451. * elf32-i386.c: Likewise.
  452. * elf32-m32r.c: Likewise.
  453. * elf32-sh.c: Likewise.
  454. * elf32-xstormy16.c: Likewise.
  455. * elf32-xtensa.c: Likewise.
  456. * elf64-alpha.c: Likewise.
  457. * elf64-hppa.c: Likewise.
  458. * elf64-mmix.c: Likewise.
  459. * elf64-sh64.c: Likewise.
  460. * elfxx-ia64.c: Likewise.
  461. * elf32-arm.c (elf32_arm_final_link_relocate): Use text_index_section
  462. and data_index_section sym for relocs against sections with no dynamic
  463. section sym.
  464. (elf_backend_init_index_section): Define.
  465. * elf32-cris.c: Similarly.
  466. * elf32-hppa.c: Similarly.
  467. * elf32-i370.c: Similarly.
  468. * elf32-m68k.c: Similarly.
  469. * elf32-mips.c: Similarly.
  470. * elf32-ppc.c: Similarly.
  471. * elf32-s390.c: Similarly.
  472. * elf32-sparc.c: Similarly.
  473. * elf32-vax.c: Similarly.
  474. * elf64-mips.c: Similarly.
  475. * elf64-ppc.c: Similarly.
  476. * elf64-s390.c: Similarly.
  477. * elf64-sparc.c: Similarly.
  478. * elf64-x86-64.c: Similarly.
  479. * elfn32-mips.c: Similarly.
  480. * elfxx-mips.c: Similarly.
  481. * elfxx-sparc.c: Similarly.
  482. * linker.c (fix_syms): Base symbols in removed sections on
  483. previous section in preference to using absolute section.
  484. 2006-10-16 Andreas Schwab <schwab@suse.de>
  485. * elfxx-ia64.c (addend_compare): Properly compute return value.
  486. 2006-10-15 H.J. Lu <hongjiu.lu@intel.com>
  487. PR ld/3314
  488. * elf.c (assign_file_positions_for_non_load_sections): Don't
  489. page align empty SHF_ALLOC sections.
  490. 2006-10-13 Jakub Jelinek <jakub@redhat.com>
  491. * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): Set
  492. .plt sh_entsize to 0 if plt header size isn't multiple of
  493. plt entry size or for 32-bit which adds a nop insn at the
  494. end of the .plt section.
  495. 2006-10-12 Bob Wilson <bob.wilson@acm.org>
  496. * elf32-xtensa.c (elf_xtensa_action_discarded): New.
  497. (elf_backend_action_discarded): Define.
  498. 2006-10-11 Bob Wilson <bob.wilson@acm.org>
  499. * elf32-xtensa.c (elf_xtensa_relocate_section): Return after
  500. unresolvable relocation error.
  501. (elf_xtensa_finish_dynamic_symbol): Set value of undefined, weak
  502. symbols to zero.
  503. 2006-10-10 Bob Wilson <bob.wilson@acm.org>
  504. * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Add DT_DEBUG
  505. for PIE executables.
  506. 2006-10-03 Jakub Jelinek <jakub@redhat.com>
  507. * elf-bfd.h (struct eh_cie_fde): Add set_loc pointer.
  508. * elf-eh-frame.c (skip_cfa_op): Fix handling of DW_CFA_advance_loc.
  509. Handle DW_CFA_{remember,restore}_state, DW_CFA_GNU_window_save,
  510. DW_CFA_val_{offset{,_sf},expression}.
  511. (skip_non_nops): Record number of DW_CFA_set_loc ops.
  512. (_bfd_elf_discard_section_eh_frame): Require skip_non_nops recognizes
  513. all ops. If there are any DW_CFA_set_loc ops and they are pcrel
  514. or going to be pcrel, compute set_loc array.
  515. (_bfd_elf_eh_frame_section_offset): If make_relative, kill relocations
  516. against DW_CFA_set_loc operands.
  517. (_bfd_elf_write_section_eh_frame): Handle DW_CFA_set_loc adjusting.
  518. 2006-10-02 Daniel Jacobowitz <dan@codesourcery.com>
  519. * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS
  520. symbols from the --just-syms file.
  521. 2006-10-01 Alan Modra <amodra@bigpond.net.au>
  522. * elf64-ppc.c (ppc64_elf_build_stubs): Test glink size for
  523. existence of PLT.
  524. 2006-09-29 H.J. Lu <hongjiu.lu@intel.com>
  525. PR ld/3283
  526. * elf64-x86-64.c (elf64_x86_64_relocate_section): Don't ignore
  527. relocation overflow on branches to undefweaks.
  528. 2006-09-29 Alan Modra <amodra@bigpond.net.au>
  529. * po/BLD-POTFILES.in: Regenerate.
  530. * po/SRC-POTFILES.in: Regenerate.
  531. 2006-09-29 Danny Smith <dannysmith@users.sourceforge.net>
  532. PR 3276
  533. * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
  534. alignment for .data$, .rdata$ and .text$ sections so that sse
  535. and sse2 code will work for linkonce sections too.
  536. * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
  537. 2006-09-28 Alan Modra <amodra@bigpond.net.au>
  538. * elflink.c (_bfd_elf_gc_mark_hook): New function.
  539. * elf-bfd.h (_bfd_elf_gc_mark_hook): Declare.
  540. * elfxx-target.h (elf_backend_gc_mark_hook): Default to above.
  541. * elf-m10300.c (mn10300_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
  542. * elf32-arm.c (elf32_arm_gc_mark_hook): Likewise.
  543. * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
  544. * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
  545. * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
  546. * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
  547. * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
  548. * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
  549. * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
  550. * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
  551. * elf32-score.c (_bfd_score_elf_gc_mark_hook): Likewise.
  552. * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
  553. * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
  554. * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Likewise.
  555. * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
  556. * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
  557. * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
  558. * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
  559. * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Likewise.
  560. * elf32-bfin.c (bfin_gc_mark_hook): Likewise.
  561. (bfinfdpic_gc_sweep_hook): Delete.
  562. (elf_backend_gc_sweep_hook): Don't define for elf32-bfinfdpic.
  563. * elf32-d10v.c (elf32_d10v_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
  564. (elf32_d10v_gc_sweep_hook): Delete.
  565. (elf_backend_gc_sweep_hook): Don't define.
  566. * elf32-fr30.c (fr30_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
  567. (fr30_elf_gc_sweep_hook): Delete.
  568. (elf_backend_gc_sweep_hook): Don't define.
  569. * elf32-frv.c (elf32_frv_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
  570. (elf32_frv_gc_sweep_hook): Delete.
  571. (elf_backend_gc_sweep_hook): Don't define.
  572. * elf32-iq2000.c (iq2000_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
  573. (iq2000_elf_gc_sweep_hook): Delete.
  574. (elf_backend_gc_sweep_hook): Don't define.
  575. * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Use
  576. _bfd_elf_gc_mark_hook.
  577. (openrisc_elf_gc_sweep_hook): Delete.
  578. (elf_backend_gc_sweep_hook): Don't define.
  579. * elf32-v850.c (v850_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
  580. (v850_elf_gc_sweep_hook): Delete.
  581. (elf_backend_gc_sweep_hook): Don't define.
  582. * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Use
  583. _bfd_elf_gc_mark_hook.
  584. (xstormy16_elf_gc_sweep_hook): Delete.
  585. (elf_backend_gc_sweep_hook): Don't define.
  586. * elf64-sh64.c (sh_elf64_gc_mark_hook): Use _bfd_elf_gc_mark_hook.
  587. (sh_elf64_gc_sweep_hook): Delete.
  588. (elf_backend_gc_sweep_hook): Don't define.
  589. * elf32-avr.c (elf32_avr_gc_mark_hook): Delete.
  590. (elf32_avr_gc_sweep_hook): Delete.
  591. (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
  592. * elf32-cr16c.c (elf32_cr16c_gc_mark_hook): Delete.
  593. (elf32_cr16c_gc_sweep_hook): Delete.
  594. (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
  595. * elf32-crx.c (elf32_crx_gc_mark_hook): Delete.
  596. (elf32_crx_gc_sweep_hook): Delete.
  597. (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
  598. * elf32-h8300.c (elf32_h8_gc_mark_hook): Delete.
  599. (elf32_h8_gc_sweep_hook): Delete.
  600. (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
  601. * elf32-ip2k.c (ip2k_elf_gc_mark_hook): Delete.
  602. (ip2k_elf_gc_sweep_hook): Delete.
  603. (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
  604. * elf32-m32c.c (m32c_elf_gc_mark_hook, m32c_elf_gc_sweep_hook): Delete.
  605. (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
  606. * elf32-m68hc11.c (elf_backend_gc_mark_hook): Don't define.
  607. (elf_backend_gc_sweep_hook): Don't define.
  608. * elf32-m68hc12.c (elf_backend_gc_mark_hook): Don't define.
  609. (elf_backend_gc_sweep_hook): Don't define.
  610. * elf32-m68hc1x.c (elf32_m68hc11_gc_mark_hook): Delete.
  611. (elf32_m68hc11_gc_sweep_hook): Delete.
  612. * elf32-m68hc1x.h (elf32_m68hc11_gc_mark_hook): Delete.
  613. (elf32_m68hc11_gc_sweep_hook): Delete.
  614. * elf32-msp430.c (elf32_msp430_gc_mark_hook): Delete.
  615. (elf32_msp430_gc_sweep_hook): Delete.
  616. (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
  617. * elf32-mt.c (mt_elf_gc_mark_hook, mt_elf_gc_sweep_hook): Delete.
  618. (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define.
  619. 2006-09-25 Pedro Alves <pedro_alves@portugalmail.pt>
  620. * bfd-in.h (CONST_STRNCPY) : Delete.
  621. (LITSTRCPY) : New.
  622. (LITMEMCPY) : New.
  623. * bfd-in2.h : Regenerate.
  624. * elflink.c (bfd_elf_gc_sections) : Use LITMEMCPY. Don't manually
  625. calculate string lengths.
  626. * nlmcode.h (nlm_swap_auxiliary_headers_in) : Use LITMEMCPY.
  627. 2006-09-26 H.J. Lu <hongjiu.lu@intel.com>
  628. PR ld/3223
  629. PR ld/3267
  630. * elf.c (assign_file_positions_for_non_load_sections): Don't
  631. warn zero size allocated sections.
  632. 2006-09-27 Alan Modra <amodra@bigpond.net.au>
  633. * elf32-score.c (_bfd_score_elf_relocate_section): Move assignment
  634. to "name" so that compiler realizes it is never uninitialized.
  635. Use bfd_elf_sym_name.
  636. 2006-09-26 H.J. Lu <hongjiu.lu@intel.com>
  637. PR binutils/3262
  638. * elf.c (rewrite_elf_program_header): Use bfd_zalloc instead of
  639. bfd_alloc to allocate segment map.
  640. (copy_elf_program_header): Likewise.
  641. 2006-09-26 Mark Shinwell <shinwell@codesourcery.com>
  642. Joseph Myers <joseph@codesourcery.com>
  643. Ian Lance Taylor <ian@wasabisystems.com>
  644. Ben Elliston <bje@wasabisystems.com>
  645. * archures.c: Add definition for bfd_mach_arm_iWMMXt2.
  646. * cpu-arm.c (processors): Add bfd_mach_arm_iWMMXt2.
  647. (arch_info_struct, bfd_arm_update_notes): Likewise.
  648. (architectures): Likewise.
  649. (bfd_arm_merge_machines): Check for iWMMXt2.
  650. * bfd-in2.h: Rebuild.
  651. 2006-09-24 H.J. Lu <hongjiu.lu@intel.com>
  652. * configure: Regenerated.
  653. 2006-09-22 Alan Modra <amodra@bigpond.net.au>
  654. * elfcode.h (elf_swap_symbol_in): Return bfd_boolean. Don't abort
  655. on error.
  656. * elf-bfd.h (elf_size_info <swap_symbol_in>): Adjust decl.
  657. (bfd_elf32_swap_symbol_in, bfd_elf64_swap_symbol_in): Likewise.
  658. * elf.c (bfd_elf_get_elf_syms): Test return of swap_symbol_in,
  659. and report error.
  660. * elf32-arm.c (elf32_arm_swap_symbol_in): Return bfd_boolean.
  661. 2006-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
  662. * elf32-s390.c (elf_s390_relocate_section): Remove check for code
  663. section in LD to LE linker relaxation for R_390_TLS_LDO32.
  664. * elf64-s390.c (elf_s390_relocate_section): Likewise for
  665. R_390_TLS_LDO64.
  666. 2006-09-20 Kai Tietz <Kai.Tietz@onevision.com>
  667. * configure.in: Added new target-vectors x86_64coff_vec,
  668. x86_64pe_vec, and x86_64pei_vec.
  669. * configure: Regenerate.
  670. * config.bfd: Adjusted x86_64 target architecture detection.
  671. * bfd.c: Add for new target "coff-x86-64"
  672. (bfd_get_sign_extend): Add target vector idents for pe-x86-64. and pei-x86-64.
  673. * coff-x86_64.c: Add new file for x86_64 (AMD64) coff support.
  674. * libpei.h: Adjustments for COFF_WITH_pex64.
  675. * coffcode.h: Add for new target machine, architecture, signature, and internal
  676. signature handler.
  677. * Makefile.am: Add new files to target-all and define make-rule for pex64igen.c
  678. * Makefile.in: Regenerate.
  679. * pe-x86_64.c: Add for new target "pe-x86-64".
  680. * pei-x86_64.c: Add for new target "pei-x86-64".
  681. * peicode.h: Adjusts for new targets.
  682. (coff_swap_filehdr_out): Set for this target to
  683. _bfd_pex64_only_swap_filehdr_out.
  684. (SIZEOF_IDATA4): Define it as 8 byte size for this target.
  685. (SIZEOF_IDATA5): Define it as 8 byte size for this target.
  686. (jump_table jtab): Add for AMD64MAGIC.
  687. (pe_ILF_build_a_bfd): Adjusts for new size of SIZEOF_IDATA4 and SIZE_IDATA5.
  688. (pe_ILF_object_p): Add coff image-file signature to internal
  689. signature translation.
  690. * peXXigen.c: Adjust proper include of target coff-header and
  691. introduced target specific code
  692. (COFF_WITH_pex64): New macro for this target.
  693. (pe_print_idata): New dumping method for import section of PE+ files.
  694. * targets.c: Add new target vectors declarations for x86_64 coff targets.
  695. * coffcode.h: Support code to support the x86_64 PE magic number.
  696. * coff-x86_64.c: New file.
  697. 2006-09-17 Hans-Peter Nilsson <hp@axis.com>
  698. * elf.c (special_sections_s): Revert last STRING_COMMA_LEN change
  699. for .stabstr entry, explain why.
  700. 2006-09-17 Anton Blanchard <anton@samba.org>
  701. Alan Modra <amodra@bigpond.net.au>
  702. * dwarf2.c (concat_filename): Apply DW_AT_comp_dir if dir table
  703. entry isn't absolute.
  704. 2006-09-17 Mei Ligang <ligang@sunnorth.com.cn>
  705. * cpu-score.c: New file.
  706. * elf32-score.c: New file.
  707. * config.bfd: Add Score target.
  708. * Makefile.am: Add Score files.
  709. * Makefile.in: Regenerate.
  710. * archures.c: Add Score architecture.
  711. * reloc.c: Add Score relocs.
  712. * targets.c: Add Score target vectors.
  713. * bfd-in2.h: Regenerate.
  714. * libbfd.h: Regenerate.
  715. * configure.in: Add Score target.
  716. * configure: Regenerate.
  717. 2006-09-16 Nick Clifton <nickc@redhat.com>
  718. Pedro Alves <pedro_alves@portugalmail.pt>
  719. * bfd-in.h (STRING_COMMA_LEN): New macro. Takes one constant
  720. string as its argument and emits the string followed by a comma
  721. and then the length of the string.
  722. (CONST_STRNEQ): New macro. Checks to see if a variable string
  723. has a constant string as its initial characters.
  724. (CONST_STRNCPY): New macro. Copies a constant string to the start
  725. of a variable string.
  726. * bfd-in2.h: Regenerate.
  727. * archive.c: Make use of the new macros.
  728. * archive64.c: Likewise.
  729. * bfd.c: Likewise.
  730. * coff-ppc.c: Likewise.
  731. * coff-stgo32.c: Likewise.
  732. * coffcode.h: Likewise.
  733. * cofflink.c: Likewise.
  734. * cpu-i960.c: Likewise.
  735. * dwarf2.c: Likewise.
  736. * ecoff.c: Likewise.
  737. * elf-m10300.c: Likewise.
  738. * elf.c: Likewise.
  739. * elf32-arm.c: Likewise.
  740. * elf32-bfin.c: Likewise.
  741. * elf32-cris.c: Likewise.
  742. * elf32-hppa.c: Likewise.
  743. * elf32-i370.c: Likewise.
  744. * elf32-i386.c: Likewise.
  745. * elf32-iq2000.c: Likewise.
  746. * elf32-m32r.c: Likewise.
  747. * elf32-m68hc11.c: Likewise.
  748. * elf32-m68hc12.c: Likewise.
  749. * elf32-m68k.c: Likewise.
  750. * elf32-mcore.c: Likewise.
  751. * elf32-ppc.c: Likewise.
  752. * elf32-s390.c: Likewise.
  753. * elf32-sh-symbian.c: Likewise.
  754. * elf32-sh.c: Likewise.
  755. * elf32-sh64.c: Likewise.
  756. * elf32-v850.c: Likewise.
  757. * elf32-vax.c: Likewise.
  758. * elf32-xtensa.c: Likewise.
  759. * elf64-alpha.c: Likewise.
  760. * elf64-hppa.c: Likewise.
  761. * elf64-mmix.c: Likewise.
  762. * elf64-ppc.c: Likewise.
  763. * elf64-s390.c: Likewise.
  764. * elf64-sh64.c: Likewise.
  765. * elf64-x86-64.c: Likewise.
  766. * elflink.c: Likewise.
  767. * elfxx-ia64.c: Likewise.
  768. * elfxx-mips.c: Likewise.
  769. * elfxx-sparc.c: Likewise.
  770. * hpux-core.c: Likewise.
  771. * i386linux.c: Likewise.
  772. * ieee.c: Likewise.
  773. * libpei.h: Likewise.
  774. * linker.c: Likewise.
  775. * m68klinux.c: Likewise.
  776. * mmo.c: Likewise.
  777. * nlmcode.h: Likewise.
  778. * osf-core.c: Likewise.
  779. * pef.c: Likewise.
  780. * som.c: Likewise.
  781. * sparclinux.c: Likewise.
  782. * vms-hdr.c: Likewise.
  783. 2006-09-14 Alan Modra <amodra@bigpond.net.au>
  784. PR 3181
  785. * elf.c (_bfd_elf_copy_private_header_data): Fix group members
  786. that have had their SHT_GROUP section removed.
  787. 2006-09-12 H.J. Lu <hongjiu.lu@intel.com>
  788. PR ld/3197
  789. * elflink.c (elf_link_output_extsym): Compute bucket only if
  790. needed.
  791. 2006-09-10 H.J. Lu <hongjiu.lu@intel.com>
  792. PR binutils/3186
  793. * elf.c (_bfd_elf_make_section_from_shdr): Correct length of
  794. "gnu.linkonce.wi.".
  795. 2006-09-08 Vladimir Prus <vladimir@codesourcery.com>
  796. * elf32-arm.c (elf32_arm_swap_symbol_out): Remove
  797. unconditional setting of low bit for Thumb symbol
  798. mistakenly left behind after check for external
  799. symbols was added. Fix comment typo.
  800. 2006-09-07 H.J. Lu <hongjiu.lu@intel.com>
  801. * elf-bfd.h (elf_link_hash_entry): Add a dynamic field.
  802. (bfd_elf_link_mark_dynamic_symbol): New.
  803. (SYMBOLIC_BIND): New.
  804. * elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic
  805. with SYMBOLIC_BIND (info, h).
  806. (elf_i386_relocate_section): Likewise.
  807. * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
  808. (elf64_x86_64_relocate_section): Likewise.
  809. * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
  810. * elflink.c (bfd_elf_link_mark_dynamic_symbol): New.
  811. (bfd_elf_record_link_assignment): Call
  812. bfd_elf_link_mark_dynamic_symbol on new entry.
  813. (_bfd_elf_merge_symbol): Likewise.
  814. (_bfd_elf_export_symbol): Return if the symbol isn't exported.
  815. (_bfd_elf_fix_symbol_flags): Replace info->symbolic with
  816. SYMBOLIC_BIND (info, h).
  817. (_bfd_elf_dynamic_symbol_p): Likewise.
  818. (_bfd_elf_symbol_refs_local_p): Likewise.
  819. (bfd_elf_size_dynamic_sections): Updated.
  820. 2006-09-05 Bibo Mao <bibo.mao@intel.com>
  821. PR binutils/3171
  822. * coffcode.h (coff_write_object_contents): Set the optional
  823. header magic number to PE32PMAGIC instead of ZMAGIC for ia64.
  824. 2006-09-04 Mark Shinwell <shinwell@codesourcery.com>
  825. * elf32-arm.c (elf32_arm_howto_table_1): Adjust entries for
  826. R_ARM_THM_ALU_PREL_11_0 and R_ARM_THM_PC12 relocations.
  827. (elf32_arm_final_link_relocate): Handle R_ARM_THM_ALU_PREL_11_0
  828. and R_ARM_THM_PC12 relocations.
  829. 2006-08-24 Bob Wilson <bob.wilson@acm.org>
  830. * elf32-xtensa.c (xtensa_get_property_section_name): Delete.
  831. (xtensa_get_property_section): New.
  832. (xtensa_read_table_entries): Use xtensa_get_property_section.
  833. (relax_property_section, xtensa_get_property_predef_flags): Handle
  834. group name suffixes in property section names.
  835. (match_section_group): New.
  836. 2006-08-23 Frediano Ziglio <Frediano.Ziglio@vodafone.com>
  837. * archive.c (hpux_uid_gid_encode): Fix thinko decrementing "cnt"
  838. variable.
  839. 2006-08-22 Daniel Jacobowitz <dan@codesourcery.com>
  840. * elf32-arm.c (elf32_arm_copy_indirect_symbol): Only copy
  841. plt_thumb_refcount from indirect symbols.
  842. 2006-08-22 Alan Modra <amodra@bigpond.net.au>
  843. * elf32-ppc.c (ppc_elf_relocate_section): Correct GOT and PLT HA
  844. reloc handling.
  845. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
  846. 2006-08-21 Mark Shinwell <shinwell@codesourcery.com>
  847. * elf32-arm.c (elf32_arm_link_hash_table): Correct typo in
  848. comment for target1_is_rel.
  849. 2006-08-21 Pedro Alves <pedro_alves@portugalmail.pt>
  850. * Makefile.am: Add rules to build pe-arm-wince.lo
  851. and pei-arm-wince.lo objects.
  852. * Makefile.in: Regenerate.
  853. * pe-arm-wince.c: New file.
  854. * pei-arm-wince.c: New file.
  855. * pei-arm.c: Remove ARM_WINCE block.
  856. * pe-arm.c: Remove ARM_WINCE block. Rename
  857. bfd_arm_pe_allocate_interworking_sections,
  858. bfd_arm_pe_get_bfd_for_interworking, and
  859. bfd_arm_pe_process_before_allocation to
  860. bfd_armpe_allocate_interworking_sections,
  861. bfd_armpe_get_bfd_for_interworking, and
  862. bfd_armpe_process_before_allocation. Move them before
  863. including bfd.h.
  864. * bfd.c: ARM wince bfd format names were renamed. Adjust.
  865. * coff-arm.c [ARM_WINCE]: Adjust so Windows CE doesn't end up
  866. with unexpected/conflicting relocs.
  867. * targets.c: The arm-wince-pe target got its own new vector.
  868. Adjust.
  869. * config.bfd: Likewise.
  870. * configure.in: Likewise.
  871. * configure: Regenerate.
  872. 2006-08-18 Paul Brook <paul@codesourcery.com>
  873. * elf32-arm.c (elf32_arm_link_hash_entry): Add export_glue.
  874. (elf32_arm_link_hash_newfunc): Initialize export_glue.
  875. (record_arm_to_thumb_glue): Return stub symbol.
  876. (elf32_arm_create_thumb_stub): New function.
  877. (elf32_arm_to_thumb_stub): Use it.
  878. (elf32_arm_to_thumb_export_stub): New function.
  879. (elf32_arm_begin_write_processing): New function.
  880. (allocate_dynrelocs): Allocate Arm stubs.
  881. (elf_backend_begin_write_processing): Define.
  882. (elf32_arm_symbian_begin_write_processing): Remove ATTRIBUTE_UNUSED.
  883. Call elf32_arm_begin_write_processing.
  884. 2006-08-17 Alan Modra <amodra@bigpond.net.au>
  885. * elf64-ppc.c (create_linkage_sections): Align .glink to 8 bytes.
  886. (ppc64_elf_build_stubs): Use new lazy linking stub.
  887. 2006-08-17 Alan Modra <amodra@bigpond.net.au>
  888. * elf64-ppc.c (ppc64_elf_size_stubs): Ignore non-code sections.
  889. 2006-08-16 H.J. Lu <hongjiu.lu@intel.com>
  890. PR ld/3015
  891. * elf.c (get_program_header_size): Add a PT_GNU_RELRO segment
  892. only if there is a PT_DYNAMIC segment.
  893. (_bfd_elf_map_sections_to_segments): Likewise.
  894. (assign_file_positions_for_load_sections): Set PT_GNU_RELRO
  895. segment alignment to 1.
  896. 2006-08-15 Thiemo Seufer <ths@mips.com>
  897. Nigel Stephens <nigel@mips.com>
  898. * elf32-mips.c, elf64-mips.c, elfn32-mips.c
  899. (elf_backend_merge_symbol_attribute): Define.
  900. * elflink.c (elf_link_add_object_symbols): Merge only the ELF
  901. visibility flags.
  902. * elfxx-mips.c (_bfd_mips_elf_merge_symbol_attribute): New function.
  903. 2006-08-15 Thiemo Seufer <ths@mips.com>
  904. Nigel Stephens <nigel@mips.com>
  905. David Ung <davidu@mips.com>
  906. * config.bfd: Add configurations for mips*el-sde-elf* and
  907. mips*-sde-elf*.
  908. 2006-08-14 DJ Delorie <dj@redhat.com>
  909. * elf-m10300.c (elf32_mn10300_link_hash_entry): Add value.
  910. (elf32_mn10300_count_hash_table_entries): New.
  911. (elf32_mn10300_list_hash_table_entries): New.
  912. (sort_by_value): New.
  913. (mn10300_elf_relax_section): Don't skip data sections; restrict
  914. code-specific tests to code-specific areas so that potential
  915. indirect calls can be detected. Check for multiple local symbols
  916. at the same address and merge their flags.
  917. (elf32_mn10300_link_hash_newfunc): Initialize value.
  918. 2006-08-14 Thiemo Seufer <ths@mips.com>
  919. * elfxx-mips.c (_bfd_mips_elf_symbol_processing,
  920. _bfd_mips_elf_add_symbol_hook): Don't try to place small common TLS
  921. symbols in .scommon.
  922. 2006-08-11 Thiemo Seufer <ths@mips.com>
  923. * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set
  924. sh_entsize only when sgot was already initialized.
  925. 2006-08-08 DJ Delorie <dj@redhat.com>
  926. * elf32-sh.c (sh_elf_relax_section): Allow for branches across
  927. non-moving .align directives. Preserve any DIR32 offset when
  928. converting bsr's to jsr's.
  929. 2006-08-08 Alan Modra <amodra@bigpond.net.au>
  930. * elf64-ppc.c (ppc64_elf_build_stubs): Clear relbrlt reloc_count
  931. after stubs have been built.
  932. 2006-08-07 Nick Clifton <nickc@redhat.com>
  933. * elf32-sh.c (vxworks_object_p): Only check for vxworks target
  934. vectors if they are going to be created.
  935. 2006-08-07 Nick Clifton <nickc@redhat.com>
  936. * configure.in (bfd_elf32_shnbsd_vec): Fix typo.
  937. * configure: Regenerate.
  938. 2006-08-07 Nick Clifton <nickc@redhat.com>
  939. * coff-arm.c (coff_arm_rtype_to_howto): Only check for ARM_SECREL
  940. relocation types if the target is ARM_WINCE.
  941. 2006-08-05 Pedro Alves <pedro_alves@portugalmail.pt>
  942. * bfd.c (bfd_get_sign_extend_vma): Add cases for pe-arm-little
  943. and pei-arm-little.
  944. * coff-arm.c (coff_arm_rtype_to_howto) [COFF_WITH_PE]: Handle
  945. ARM_SECREL.
  946. (coff_arm_reloc_type_lookup): Map BFD_RELOC_32_SECREL to
  947. ARM_SECREL.
  948. * pe-arm.c [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
  949. * pei-arm.c [TARGET_UNDERSCORE]: Define for ARM_WINCE like in
  950. pe-arm.c.
  951. [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
  952. 2006-08-04 Marcelo Tosatti <marcelo@kvack.org>
  953. * elflink.c (elf_gc_sweep): If info.print_gc_sections is true,
  954. list removed sections to stderr.
  955. 2006-08-04 Richard Sandiford <richard@codesourcery.com>
  956. Kazu Hirata <kazu@codesourcery.com>
  957. Phil Edwards <phil@codesourcery.com>
  958. Nathan Sidwell <nathan@codesourcery.com>
  959. * config.bfd (sh-*-vxworks): Use bfd_elf32_shvxworks_vec and
  960. bfd_elf32_shlvxworks_vec.
  961. * configure.in (bfd_elf32_sh64_vec): Add elf-vxworks.lo.
  962. (bfd_elf32_sh64l_vec, bfd_elf32_sh64lin_vec): Likewise.
  963. (bfd_elf32_sh64blin_vec, bfd_elf32_sh64lnbsd_vec): Likewise.
  964. (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh_vec): Likewise.
  965. (bfd_elf32_shblin_vec, bfd_elf32_shl_vec): Likewise.
  966. (bfd_elf32_shl_symbian_vec, bfd_elf32_shlin_vec): Likewise.
  967. (bfd_elf32_shlnbsd_vec, bfd_elf32_shnbsd_vec): Likewise.
  968. (bfd_elf32_shlvxworks_vec, bfd_elf32_shvxworks_vec): New stanzas.
  969. * configure: Regenerate.
  970. * Makefile.am: Regenerate dependencies.
  971. * Makefile.in: Regenerate.
  972. * elf-vxworks.c (elf_vxworks_gott_symbol_p): New function.
  973. (elf_vxworks_add_symbol_hook): Use it.
  974. (elf_vxworks_link_output_symbol_hook): Likewise. Use the hash
  975. table entry to check for weak undefined symbols and to obtain
  976. the original bfd.
  977. (elf_vxworks_emit_relocs): Use target_index instead of this_idx.
  978. * elf32-sh-relocs.h: New file, split from elf32-sh.c.
  979. (R_SH_DIR32): Use SH_PARTIAL32 for the partial_inplace field,
  980. SH_SRC_MASK32 for the src_mask field, and SH_ELF_RELOC for the
  981. special_function field.
  982. (R_SH_REL32): Use SH_PARTIAL32 and SH_SRC_MASK32 here too.
  983. (R_SH_REL32, R_SH_TLS_GD_32, R_SH_TLS_LD_32): Likewise.
  984. (R_SH_TLS_LDO_32, R_SH_TLS_IE_32, R_SH_TLS_LE_32): Likewise.
  985. (R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32, R_SH_TLS_TPOFF32): Likewise.
  986. (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT): Likewise.
  987. (R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Likewise.
  988. (SH_PARTIAL32, SH_SRC_MASK32, SH_ELF_RELOC): Undefine at end of file.
  989. * elf32-sh.c: Include elf32-vxworks.h.
  990. (MINUS_ONE): Define.
  991. (sh_elf_howto_table): Include elf32-sh-relocs.h with SH_PARTIAL32
  992. set to TRUE, SH_SRC_MASK32 set to 0xffffffff, and SH_ELF_RELOC set
  993. to sh_elf_reloc.
  994. (sh_vxworks_howto_table): New variable. Include elf32-sh-relocs.h
  995. with SH_PARTIAL32 set to FALSE, SH_SRC_MASK32 set to 0, and
  996. SH_ELF_RELOC set to bfd_elf_generic_reloc.
  997. (vxworks_object_p, get_howto_table): New functions.
  998. (sh_elf_reloc_type_lookup): Fix typo. Use get_howto_table.
  999. (sh_elf_info_to_howto): Use get_howto_table.
  1000. (sh_elf_relax_section): Honor the partial_inplace field of the
  1001. R_SH_DIR32 howto.
  1002. (sh_elf_relax_delete_bytes): Likewise.
  1003. (elf_sh_plt_info): New structure.
  1004. (PLT_ENTRY_SIZE): Replace both definitions with...
  1005. (ELF_PLT_ENTRY_SIZE): ...this new macro, with separate definitions for
  1006. INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
  1007. (elf_sh_plt0_entry_be): Update sizes of both definitions accordingly.
  1008. (elf_sh_plt0_entry_le): Likewise.
  1009. (elf_sh_plt_entry_be, elf_sh_plt_entry_le): Likewise.
  1010. (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): Likewise.
  1011. (elf_sh_plts): New structure, with separate definitions for
  1012. INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
  1013. (elf_sh_plt0_entry): Delete both definitions.
  1014. (elf_sh_plt_entry, elf_sh_pic_plt_entry): Likewise.
  1015. (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset): Likewise.
  1016. (elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset): Likewise.
  1017. (elf_sh_plt_reloc_offset): Likewise.
  1018. (movi_shori_putval): Delete in favor of...
  1019. (install_plt_field): ...this new function, with separate definitions
  1020. for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
  1021. (get_plt_info): New function, with separate definitions
  1022. for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
  1023. (elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset): Delete.
  1024. (VXWORKS_PLT_HEADER_SIZE, VXWORKS_PLT_ENTRY_SIZE): New macros.
  1025. (vxworks_sh_plt0_entry_be, vxworks_sh_plt0_entry_le): New constants.
  1026. (vxworks_sh_plt_entry_be, vxworks_sh_plt_entry_le): Likewise.
  1027. (vxworks_sh_pic_plt_entry_be, vxworks_sh_pic_plt_entry_le): Likewise.
  1028. (get_plt_index, get_plt_offset): New functions.
  1029. (elf_sh_link_hash_table): Add srelplt2, plt_info and vxworks_p fields.
  1030. (sh_elf_link_hash_table_create): Initialize them.
  1031. (sh_elf_create_dynamic_sections): Call
  1032. elf_vxworks_create_dynamic_sections for VxWorks.
  1033. (allocate_dynrelocs): Use htab->plt_info to get the size of PLT
  1034. entries. Allocate relocation entries in .rela.plt.unloaded if
  1035. generating a VxWorks executable.
  1036. (sh_elf_always_size_sections): New function.
  1037. (sh_elf_size_dynamic_sections): Extend .rela.plt handling to
  1038. .rela.plt.unloaded.
  1039. (sh_elf_relocate_section): Use get_howto_table. Honor
  1040. partial_inplace when calculating the addend for dynamic
  1041. relocations. Use get_plt_index.
  1042. (sh_elf_finish_dynamic_symbol): Use get_plt_index, install_plt_field
  1043. and htab->plt_info. Fill in the bra .plt offset for VxWorks
  1044. executables. Populate .rela.plt.unloaded. Do not make
  1045. _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
  1046. (sh_elf_finish_dynamic_sections): Use install_plt_field and
  1047. htab->plt_info. Handle cases where there is no special PLT header.
  1048. Populate the first relocation in .rela.plt.unloaded and fix up
  1049. the remaining entries.
  1050. (sh_elf_plt_sym_val): Use get_plt_info.
  1051. (elf_backend_always_size_sections): Define.
  1052. (TARGET_BIG_SYM, TARGET_BIG_NAME): Override for VxWorks.
  1053. (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
  1054. (elf32_bed, elf_backend_want_plt_sym): Likewise.
  1055. (elf_symbol_leading_char, elf_backend_want_got_underscore): Likewise.
  1056. (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Likewise.
  1057. (elf_backend_add_symbol_hook): Likewise.
  1058. (elf_backend_link_output_symbol_hook): Likewise.
  1059. (elf_backend_emit_relocs): Likewise.
  1060. (elf_backend_final_write_processing): Likewise.
  1061. (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Likewise.
  1062. * targets.c (bfd_elf32_shlvxworks_vec): Declare.
  1063. (bfd_elf32_shvxworks_vec): Likewise.
  1064. (_bfd_target_vector): Include bfd_elf32_shlvxworks_vec and
  1065. bfd_elf32_shvxworks_vec.
  1066. 2006-08-02 Mark Kettenis <kettenis@gnu.org>
  1067. * configure.in (arm-*-openbsd*): Set COREFILE to netbsd-core.lo.
  1068. * configure: Regenerate.
  1069. 2006-08-02 Petr Salinger <Petr.Salinger@seznam.cz>
  1070. PR binutils/2983
  1071. * elf64-x86-64.c: Add FreeBSD support.
  1072. (elf64_x86_64_fbsd_post_process_headers): New function.
  1073. * targets.c (_bfd_target_vector): Add bfd_elf64_x86_64_freebsd_vec.
  1074. * config.bfd (x64_64-*-freebsd*): Add bfd_elf64_x86_64_freebsd_vec
  1075. to the targ_selvecs.
  1076. * configure.in: Add entry for bfd_elf64_x86_64_freebsd_vec.
  1077. * configure: Regenerate.
  1078. 2006-07-26 Andreas Schwab <schwab@suse.de>
  1079. * elfxx-ia64.c (elfNN_ia64_choose_gp): Use rawsize if set.
  1080. 2006-07-26 Alan Modra <amodra@bigpond.net.au>
  1081. * elf.c (elf_modify_segment_map): Delete empty PT_LOAD segments.
  1082. * elf32-xtensa.c (elf_xtensa_modify_segment_map): Delete.
  1083. (define elf_backend_modify_segment_map): Don't define.
  1084. 2006-07-25 Thiemo Seufer <ths@networkno.de>
  1085. * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow
  1086. linking of objects for compatible machine types.
  1087. 2006-07-25 Thiemo Seufer <ths@networkno.de>
  1088. * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test
  1089. also for same symbol.
  1090. 2006-07-25 Thiemo Seufer <ths@mips.com>
  1091. * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant.
  1092. 2006-07-24 Michael Wetherell <mike.wetherell@ntlworld.com>
  1093. * elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific
  1094. sections only if the SHF_OS_NONCONFORMING flag is present.
  1095. 2006-07-24 Nick Clifton <nickc@redhat.com>
  1096. PR ld/2729
  1097. * peXXigen.c (_bfd_XXi_final_link_postscript): Check for the
  1098. existance of output sections before putting their entries into the
  1099. DataDictionary.
  1100. 2006-07-20 Thiemo Seufer <ths@mips.com>
  1101. * elf32-mips.c (mips16_jump_reloc): Remove function.
  1102. (elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc
  1103. instead of mips16_jump_reloc.
  1104. * elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function.
  1105. (elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use
  1106. _bfd_mips_elf_generic_reloc instead of mips16_jump_reloc.
  1107. 2006-07-19 Alan Modra <amodra@bigpond.net.au>
  1108. * bfd-in.h (enum notice_asneeded_action): Define.
  1109. * bfd-in2.h: Regenerate.
  1110. * elflink.c (elf_link_add_object_symbols): Call linker "notice"
  1111. function with NULL name for as-needed handling.
  1112. 2006-07-18 Paul Brook <paul@codesourcery.com>
  1113. * bfd-in2.h: Regenerate.
  1114. * libbfd.h: Regenerate.
  1115. * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM.
  1116. 2006-07-18 Nick Clifton <nickc@redhat.com>
  1117. * elfxx-mips.c (_bfd_mips_elf_common_definition): New function.
  1118. Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common
  1119. sections.
  1120. * elfxx-mips.h (_bfd_mips_elf_common_definition): Prototype.
  1121. 2006-07-14 Jakub Jelinek <jakub@redhat.com>
  1122. * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value.
  1123. 2006-07-14 Mark Kettenis <kettenis@gnu.org>
  1124. * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations
  1125. to the start of a block.
  1126. 2006-07-13 Nick Clifton <nickc@redhat.com>
  1127. * coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info()
  1128. returning a NULL value.
  1129. 2006-07-12 H.J. Lu <hongjiu.lu@intel.com>
  1130. PR ld/2884
  1131. * elflink.c (_bfd_elf_merge_symbol): Copy the symbol info from
  1132. the old versioned dynamic definition to the new one with
  1133. non-default visibility. Hide the symbol if it is hidden or
  1134. internal.
  1135. 2006-07-12 Matthew R. Dempsky <mrd@alkemio.org>
  1136. * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32.
  1137. 2006-07-10 Jakub Jelinek <jakub@redhat.com>
  1138. * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH.
  1139. (bfd_section_from_shdr, elf_fake_sections, assign_section_numbers):
  1140. Handle SHT_GNU_HASH.
  1141. (special_sections_g): Include .gnu.hash section.
  1142. (bfd_elf_gnu_hash): New function.
  1143. * elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes.
  1144. (struct elf_backend_data): Add elf_hash_symbol method.
  1145. * elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash
  1146. only if info->emit_hash, create .gnu.hash section if
  1147. info->emit_gnu_hash.
  1148. (struct collect_gnu_hash_codes): New type.
  1149. (elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms,
  1150. _bfd_elf_hash_symbol): New functions.
  1151. (compute_bucket_count): Don't compute HASHCODES array, instead add
  1152. that and NSYMS as arguments. Use bed->s->sizeof_hash_entry
  1153. instead of bed->s->arch_size / 8. Fix .hash size estimation.
  1154. When not optimizing, use the number of hashed symbols rather than
  1155. dynsymcount.
  1156. (bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash,
  1157. and ADD DT_GNU_HASH if info->emit_gnu_hash.
  1158. (bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash,
  1159. adjust compute_bucket_count caller. Create and populate .gnu.hash
  1160. section if info->emit_gnu_hash.
  1161. (elf_link_output_extsym): Only populate .hash section if
  1162. finfo->hash_sec != NULL.
  1163. (bfd_elf_final_link): Adjust assertion. Handle DT_GNU_HASH.
  1164. * elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined.
  1165. (elfNN_bed): Add elf_backend_hash_symbol.
  1166. * elf64-x86-64.c (elf64_x86_64_hash_symbol): New function.
  1167. (elf_backend_hash_symbol): Define.
  1168. * elf32-i386.c (elf_i386_hash_symbol): New function.
  1169. (elf_backend_hash_symbol): Define.
  1170. 2006-07-05 Nick Clifton <nickc@redhat.com>
  1171. PR ld/2659
  1172. * cofflink.c (_bfd_coff_link_input_bfd): Fix selection of aux
  1173. entry when multiple definitions of a symbol are encountered.
  1174. 2006-06-30 H.J. Lu <hongjiu.lu@intel.com>
  1175. * elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax
  1176. instead of 2 nops.
  1177. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
  1178. (elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops.
  1179. 2006-06-29 Jakub Jelinek <jakub@redhat.com>
  1180. PR ld/2513
  1181. * elf32-i386.c (GOT_TLS_MASK, GOT_TLS_IE_IE, GOT_TLS_IE_GD,
  1182. GOT_TLS_IE_MASK, elf_i386_check_relocs, allocate_dynrelocs): Revert
  1183. 2006-04-08 changes.
  1184. (elf_i386_relocate_section): Likewise. For GD->IE transition
  1185. change subl into addl whenever tls_type is GOT_TLS_IE_POS.
  1186. 2006-06-23 Alan Modra <amodra@bigpond.net.au>
  1187. PR ld/2754
  1188. * elf.c (bfd_elf_mkobject): Don't alloc if already done. Set
  1189. program_header_size to -1.
  1190. (_bfd_elf_map_sections_to_segments): Adjust program_header_size check.
  1191. (assign_file_positions_for_load_sections ): Likewise.
  1192. (_bfd_elf_sizeof_headers): Use saved program_header_size if
  1193. available.
  1194. * elf32-arm.c (elf32_arm_mkobject): Call bfd_elf_mkobject, don't
  1195. alloc if already done.
  1196. * elf32-i386.c (elf_i386_mkobject): Likewise.
  1197. * elf32-ppc.c (ppc_elf_mkobject): Likewise.
  1198. * elf32-s390.c (elf_s390_mkobject): Likewise.
  1199. * elf32-sh.c (sh_elf_mkobject): Likewise.
  1200. * elf64-alpha.c (elf64_alpha_mkobject): Likewise.
  1201. * elf64-ppc.c (ppc64_elf_mkobject): Likewise.
  1202. * elf64-s390.c (elf_s390_mkobject): Likewise.
  1203. * elf64-x86-64.c (elf64_x86_64_mkobject): Likewise.
  1204. * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Likewise.
  1205. 2006-06-20 Jakub Jelinek <jakub@redhat.com>
  1206. * elflink.c (elf_link_add_object_symbols): Don't create .tcommon
  1207. section for relocatable link.
  1208. 2006-06-21 Alan Modra <amodra@bigpond.net.au>
  1209. * elf-bfd.h (struct elf_backend_data): Add
  1210. elf_backend_modify_program_headers.
  1211. * elfxx-target.h (elf_backend_modify_program_headers): Define.
  1212. (elfNN_bed): Init new field.
  1213. * elf.c (elf_modify_segment_map): Remove comment.
  1214. (assign_file_positions_for_load_sections): Only call
  1215. elf_modify_segment_map for objcopy/strip.
  1216. (assign_file_positions_except_relocs): Call
  1217. elf_backend_modify_program_headers.
  1218. * elf32-frv.c (elf32_frvfdpic_always_size_sections): Don't make
  1219. .stack section.
  1220. (elf32_frvfdpic_modify_segment_map): Delete.
  1221. (elf32_frvfdpic_modify_program_headers): New.
  1222. (elf_backend_modify_segment_map): Don't define.
  1223. (elf_backend_modify_program_headers): Define.
  1224. * elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Don't make
  1225. .stack section.
  1226. (elf32_bfinfdpic_modify_segment_map): Delete.
  1227. (elf32_bfinfdpic_modify_program_headers): New.
  1228. (elf_backend_modify_segment_map): Don't define.
  1229. (elf_backend_modify_program_headers): Define.
  1230. * elfxx-ia64.c (elfNN_ia64_modify_program_headers): New function.
  1231. Split out from..
  1232. (elfNN_ia64_modify_segment_map): ..here.
  1233. (elf_backend_modify_program_headers): Define.
  1234. 2006-06-20 Jakub Jelinek <jakub@redhat.com>
  1235. * bfd.c (bfd_record_phdr): Clear p_align and p_align_valid fields.
  1236. * elf.c (_bfd_elf_link_hash_table_init): Clear hplt field.
  1237. 2006-06-20 Alan Modra <amodra@bigpond.net.au>
  1238. * elf-bfd.h: Formatting.
  1239. (_bfd_elf_map_sections_to_segments): Declare.
  1240. * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't
  1241. clear program_header_size.
  1242. * elf.c (get_program_header_size): Move. Don't use or set saved
  1243. program_header_size here.
  1244. (elf_modify_segment_map): New function. Split out from..
  1245. (assign_file_positions_for_load_sections): ..here. Assert
  1246. header size is correct. Remove dead code.
  1247. (_bfd_elf_map_sections_to_segments): Rename from
  1248. map_sections_to_segments. Make global. Use get_program_header_size
  1249. when we need estimate of header size. Call elf_modify_segment_map.
  1250. Set program_header_size.
  1251. (print_segment_map): Delete.
  1252. (_bfd_elf_sizeof_headers): If segment_map available, get the
  1253. actual size.
  1254. * elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe
  1255. for calling more than once.
  1256. * elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise.
  1257. * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise.
  1258. * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
  1259. * elf32-i370.c (elf_backend_add_symbol_hook): Delete.
  1260. (elf_backend_additional_program_headers): Delete.
  1261. (elf_backend_modify_segment_map): Delete.
  1262. * elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C.
  1263. * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
  1264. * doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties.
  1265. 2006-06-19 Vladimir Prus <vladimir@codesourcery.com>
  1266. * elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low
  1267. bit for undefined symbols.
  1268. 2006-06-19 Alan Modra <amodra@bigpond.net.au>
  1269. * elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer
  1270. parameter.
  1271. (_bfd_elf_sizeof_headers): Replace bfd_boolean param with
  1272. bfd_link_info pointer.
  1273. * targets.c (struct bfd_target <_bfd_sizeof_headers>): Likewise.
  1274. * bfd.c (bfd_sizeof_headers): Tweak param name.
  1275. * aout-adobe.c (aout_adobe_sizeof_headers): Adjust.
  1276. * aoutx.h (NAME (aout, sizeof_headers)): Adjust.
  1277. * binary.c (binary_sizeof_headers): Adjust.
  1278. * bout.c (b_out_sizeof_headers): Adjust.
  1279. * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust.
  1280. * coff64-rs6000.c (xcoff64_sizeof_headers): Adjust.
  1281. * coffgen.c (coff_sizeof_headers): Adjust.
  1282. * ecoff.c (_bfd_ecoff_sizeof_headers): Adjust.
  1283. (ecoff_compute_section_file_positions): Adjust.
  1284. (_bfd_ecoff_write_object_contents): Adjust.
  1285. * elf.c (get_program_header_size, _bfd_elf_sizeof_headers): Adjust.
  1286. * elf32-arm.c (elf32_arm_additional_program_headers): Adjust.
  1287. * elf32-i370.c (elf_backend_additional_program_headers): Adjust.
  1288. * elf32-ppc.c (ppc_elf_additional_program_headers): Adjust.
  1289. * elf64-hppa.c (elf64_hppa_additional_program_headers): Adjust.
  1290. * elf64-x86-64.c (elf64_x86_64_additional_program_headers): Adjust.
  1291. * elfxx-ia64.c (elfNN_ia64_additional_program_headers): Adjust.
  1292. * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Adjust.
  1293. * elfxx-mips.h (_bfd_mips_elf_additional_program_headers): Adjust.
  1294. * i386msdos.c: Convert to ISO C.
  1295. (msdos_sizeof_headers): Adjust.
  1296. * i386os9k.c: Convert to ISO C.
  1297. (os9k_sizeof_headers): Adjust.
  1298. * ieee.c (ieee_sizeof_headers): Adjust.
  1299. * ihex.c (ihex_sizeof_headers): Adjust.
  1300. * libaout.h (NAME (aout, sizeof_headers)): Adjust.
  1301. * libbfd-in.h (_bfd_nolink_sizeof_headers): Adjust.
  1302. * libcoff-in.h (coff_sizeof_headers): Adjust.
  1303. * libecoff.h (_bfd_ecoff_sizeof_headers): Adjust.
  1304. * mach-o.c (bfd_mach_o_sizeof_headers): Adjust.
  1305. * mmo.c (mmo_sizeof_headers): Adjust.
  1306. * oasys.c (oasys_sizeof_headers): Adjust.
  1307. * pdp11.c (NAME (aout, sizeof_headers)): Adjust.
  1308. * pef.c (bfd_pef_sizeof_headers): Adjust.
  1309. * ppcboot.c (ppcboot_sizeof_headers): Adjust.
  1310. * som.c (som_sizeof_headers): Adjust.
  1311. * srec.c (srec_sizeof_headers): Adjust.
  1312. * tekhex.c (tekhex_sizeof_headers): Adjust.
  1313. * versados.c (versados_sizeof_headers): Adjust.
  1314. * vms.c (vms_sizeof_headers): Adjust.
  1315. * xcoff-target.h (_bfd_xcoff_sizeof_headers): Adjust.
  1316. * xsym.c (bfd_sym_sizeof_headers): Adjust.
  1317. * xsym.h (bfd_sym_sizeof_headers): Adjust.
  1318. * bfd-in2.h: Regenerate.
  1319. * libbfd.h: Regenerate.
  1320. * libcoff.h: Regenerate.
  1321. 2006-06-15 Mark Shinwell <shinwell@codesourcery.com>
  1322. * bfd-in2.h: Regenerate.
  1323. * elf32-arm.c (R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0,
  1324. R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1, R_ARM_ALU_PC_G2,
  1325. R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2, R_ARM_LDRS_PC_G0,
  1326. R_ARM_LDRS_PC_G1, R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0,
  1327. R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2, R_ARM_ALU_SB_G0_NC,
  1328. R_ARM_ALU_SB_G0, R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1,
  1329. R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1,
  1330. R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0, R_ARM_LDRS_SB_G1,
  1331. R_ARM_LDRS_SB_G2, R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1,
  1332. R_ARM_LDC_SB_G2): New relocation types.
  1333. (R_ARM_PC13): Rename to AAELF name R_ARM_LDR_PC_G0 and
  1334. adjust HOWTO entry to be consistent with R_ARM_LDR_PC_G1
  1335. and friends.
  1336. (elf32_arm_howto_table_3): Delete; contents merged into
  1337. elf32_arm_howto_table_2.
  1338. (elf32_arm_howto_from_type): Adjust correspondingly.
  1339. (elf32_arm_reloc_map): Extend with the above relocations.
  1340. (calculate_group_reloc_mask): New function.
  1341. (identify_add_or_sub): New function.
  1342. (elf32_arm_final_link_relocate): Support for the above
  1343. relocations.
  1344. * reloc.c: Add enumeration entries for BFD_RELOC_ARM_...
  1345. codes to correspond to the above relocations.
  1346. 2006-06-14 Richard Sandiford <richard@codesourcery.com>
  1347. * elf32-m68k.c (elf_m68k_plt_info): New structure.
  1348. (elf_m68k_plt0_entry): Add R_68K_PC32-style in-place addends.
  1349. (elf_m68k_plt_entry): Likewise.
  1350. (elf_m68k_plt_info): New table.
  1351. (CFV4E_PLT_ENTRY_SIZE): Rename to...
  1352. (ISAB_PLT_ENTRY_SIZE): ...this.
  1353. (CFV4E_FLAG): Delete.
  1354. (elf_cfv4e_plt0_entry): Rename to...
  1355. (elf_isab_plt0_entry): ...this. Adjust comments. Use (-6,%pc,%d0)
  1356. for the second instruction too.
  1357. (elf_cfv4e_plt_entry): Rename to...
  1358. (elf_isab_plt_entry): ...this. Adjust comments and use (-6,%pc,%d0).
  1359. (elf_isab_plt_info): New table.
  1360. (CPU32_FLAG): Delete.
  1361. (PLT_CPU32_ENTRY_SIZE): Rename to...
  1362. (CPU32_PLT_ENTRY_SIZE): ...this.
  1363. (elf_cpu32_plt0_entry): Update bounds accordingly. Add R_68K_PC32-
  1364. style in-place addends.
  1365. (elf_cpu32_plt_entry): Likewise.
  1366. (elf_cpu32_plt_info): New table.
  1367. (elf_m68k_link_hash_table): Add a plt_info field.
  1368. (elf_m68k_link_hash_table_create): Initialize it.
  1369. (elf_m68k_get_plt_info): New function.
  1370. (elf_m68k_always_size_sections): Likewise.
  1371. (elf_m68k_adjust_dynamic_symbol): Use the plt_info hash table field.
  1372. (elf_m68k_install_pc32): New function.
  1373. (elf_m68k_finish_dynamic_symbol): Factor code using plt_info and
  1374. elf_m68k_install_pc32.
  1375. (elf_m68k_finish_dynamic_sections): Likewise.
  1376. (elf_m68k_plt_sym_val): Use elf_m68k_get_plt_info.
  1377. (elf_backend_always_size_sections): Define.
  1378. 2006-06-14 Alan Modra <amodra@bigpond.net.au>
  1379. * elflink.c (elf_link_add_object_symbols): Save and restore
  1380. struct bfd_hash_table table, size and count fields for
  1381. as-needed libs.
  1382. 2006-06-12 Thiemo Seufer <ths@mips.com>
  1383. * elf32-mips.c: Expand comment about ABI-mandated pagesize values.
  1384. (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): define in a more obvious way.
  1385. * elf64-mips.c, elfn32-mips.c (ELF_MAXPAGESIZE): Fix value for IRIX6.
  1386. Delete old comments.
  1387. (ELF_COMMONPAGESIZE): Define in a more obvious way.
  1388. 2006-06-12 Nick Clifton <nickc@redhat.com>
  1389. PR binutils/2735
  1390. * elflink.c (elf_link_add_object_symbols): Fix the warning message
  1391. about mismatched alignments to allow for the case where the common
  1392. alignment has been deduced from the section alignment.
  1393. * bfd.c (_bfd_default_error_handler): Update comment to explain
  1394. why bfd and asection varargs are out of order. Explicitly catch
  1395. and abort on NULL bfd and asection arguments.
  1396. 2006-06-11 Richard Sandiford <richard@codesourcery.com>
  1397. Thiemo Seufer <ths@mips.com>
  1398. * elfxx-mips.c (mips_elf_link_hash_table): Add function_stub_size.
  1399. (STUB_ORI): New macro.
  1400. (STUB_LI16U): Fix formatting.
  1401. (MIPS_FUNCTION_STUB_SIZE): Delete.
  1402. (MIPS_FUNCTION_STUB_MAX_SIZE): Likewise.
  1403. (MIPS_FUNCTION_STUB_NORMAL_SIZE): New macro.
  1404. (MIPS_FUNCTION_STUB_BIG_SIZE): Likewise.
  1405. (_bfd_mips_elf_adjust_dynamic_symbol): Use htab->function_stub_size
  1406. instead of MIPS_FUNCTION_STUB_SIZE.
  1407. (count_section_dynsyms): New function, split out from
  1408. _bfd_mips_elf_final_link.
  1409. (_bfd_mips_elf_always_size_sections): Get a worst-case estimate
  1410. of the number of dynamic symbols needed and use it to set up
  1411. function_stub_size. Use function_stub_size rather than
  1412. MIPS_FUNCTION_STUB_SIZE to determine the size of the stub section.
  1413. Use 16-byte stubs for 0x10000 dynamic symbols.
  1414. (_bfd_mips_elf_size_dynamic_sections): Use htab->function_stub_size
  1415. instead of MIPS_FUNCTION_STUB_SIZE. Fix formatting.
  1416. (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Change the
  1417. size of the stub buffer from MIPS_FUNCTION_STUB_MAX_SIZE to
  1418. MIPS_FUNCTION_STUB_BIG_SIZE. Tweak the check for unhandled dynindxes.
  1419. Use MIPS_FUNCTION_STUB_BIG_SIZE rather than a hard-coded 20.
  1420. Use STUB_ORI rather than STUB_LI16U for big stubs.
  1421. (_bfd_mips_elf_link_hash_table_create): Initialize function_stub_size.
  1422. (_bfd_mips_elf_final_link): Use count_section_dynsyms.
  1423. 2006-06-09 David Ung <davidu@mips.com>
  1424. * bfd/elfxx-mips.c (mips_elf_calculate_relocation): Fix mode for stub
  1425. calling relocations.
  1426. 2006-06-08 David Daney <ddaney@avtrex.com>
  1427. * elfxx-mips.c (STUB_LI16): Removed.
  1428. (STUB_LUI): New macro.
  1429. (STUB_LI16U): Ditto.
  1430. (STUB_LI16S): Ditto.
  1431. (MIPS_FUNCTION_STUB_SIZE): Rewrote to take info parameter.
  1432. (_bfd_mips_elf_adjust_dynamic_symbol): Pass info parameter to
  1433. MIPS_FUNCTION_STUB_SIZE.
  1434. (_bfd_mips_elf_always_size_sections): Ditto.
  1435. (_bfd_mips_elf_size_dynamic_sections): Ditto.
  1436. (_bfd_mips_elf_finish_dynamic_sections): Ditto.
  1437. (_bfd_mips_elf_finish_dynamic_symbol): Rewrote stub generation
  1438. to allow larger symbol table indexes.
  1439. 2006-06-07 Joseph S. Myers <joseph@codesourcery.com>
  1440. * po/Make-in (pdf, ps): New dummy targets.
  1441. 2006-06-06 Alan Modra <amodra@bigpond.net.au>
  1442. * hash.c (bfd_hash_lookup): Correct stray line.
  1443. * elf.c (_bfd_elf_init_private_section_data): Comment typo.
  1444. (elfcore_grok_nto_status): Use long instead of pid_t.
  1445. (elfcore_grok_nto_regs, elfcore_grok_nto_note): Likewise.
  1446. 2006-06-05 Daniel Jacobowitz <dan@codesourcery.com>
  1447. * po/Make-in (top_builddir): Define.
  1448. 2006-06-05 Alan Modra <amodra@bigpond.net.au>
  1449. * Makefile.am: Run "make dep-am".
  1450. * Makefile.in: Regenerate.
  1451. * config.in: Regenerate.
  1452. 2006-06-02 Alan Modra <amodra@bigpond.net.au>
  1453. H.J. Lu <hongjiu.lu@intel.com>
  1454. PR ld/2723
  1455. * elflink.c (bfd_elf_final_link): Don't output section symbols
  1456. for special ELF sections.
  1457. 2006-06-01 Alan Modra <amodra@bigpond.net.au>
  1458. * stabs.c (_bfd_link_section_stabs): Use bfd_make_section*_with_flags
  1459. instead of bfd_make_section*.
  1460. * aix386-core.c: Likewise.
  1461. * aix5ppc-core.c: Likewise.
  1462. * aout-adobe.c: Likewise.
  1463. * aoutf1.h: Likewise.
  1464. * binary.c: Likewise.
  1465. * cisco-core.c: Likewise.
  1466. * coff-arm.c: Likewise.
  1467. * coff-h8300.c: Likewise.
  1468. * elf.c: Likewise.
  1469. * elf32-bfin.c: Likewise.
  1470. * elf32-m32c.c: Likewise.
  1471. * hppabsd-core.c: Likewise.
  1472. * hpux-core.c: Likewise.
  1473. * i386linux.c: Likewise.
  1474. * ieee.c: Likewise.
  1475. * ihex.c: Likewise.
  1476. * irix-core.c: Likewise.
  1477. * lynx-core.c: Likewise.
  1478. * m68klinux.c: Likewise.
  1479. * mach-o.c: Likewise.
  1480. * netbsd-core.c: Likewise.
  1481. * nlmcode.h: Likewise.
  1482. * opncls.c: Likewise.
  1483. * osf-core.c: Likewise.
  1484. * peXXigen.c: Likewise.
  1485. * ppcboot.c: Likewise.
  1486. * ptrace-core.c: Likewise.
  1487. * rs6000-core.c: Likewise.
  1488. * sco5-core.c: Likewise.
  1489. * sparclinux.c: Likewise.
  1490. * srec.c: Likewise.
  1491. * sunos.c: Likewise.
  1492. * trad-core.c: Likewise.
  1493. * xcofflink.c: Likewise.
  1494. * xsym.c: Likewise.
  1495. 2006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
  1496. * Makefile.am (INCLUDES): Use @INCINTL@.
  1497. * acinclude.m4: Include new gettext macros.
  1498. * configure.in: Use ZW_GNU_GETTEXT_SISTER_DIR and AM_PO_SUBDIRS.
  1499. Manually substitute POFILES and GMOFILES.
  1500. * Makefile.in, aclocal.m4, configure, doc/Makefile.in: Regenerated.
  1501. 2006-05-30 H.J. Lu <hongjiu.lu@intel.com>
  1502. * bfd.c (bfd_emul_get_maxpagesize): New.
  1503. (bfd_elf_set_pagesize): Likewise.
  1504. (bfd_emul_set_maxpagesize): Likewise.
  1505. (bfd_emul_get_commonpagesize): Likewise.
  1506. (bfd_emul_set_commonpagesize): Likewise.
  1507. * bfd-in2.h: Regenerated.
  1508. * elf-bfd.h (elf_backend_data): Add commonpagesize.
  1509. (xvec_get_elf_backend_data): New.
  1510. (get_elf_backend_data): Use xvec_get_elf_backend_data.
  1511. * elf32-arm.c (elf32_arm_vxworks_bed): Remove const.
  1512. * elfxx-target.h (elfNN_bed): Likewise.
  1513. * elf32-arm.c (ELF_COMMONPAGESIZE): Defined.
  1514. * elf32-mips.c (ELF_COMMONPAGESIZE): Likewise.
  1515. * elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise.
  1516. * elf32-sh.c (ELF_COMMONPAGESIZE): Likewise.
  1517. * elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise.
  1518. * elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise.
  1519. * elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise.
  1520. * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
  1521. * elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise.
  1522. * elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise.
  1523. * elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise.
  1524. * elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise.
  1525. * elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined.
  1526. (elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE.
  1527. * targets.c (bfd_find_target): Support NULL abfd.
  1528. 2006-05-30 Nick Clifton <nickc@redhat.com>
  1529. * po/es.po: Updated Spanish translation.
  1530. 2006-05-27 Alan Modra <amodra@bigpond.net.au>
  1531. H.J. Lu <hongjiu.lu@intel.com>
  1532. * elf.c (assign_file_positions_for_load_sections): Retrieve
  1533. maxpagesize from m->p_align if it is valid. Set p_vaddr,
  1534. p_paddr and p_align earlier. Revert 2006-05-19 change to p_align.
  1535. (copy_elf_program_header): Copy p_align. Set p_align_valid.
  1536. 2006-05-26 H.J. Lu <hongjiu.lu@intel.com>
  1537. * elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000.
  1538. 2006-05-25 H.J. Lu <hongjiu.lu@intel.com>
  1539. * elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000.
  1540. 2006-05-25 H.J. Lu <hongjiu.lu@intel.com>
  1541. * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000.
  1542. 2006-05-26 Alan Modra <amodra@bigpond.net.au>
  1543. * elf.c (sym_is_global): Return a bfd_boolean.
  1544. (ignore_section_sym): New function.
  1545. (elf_map_symbols): Use ignore_section_sym to discard some syms.
  1546. (_bfd_elf_symbol_from_bfd_symbol): Ensure section belongs to
  1547. bfd before using elf_section_syms.
  1548. 2006-05-25 H.J. Lu <hongjiu.lu@intel.com>
  1549. * config.bfd: (sh-*-linux*): Treat as 64bit target.
  1550. (sh*l*-*-netbsdelf*): Likewise.
  1551. (sh-*-netbsdelf*): Likewise.
  1552. (shl*-*-elf*): Likewise.
  1553. (sh[1234]l*-*-elf*): Likewise.
  1554. (sh3el*-*-elf*): Likewise.
  1555. (shl*-*-kaos*): Likewise.
  1556. (sh-*-elf*): Likewise.
  1557. (sh[1234]*-elf*): Likewise.
  1558. (sh-*-rtems*): Likewise.
  1559. (sh-*-kaos*): Likewise.
  1560. 2006-05-24 H.J. Lu <hongjiu.lu@intel.com>
  1561. PR ld/1485
  1562. * config.bfd: Set want64 to true if 64bit bfd is used.
  1563. (sh-*-linux*): Use targ64_selvecs for 64bit targets.
  1564. (sh*l*-*-netbsdelf*): Likewise.
  1565. (sh-*-netbsdelf*): Likewise.
  1566. (shl*-*-elf*): Likewise.
  1567. (sh[1234]l*-*-elf*): Likewise.
  1568. (sh3el*-*-elf*): Likewise.
  1569. (shl*-*-kaos*): Likewise.
  1570. (sh-*-elf*): Likewise.
  1571. (sh[1234]*-elf*): Likewise.
  1572. (sh-*-rtems*): Likewise.
  1573. (sh-*-kaos*): Likewise.
  1574. 2006-05-24 Paul Brook <paul@codesourcery.com>
  1575. * elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms
  1576. * elf32-arm.c (output_arch_syminfo): Define.
  1577. (elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map,
  1578. elf32_arm_output_arch_local_syms): New functions.
  1579. (elf_backend_output_arch_local_syms): Define.
  1580. * elflink.c (bfd_elf_final_link): Call
  1581. elf_backend_output_arch_local_syms.
  1582. * elfxx-target.h (elf_backend_output_arch_local_syms): Provide default
  1583. definition.
  1584. (elfNN_bed): Add elf_backend_output_arch_local_syms.
  1585. 2006-05-24 Paul Brook <paul@codesourcery.com>
  1586. * elf32-arm.c (put_arm_insn, put_thumb_insn): New functions.
  1587. (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
  1588. elf32_arm_finish_dynamic_symbol): Use them.
  1589. 2006-05-24 Carlos O'Donell <carlos@systemhalted.org>
  1590. Randolph Chung <tausq@debian.org>
  1591. * elf-hppa.h (reloc_hppa_howto_table): Check bitfield for
  1592. TPREL21L/TPREL14R relocations. Handle LTOFF_TP14R relocations.
  1593. Add handling for TLS relocations.
  1594. (elf_hpp_reloc_final_type): Handle TLS relocs.
  1595. * elf32-hppa.c: Add authors for cleanup and TLS support.
  1596. (hppa_elf_local_got_tls_type, hh_name, eh_name): Define.
  1597. (elf32_hppa_link_hash_entry): Add tls_type.
  1598. (elf32_hppa_link_hash_table): Add tld_ldm_got.
  1599. (hppa_link_has_newfunc): Set tls_type.
  1600. (elf32_hppa_link_hash_table_create): Set tls_ldm_got refcount.
  1601. (hppa_stub_name): Use hh_name macro.
  1602. (elf32_hppa_copy_indirect_symbol): Copy TLS information.
  1603. (elf32_hppa_check_relocs): Call elf32_hppa_optimized_tls_reloc.
  1604. Handle TLS relocs.
  1605. (elf32_hppa_gc_sweep_hook): Likewise.
  1606. (allocate_dynrelocs): Handle TLS relocs.
  1607. (elf32_hppa_size_dynamic_sections): Count space required by TLS
  1608. relocs. Use hh_name macro.
  1609. (dtpoff_base): New function.
  1610. (tpoff): Likewise.
  1611. (elf32_hppa_optimized_tls_reloc): Likewise.
  1612. (final_link_relocate): Handle TLS relocs.
  1613. (elf32_hppa_relocate_section): Handle TLS relocs. Use eh_name
  1614. and hh_name macros.
  1615. (elf32_hppa_finish_dynamic_symbol): Setup TLS got entries. Use
  1616. hh_name and eh_name macros.
  1617. (elf32_hppa_reloc_type_clas): Handle TLS relocs.
  1618. 2006-05-24 Bjoern Haase <bjoern.m.haase@web.de>
  1619. * archures.c: Add bfd_mach_avr6.
  1620. * cpu-avr.c: Likewise.
  1621. * reloc.c (BFD_RELOC_AVR_LO8_LDI_GS, BFD_RELOC_AVR_HI8_LDI_GS):
  1622. New relocations.
  1623. * libbfd.h: Regenerate.
  1624. * bfd-in2.h:Regenerate.
  1625. * elf32-avr.h: New file. Protoypes for functions accessed from ld.
  1626. * elf32-avr.c: Add elf32-avr.h to include list.
  1627. (elf32_avr_stub_hash_entry): New function.
  1628. (elf32_avr_link_hash_table): New struct.
  1629. (avr_link_hash_table): Likewise.
  1630. (avr_stub_hash_entry): Likewise.
  1631. (avr_stub_hash_lookup): New function.
  1632. (stub_hash_newfunc): New function.
  1633. (elf32_avr_link_hash_table_create): New function.
  1634. (elf32_avr_link_hash_table_free): New function.
  1635. (avr_get_stub_addr): New function.
  1636. (debug_relax, debug_stubs): Add new global variables controlling
  1637. debugging printout to stdout.
  1638. (avr_pc_wrap_around): Change the type to bfd_vma.
  1639. (avr_replace_call_ret_sequences): Add a new variable controling
  1640. linkrelax optimizations.
  1641. (avr_stub_is_required_for_16_bit_reloc): New function.
  1642. (avr_final_link_relocate):
  1643. Add linker hash table to parameter list. Use stub addr. if necessary.
  1644. (elf32_avr_relocate_section):
  1645. Add linker hashtable to parameter list of avr_final_link_relocate.
  1646. (bfd_elf_avr_final_write_processing): Add support for bfd_mach_avr6.
  1647. (elf32_avr_object_p): Add support for E_AVR_MACH_AVR6.
  1648. (elf32_avr_relax_delete_bytes):
  1649. Iterate over all sections of a bfd when adjusting relocs addends.
  1650. (elf32_avr_relax_section):
  1651. Evaluate avr_replace_call_ret_sequences and recalculate the size of
  1652. stub section.
  1653. (avr_stub_name): New function.
  1654. (avr_get_stub_entry): New function.
  1655. (avr_add_stub): New function.
  1656. (avr_build_one_stub): New function.
  1657. (avr_size_one_stub): New function.
  1658. (elf32_avr_setup_params): New function.
  1659. (elf32_avr_setup_section_lists): New function.
  1660. (get_local_syms): New function.
  1661. (elf32_avr_size_stubs): New function.
  1662. (bfd_elf32_bfd_link_hash_table_create): New function.
  1663. (bfd_elf32_bfd_link_hash_table_free): New function.
  1664. 2006-05-23 H.J. Lu <hongjiu.lu@intel.com>
  1665. PR ld/2655
  1666. PR ld/2657
  1667. * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Properly
  1668. update CIE/FDE length. Don't pad to the section alignment.
  1669. 2006-05-23 Jie Zhang <jie.zhang@analog.com>
  1670. * elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for
  1671. deteted entries in .eh_frame section.
  1672. 2006-05-23 Jie Zhang <jie.zhang@analog.com>
  1673. * elf32-bfin.c (bfin_check_relocs): Use __GLOBAL_OFFSET_TABLE_
  1674. instead of _GLOBAL_OFFSET_TABLE_.
  1675. (bfin_relocate_section): Ditto.
  1676. (_bfin_create_got_section): Ditto.
  1677. (elf32_bfinfdpic_create_dynamic_sections): Use
  1678. __PROCEDURE_LINKAGE_TABLE_ instead of _PROCEDURE_LINKAGE_TABLE_.
  1679. (bfin_finish_dynamic_symbol): Use __DYNAMIC instead of _DYNAMIC.
  1680. 2006-05-23 Alan Modra <amodra@bigpond.net.au>
  1681. * elf64-ppc.c (compare_symbols): Prefer strong dynamic global
  1682. function syms over other syms.
  1683. 2006-05-22 Daniel Jacobowitz <dan@codesourcery.com>
  1684. * elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL
  1685. check.
  1686. (bfd_elf_final_link): Add a late DT_TEXTREL check.
  1687. * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define.
  1688. (mips_elf_create_dynamic_relocation): Set DF_TEXTREL.
  1689. (_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION.
  1690. Use MIPS_ELF_READONLY_SECTION.
  1691. (_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after
  1692. creating DT_TEXTREL.
  1693. (_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers
  1694. if no text relocations were generated.
  1695. 2006-05-19 H.J. Lu <hongjiu.lu@intel.com>
  1696. * elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment.
  1697. 2006-05-19 Alan Modra <amodra@bigpond.net.au>
  1698. * elf.c (elf_fake_sections): Formatting.
  1699. (assign_file_positions_for_load_sections): Only add SEC_ALLOC
  1700. sections to p_memsz. Remove hack for PT_NOTE sections. Allow
  1701. section alignment to increase p_align for PT_LOAD.
  1702. (assign_file_positions_for_non_load_sections): Remove ARM BPABI
  1703. hack for PT_DYNAMIC. Instead, set p_filesz for all segments
  1704. other than PT_LOAD, and PT_NOTE in core.
  1705. 2006-05-17 Alan Modra <amodra@bigpond.net.au>
  1706. * elf.c (assign_file_positions_for_segments): Split into..
  1707. (assign_file_positions_for_load_sections): ..this, and..
  1708. (assign_file_positions_for_non_load_sections): ..this new function,..
  1709. (assign_file_positions_except_relocs): ..writing program headers here.
  1710. 2006-05-17 Alan Modra <amodra@bigpond.net.au>
  1711. * elflink.c (elf_gc_sweep): Don't specially keep non-alloc,
  1712. non-load sections if they have relocs.
  1713. 2006-05-15 Paul Brook <paul@codesourcery.com>
  1714. * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename ...
  1715. (bfd_is_arm_special_symbol_name): ... to this. Add type argument.
  1716. Check symbol name is of specified type.
  1717. * elf32-arm.c (elf32_arm_is_target_special_symbol,
  1718. arm_elf_find_function, elf32_arm_output_symbol_hook): Use
  1719. bfd_is_arm_special_symbol_name.
  1720. * bfd-in.h (BFD_ARM_SPECIAL_SYM_TYPE_MAP,
  1721. BFD_ARM_SPECIAL_SYM_TYPE_TAG, BFD_ARM_SPECIAL_SYM_TYPE_OTHER,
  1722. BFD_ARM_SPECIAL_SYM_TYPE_ANY): Define.
  1723. (bfd_is_arm_mapping_symbol_name): Remove prototype.
  1724. (bfd_is_arm_special_symbol_name): Add prototype.
  1725. * bfd-in2.h: Regenerate.
  1726. 2006-05-15 David Heine <dlheine@tensilica.com>
  1727. Bob Wilson <bob.wilson@acm.org>
  1728. * elf32-xtensa.c (check_loop_aligned): Fix reversed check for
  1729. undefined opcode. Clean up assertions.
  1730. (narrow_instruction, widen_instruction): Remove "do_it" parameters.
  1731. Factor most of the code into separate functions....
  1732. (can_narrow_instruction, can_widen_instruction): New.
  1733. (prev_instr_is_a_loop): New.
  1734. (compute_ebb_proposed_actions): Combine error handling code for
  1735. decode errors. Replace call to insn_decode_len with inline code.
  1736. Use can_narrow_instruction and can_widen_instruction. Handle errors
  1737. from call to xtensa_opcode_is_loop.
  1738. (relax_section): Adjust calls to narrow_instruction and
  1739. widen_instruction.
  1740. 2006-05-15 Alan Modra <amodra@bigpond.net.au>
  1741. PR 2658
  1742. * elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic
  1743. -shared link.
  1744. 2006-05-11 Michael Matz <matz@suse.de>
  1745. * elflink.c (match_group_member): Correctly iterate group
  1746. members.
  1747. 2006-05-11 Paul Brook <paul@codesourcery.com>
  1748. * elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs.
  1749. (elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs.
  1750. (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
  1751. * reloc.c: Ditto.
  1752. * bfd-in2.h: Regenerate.
  1753. * libbfd.h: Regenerate.
  1754. * libcoff.h: Regenerate.
  1755. 2006-05-11 Mike Bland <mbland@google.com>
  1756. * elf.c (_bfd_elf_init_private_section_data): Don't change
  1757. section type if already set.
  1758. 2006-05-10 Nick Clifton <nickc@redhat.com>
  1759. PR ld/2607
  1760. * elfcode.h (valid_section_index_p): New function: Checks for a
  1761. valid section index. Allows indicies in the range SHN_LOPROC to
  1762. SHN_HIOS.
  1763. (elf_object_p): Use valid_section_index_p.
  1764. 2006-05-11 Pedro Alves <pedro_alves@portugalmail.pt>
  1765. * coff-arm.c (ARM_26D, ARM_32, ARM_RVA_32, ARM_SECTION,
  1766. ARM_SECREL): Mark WinCE versions of these relocs as partial
  1767. inplace.
  1768. (coff_arm_relocate_section): Adjust addend for WinCE.
  1769. 2006-05-10 Alan Modra <amodra@bigpond.net.au>
  1770. PR 2342
  1771. * elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16.
  1772. 2006-05-09 Nick Clifton <nickc@redhat.com>
  1773. * coffcode.h (coff_write_relocs): Produce an error message if a an
  1774. out-of-range symbol index is detected in a reloc.
  1775. 2006-05-09 Ben Elliston <bje@au.ibm.com>
  1776. * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused
  1777. local variable `dynobj'.
  1778. 2006-05-05 Bjoern Haase <bjoern.m.haase@web.de>
  1779. * elf32-avr.c (elf32_avr_relax_delete_bytes): Iterate over all
  1780. of the bfd's sections for the reloc-addend adjustments.
  1781. 2006-05-05 Martin Schwidefsky <schwidefsky@de.ibm.com>
  1782. * elf32-s390.c (invalid_tls_insn): Call bfd_set_error.
  1783. (elf_s390_relocate_section): Add code to do the GD->LE and
  1784. LD->LE TLS linker optimizations if a brasl instruction is used
  1785. for the __tls_get_offset function call.
  1786. * elf64-s390.c (invalid_tls_insn): Call bfd_set_error.
  1787. 2006-05-05 Alan Modra <amodra@bigpond.net.au>
  1788. * elf64-ppc.c (ppc64_elf_tls_optimize): Only optimize
  1789. R_PPC64_TPREL64 and R_PPC64_DTPMOD64 relocs when they are in
  1790. the .toc and referenced by a TLS code sequence.
  1791. (ppc64_elf_edit_toc): Cater for the unlikely situation that
  1792. .toc is the first section in a file.
  1793. 2006-05-04 Andreas Schwab <schwab@suse.de>
  1794. * aoutf1.h (struct external_sparc_core): Declare c_regs as struct
  1795. regs instead of an array of int.
  1796. (struct external_solaris_bcp_core): Likewise.
  1797. (swapcore_sun3): Use offsetof instead of computing the offset
  1798. manually.
  1799. (swapcore_sparc): Likewise. Simplify reference to c_regs.
  1800. (swapcore_solaris_bcp): Likewise.
  1801. 2006-05-04 Daniel Jacobowitz <dan@codesourcery.com>
  1802. * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Adjust handling
  1803. for missing GOTs.
  1804. 2006-05-04 Daniel Jacobowitz <dan@codesourcery.com>
  1805. * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more
  1806. mapping symbols.
  1807. 2006-05-04 Ben Elliston <bje@au.ibm.com>
  1808. * coff-or32.c (bfd_section_from_shdr): Remove unused local
  1809. variable `ptr'.
  1810. * cofflink.c (process_embedded_commands): Remove unused local
  1811. variables `had_read' and `had_shared'.
  1812. * ecofflink.c (bfd_ecoff_debug_accumulate): Remove unused local
  1813. variable `fdr_adr'.
  1814. * ihex.c (ihex_read_section): Remove unused local variable `addr'.
  1815. 2006-05-03 Alan Modra <amodra@bigpond.net.au>
  1816. * libbfd-in.h (_bfd_generic_new_section_hook): Declare.
  1817. * section.c (bfd_abs_symbol, bfd_com_symbol): Delete.
  1818. (bfd_und_symbol, bfd_ind_symbol): Delete.
  1819. (BFD_FAKE_SECTION): Remove SYM_PTR param, set symbol_ptr_ptr to
  1820. &SEC.symbol.
  1821. (STD_SECTION): Adjust.
  1822. (_bfd_generic_new_section_hook): New function, extracted from..
  1823. (bfd_section_init): ..here.
  1824. (bfd_make_section_old_way): Call new_section_hook for abs, com,
  1825. und and ind sections.
  1826. * elf.c (_bfd_elf_large_com_section): Adjust.
  1827. * aoutx.h (new_section_hook): Call _bfd_generic_new_section_hook.
  1828. * pdp11.c (new_section_hook): Likewise.
  1829. * coffcode.h (coff_new_section_hook): Likewise.
  1830. * ecoff.c (_bfd_ecoff_new_section_hook): Likewise.
  1831. * elf.c (_bfd_elf_new_section_hook): Likewise.
  1832. * vms.c (vms_new_section_hook): Likwise.
  1833. * elf32-arm.c (elf32_arm_new_section_hook): Check used_by_bfd isn't
  1834. already set.
  1835. * elf32-sh64.c (sh64_elf_new_section_hook): Likewise.
  1836. * elf32-xtensa.c (elf_xtensa_new_section_hook): Likewise.
  1837. * elf64-mmix.c (mmix_elf_new_section_hook): Likewise.
  1838. * elf64-ppc.c (ppc64_elf_new_section_hook): Likewise.
  1839. * elfxx-mips.c (_bfd_mips_elf_new_section_hook): Likewise.
  1840. * elfxx-sparc.c (_bfd_sparc_elf_new_section_hook): Likewise.
  1841. * ieee.c (ieee_new_section_hook): Likewise. Call
  1842. _bfd_generic_new_section_hook too.
  1843. * mmo.c (mmo_new_section_hook): Likewise.
  1844. * oasys.c (oasys_new_section_hook): Likewise.
  1845. * som.c (som_new_section_hook): Likewise.
  1846. * coff-w65.c (reloc_processing): Don't use bfd_abs_symbol.
  1847. * bfd-in2.h: Regenerate.
  1848. * libbfd.h: Regenerate.
  1849. 2006-05-03 Alan Modra <amodra@bigpond.net.au>
  1850. * hash.c (DEFAULT_SIZE): Revert last change.
  1851. (higher_prime_number): Correct test for no larger prime. Don't
  1852. abort on error, instead return 0. Depopulate primes[].
  1853. (bfd_hash_lookup): If we overflow size, refuse to grow table.
  1854. 2006-05-02 Paul Brook <paul@codesourcery.com>
  1855. * elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit
  1856. for R_ARM_REL32.
  1857. 2006-05-02 Ben Elliston <bje@au.ibm.com>
  1858. * archive.c (bfd_generic_archive_p): Remove unused local variable
  1859. `fail'.
  1860. * dwarf2.c (decode_line_info): Remove unused local variable
  1861. `basic_block'.
  1862. * elfcode.h (elf_slurp_reloc_table_from_section): Remove unused
  1863. local variable `s'.
  1864. * tekhex.c (tekhex_write_object_contents): Remove unused local
  1865. variable `bytes_written'.
  1866. * aout-ns32k.c (MY_swap_std_reloc_out): Remove unused local
  1867. variable `r_addend'.
  1868. * elf32-dlx.c (dlx_rtype_to_howto): Remove breaks after returns.
  1869. * elfxx-mips.c (_bfd_elf_mips_mach): Remove breaks after returns.
  1870. (_bfd_ns32k_relocate_contents): Remove break after return.
  1871. * elf.c (bfd_section_from_shdr): Remove breaks after returns.
  1872. 2006-05-02 Nick Clifton <nickc@redhat.com>
  1873. * elf32-sh-symbian.c: Rename local define DEBUG to SYMBIAN_DEBUG
  1874. in order to avoid conflicts with the global DEBUG define.
  1875. 2006-05-02 Alan Modra <amodra@bigpond.net.au>
  1876. * dwarf2.c: Formatting.
  1877. * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Simplify
  1878. output section check.
  1879. * elf32-i370.c: Warning fixes inside #ifdef DEBUG.
  1880. * elf32-m32c.c: Similarly.
  1881. * elf32-ppc.c: Similarly.
  1882. * elf32-v850.c: Similarly.
  1883. * nlm32-sparc.c: Similarly.
  1884. * elfcode.h: Similarly.
  1885. (elf_symbol_flags): Delete.
  1886. * elflink.c (elf_link_input_bfd): Comment typo.
  1887. 2006-05-01 DJ Delorie <dj@redhat.com>
  1888. * bfd-in.h (bfd_hash_table): Add count field.
  1889. * bfd-in2.h: Regenerate.
  1890. * hash.c (higher_prime_number): New.
  1891. (bfd_hash_table_inint_n): Init count field.
  1892. (bfd_hash_lookup): Grow table as needed.
  1893. 2006-04-27 Kaz Kojima <kkojima@rr.iij4u.or.jp>
  1894. PR binutils/2584
  1895. * tekhex.c (getvalue): Change return type to bfd_boolean and
  1896. add the new parameter. Return false if the unexpected character
  1897. is found.
  1898. (getsym): Likewise.
  1899. (first_phase): Change return type to bfd_boolean and return
  1900. false if the unexpected character is found. Replace abort
  1901. with returning false.
  1902. (pass_over): Change return type to bfd_boolean and the type of
  1903. the second argument to bfd_boolean (*) (bfd *, int, char *).
  1904. Return false if FUNC returns false.
  1905. (tekhex_object_p): Return NULL if pass_over fails.
  1906. 2006-04-27 Alan Modra <amodra@bigpond.net.au>
  1907. * coff-rs6000.c (xcoff_write_archive_contents_old): Warning fix.
  1908. 2006-04-26 H.J. Lu <hongjiu.lu@intel.com>
  1909. PR binutils/2593
  1910. * elf.c (_bfd_elf_new_section_hook): Don't set section ELF type
  1911. and flags if its BFD flags have been set.
  1912. (_bfd_elf_init_private_section_data): Don't copy the output ELF
  1913. section type from input if it has been set to something
  1914. different.
  1915. 2006-04-25 H.J. Lu <hongjiu.lu@intel.com>
  1916. PR binutils/2467
  1917. * elf.c (_bfd_elf_close_and_cleanup): Check elf_tdata (abfd)
  1918. is NULL first.
  1919. * elf32-arm.c (elf32_arm_close_and_cleanup): Check if
  1920. abfd->sections is NULL.
  1921. (elf32_arm_bfd_free_cached_info): New.
  1922. (bfd_elf32_bfd_free_cached_info): Defined.
  1923. * elfxx-target.h (bfd_elfNN_bfd_free_cached_info): Default it
  1924. to _bfd_free_cached_info.
  1925. * libbfd-in.h (_bfd_free_cached_info): New.
  1926. * libbfd: Regenerated.
  1927. * opncls.c (_bfd_delete_bfd): Check if abfd->memory is NULL.
  1928. (_bfd_free_cached_info): New.
  1929. 2006-04-21 Alan Modra <amodra@bigpond.net.au>
  1930. * elf.c (assign_file_positions_except_relocs): Move code setting
  1931. file position of non-loaded sections..
  1932. (assign_file_positions_for_segments): ..to here.
  1933. 2006-04-20 H.J. Lu <hongjiu.lu@intel.com>
  1934. PR ld/2537
  1935. * elf.c (bfd_section_from_shdr): Allow sections reserved for
  1936. applications. Issue an error on sections we don't know how
  1937. to handle.
  1938. 2006-04-19 Alan Modra <amodra@bigpond.net.au>
  1939. * Makefile.am: Run "make dep-am".
  1940. * Makefile.in: Regenerate.
  1941. 2006-04-19 Alan Modra <amodra@bigpond.net.au>
  1942. * warning.m4 (--enable-werror): Format help message.
  1943. (--enable-build-warnings): Likewise.
  1944. * configure: Regenerate.
  1945. 2006-04-18 Nick Clifton <nickc@redhat.com>
  1946. PR 2257
  1947. * elfcode.h (elf_object_p): Allow files with corrupt e_shstrndx
  1948. fields to still be handled as ELF files.
  1949. 2006-04-16 Daniel Jacobowitz <dan@codesourcery.com>
  1950. * po/SRC-POTFILES.in: Regenerated.
  1951. 2006-04-16 Daniel Jacobowitz <dan@codesourcery.com>
  1952. * configure.in: Update version to 2.17.50.
  1953. * configure: Regenerated.
  1954. 2006-04-14 David Heine <dlheine@tensilica.com>
  1955. * elf32-xtensa.c (build_reloc_opcodes): New.
  1956. (compute_text_actions): Use it to decode opcodes outside inner loop.
  1957. (check_section_ebb_pcrels_fit): Add "reloc_opcodes" argument, and if
  1958. it is set, use it to get the opcodes for relocations.
  1959. (move_shared_literal): Adjust call to check_section_ebb_pcrels_fit.
  1960. 2006-04-08 H.J. Lu <hongjiu.lu@intel.com>
  1961. PR ld/2513
  1962. * elf32-i386.c (GOT_TLS_MASK): New macro for tls_type.
  1963. (GOT_TLS_IE_IE): Likewise.
  1964. (GOT_TLS_IE_GD): Likewise.
  1965. (GOT_TLS_IE_MASK): Likewise.
  1966. (elf_i386_check_relocs): For global symbols, set GOT_TLS_IE_GD
  1967. and GOT_TLS_IE_IE for R_386_TLS_GD and R_386_TLS_IE
  1968. respectively.
  1969. (allocate_dynrelocs): If both GOT_TLS_IE_IE and GOT_TLS_IE_GD
  1970. are set, treat tls_type as GOT_TLS_IE_BOTH.
  1971. (elf_i386_relocate_section): Likewise.
  1972. 2006-04-07 Randolph Chung <tausq@debian.org>
  1973. * elf64-hppa.c (elf64_hppa_grok_prstatus): New function.
  1974. (elf64_hppa_grok_psinfo): Likewise.
  1975. (elf_backend_grok_pstatus, elf_backend_grok_psinfo): Define.
  1976. 2006-04-06 DJ Delorie <dj@redhat.com>
  1977. * elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for
  1978. each plt entry we create.
  1979. 2006-04-06 Carlos O'Donell <carlos@codesourcery.com>
  1980. * po/Make-in: Add install-html target.
  1981. * Makefile.am: Rename docdir to bfddocdir. Add datarootdir, docdir
  1982. htmldir. Add install-html and install-html-recursive targets.
  1983. * Makefile.in: Regenerate.
  1984. * configure.in: AC_SUBST for datarootdir, docdir and htmldir.
  1985. * configure: Regenerate.
  1986. 2006-04-06 H.J. Lu <hongjiu.lu@intel.com>
  1987. * elfxx-ia64.c (elfNN_ia64_relax_section): Skip unneeded passes
  1988. with the skip_relax_pass_0 and skip_relax_pass_1 bits in the
  1989. section structure.
  1990. 2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
  1991. * elf32-bfin.c (bfinfdpic_relocs_info_hash): Sprinkle casts to
  1992. eliminate warnings.
  1993. 2006-04-05 H.J. Lu <hongjiu.lu@intel.com>
  1994. James E Wilson <wilson@specifixinc.com>
  1995. PR ld/2442
  1996. * elfxx-ia64.c (elfNN_ia64_dyn_sym_info): Remove next.
  1997. (elfNN_ia64_local_hash_entry): Add count, sorted_count and
  1998. size.
  1999. (elfNN_ia64_link_hash_entry): Likewise.
  2000. (elfNN_ia64_new_elf_hash_entry): Initialize count, sorted_count
  2001. and size.
  2002. (elfNN_ia64_hash_copy_indirect): Updated elfNN_ia64_dyn_sym_info
  2003. processing.
  2004. (elfNN_ia64_hash_hide_symbol): Likewise.
  2005. (elfNN_ia64_global_dyn_sym_thunk): Likewise.
  2006. (elfNN_ia64_local_dyn_sym_thunk): Likewise.
  2007. (elfNN_ia64_global_dyn_info_free): New function.
  2008. (elfNN_ia64_local_dyn_info_free): Likewise.
  2009. (elfNN_ia64_hash_table_free): Free local and global
  2010. elfNN_ia64_dyn_sym_info.
  2011. (addend_compare): New function.
  2012. (sort_dyn_sym_info): Likewise.
  2013. (get_dyn_sym_info): Updated to use binary search for addend.
  2014. (elfNN_ia64_check_relocs): Scan relocations to create dynamic
  2015. relocation arrays first.
  2016. 2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
  2017. * elf32-bfin.c (_bfin_create_got_section): Don't generate a _gp
  2018. symbol.
  2019. 2006-04-05 H.J. Lu <hongjiu.lu@intel.com>
  2020. PR ld/2411
  2021. * elflink.c (check_dynsym): New.
  2022. (elf_link_output_extsym): Use it.
  2023. (bfd_elf_final_link): Likewise.
  2024. 2006-04-05 H.J. Lu <hongjiu.lu@intel.com>
  2025. PR ld/2404
  2026. * elflink.c (_bfd_elf_merge_symbol): Skip the default indirect
  2027. symbol from the dynamic definition with the default version if
  2028. its type and the type of existing regular definition mismatch.
  2029. 2006-04-05 Richard Sandiford <richard@codesourcery.com>
  2030. Daniel Jacobowitz <dan@codesourcery.com>
  2031. * config.bfd (sparc-*-vxworks*): New stanza.
  2032. * configure.in (bfd_elf32_sparc_vxworks_vec): New stanza.
  2033. (bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo.
  2034. * configure: Regenerate.
  2035. * elf32-sparc.c: Include elf-vxworks.h.
  2036. (elf32_sparc_vxworks_link_hash_table_create: New.
  2037. (elf32_sparc_vxworks_final_write_processing): New.
  2038. (TARGET_BIG_SYM): Override for VxWorks.
  2039. (TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise.
  2040. (bfd_elf32_bfd_link_hash_table_create): Likewise.
  2041. (elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise.
  2042. (elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise.
  2043. (elf_backend_link_output_symbol_hook): Likewise.
  2044. (elf_backend_emit_relocs): Likewise.
  2045. (elf_backend_final_write_processing, elf32_bed): Likewise.
  2046. * elfxx-sparc.c: Include libiberty.h and elf-vxworks.h.
  2047. (sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New.
  2048. (sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New.
  2049. (_bfd_sparc_elf_link_hash_table_create): Don't initialize
  2050. build_plt_entry here.
  2051. (create_got_section): Initialize sgotplt for VxWorks.
  2052. (_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry,
  2053. plt_header_size and plt_entry_size, with new VxWorks-specific settings.
  2054. Call elf_vxworks_create_dynamic_sections for VxWorks.
  2055. (allocate_dynrelocs): Use plt_header_size and plt_entry_size.
  2056. Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks.
  2057. (_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt
  2058. for VxWorks. Check for the .got.plt section.
  2059. (sparc_vxworks_build_plt_entry): New function.
  2060. (_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs.
  2061. Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_
  2062. absolute on VxWorks.
  2063. (sparc32_finish_dyn): Add special handling for DT_RELASZ
  2064. and DT_PLTGOT on VxWorks.
  2065. (sparc_vxworks_finish_exec_plt): New.
  2066. (sparc_vxworks_finish_shared_plt): New.
  2067. (_bfd_sparc_elf_finish_dynamic_sections): Call them.
  2068. Use plt_header_size and plt_entry_size.
  2069. * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks,
  2070. srelplt2, sgotplt, plt_header_size and plt_entry_size fields.
  2071. * Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h.
  2072. (elf32-sparc.lo): Likewise.
  2073. * Makefile.in: Regenerate.
  2074. * targets.c (bfd_elf32_sparc_vxworks_vec): Declare.
  2075. (_bfd_target_vector): Add a pointer to it.
  2076. 2006-03-30 Ben Elliston <bje@au.ibm.com>
  2077. PR ld/2267
  2078. * elflink.c (elf_fixup_link_order): Ensure `elfsec' is not a
  2079. special section number that exceeds the number of ELF sections
  2080. (eg. SHN_MIPS_SCOMMON).
  2081. 2006-03-27 Richard Sandiford <richard@codesourcery.com>
  2082. * elfxx-mips.c (mips_got_entry): Add more commentary.
  2083. (mips_elf_local_got_index): Use the hash table entry to record
  2084. the GOT index of forced-local symbols.
  2085. (mips_elf_initialize_tls_index): Rearrange code. Store the index
  2086. in either the hash table entry or the mips_got_entry, not both.
  2087. Add more commentary.
  2088. (mips_elf_multi_got): Make sure the g->next is nonnull when calling
  2089. mips_elf_initialize_tls_index.
  2090. 2006-03-25 Bernd Schmidt <bernd.schmidt@analog.com>
  2091. * elf32-bfin.c (bfd_const_reloc, bfd_oper_reloc, bfin_push_reloc,
  2092. RELOC_STACK_SIZE, reloc_stack, reloc_stack_tos, is_reloc_stack_empty,
  2093. reloc_stack_push, reloc_stack_pop, reloc_stack_operate,
  2094. bfin_areloc_howto_table): Delete. All
  2095. uses deleted as well.
  2096. (bfin_reloc_map): Delete all stack relocs.
  2097. (bfin_info_to_howto, bfin_bfd_reloc_type_lookup,
  2098. bfin_reloc_type_lookup): Don't support them.
  2099. (bfin_relocate_section): Don't try to handle them.
  2100. * config.bfd (bfin-*-*): Add bfd_elf32_bfinfdpic_vec.
  2101. * configure.in: Likewise.
  2102. * configure: Regenerate.
  2103. * elf32-bfin.c: Include "elf/dwarf2.h" and "hashtab.h".
  2104. (BFIN_RELOC_MAX): Now 0x21.
  2105. (bfin_howto_table, bfin_reloc_map): Add FD-PIC relocs.
  2106. (bfd_elf32_bfinfdpic_vec): Declare.
  2107. (IS_FDPIC): New macro.
  2108. (struct bfinfdpic_elf_link_hash_table): New struct.
  2109. (bfinfdpic_hash_table, bfinfdpic_got_section,
  2110. bfinfdpic_gotrel_section, bfinfdpic_gotfixup_section,
  2111. bfinfdpic_plt_setion, bfinfdpic_pltrel_section,
  2112. bfinfdpic_relocs_info, bfinfdpic_got_initial_offset,
  2113. bfinfdpic_plt_initial_offset): Accessor macros for it.
  2114. (BFINFDPIC_SYM_LOCAL, BFINFDPIC_FUNCDESC_LOCAL): New macros.
  2115. (struct bfinfdpic_relocs_info): New struct.
  2116. (LZPLT_RESOLVER_EXTRA, LZPLT_NORMAL_SIZE, LZPLT_ENTRIES,
  2117. BFINFDPIC_LZPLT_BLOCK_SIZE, BFINFDPIC_LZPLT_RESOLV_LOC,
  2118. DEFAULT_STACK_SIZE): New macros.
  2119. (bfinfdpic_elf_link_hash_table_create, bfinfdpic_relocs_info_hash,
  2120. bfinfdpic_relocs_info_eq, bfinfdpics_relocs_info_find,
  2121. bfinfdpic_relocs_info_for_global, bfinfdpic_relocs_info_for_local,
  2122. bfinfdpic_pic_merge_early_relocs_info, _bfinfdpic_add_dyn_reloc,
  2123. _bfinfdpic_add_rofixup, _bfinfdpic_osec_to_segment,
  2124. _bfinfdpic_osec_readonly_p, bfinfdpic_relocate_section,
  2125. bfinfdpic_check_relocs, bfinfdpic_gc_sweep_hook,
  2126. _bfinfdpic_link_omit_section_dynsym, _bfin_create_got_section,
  2127. elf32_bfinfdpic_create_dynamic_sections, _bfinfdpic_get_fd_entry,
  2128. _bfinfdpic_compute_got_alloc_data, _bfinfdpic_get_got_entry,
  2129. _bfinfdpic_assign_got_entries, _bfinfdpic_assign_plt_entries,
  2130. _bfinfdpic_resolve_final_relocs_info,
  2131. elf32_bfinfdpic_size_dynamic_sections,
  2132. elf32_bfinfdpic_always_size_sections,
  2133. elf32_bfinfdpic_modify_segment_map,
  2134. _bfinfdpic_count_got_plt_entries,
  2135. elf32_bfinfdpic_finish_dynamic_sections,
  2136. elf32_bfinfdpic_adjust_dynamic_symbol,
  2137. elf32_bfinfdpic_finish_dynamic_symbol,
  2138. elf32_bfinfdpic_elf_use_relative_eh_frame,
  2139. elf32_bfinfdpic_elf_encode_eh_address,
  2140. elf32_bfin_object_p, bfin_elf_copy_private_bfd_data,
  2141. elf32_bfinfdpic_copy_private_bfd_data,
  2142. (struct _bfinfdpic_dynamic_got_info,
  2143. struct _bfinfdpic_dynamic_got_plt_info): New structs.
  2144. (elf32_bfin_print_private_bfd_data): Print PIC flags.
  2145. (elf32_bfin_merge_private_bfd_data): Extend to support FD-PIC.
  2146. (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, elf32_bed,
  2147. elf_backend_got_header_size, bfd_elf32_bfd_link_hash_table_create,
  2148. elf_backend_always_size_sectinos, elf_backend_modify_segment_map,
  2149. bfd_elf32_bfd_copy_private_bfd_data,
  2150. elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
  2151. elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol,
  2152. elf_backend_finish_dynamic_sections, elf_backend_relocate_section,
  2153. elf_backend_can_make_relative_eh_frame, elf_backend_check_relocs,
  2154. elf_backend_can_make_ldsa_relative_eh_frame, elf_backend_may_use_rel_p,
  2155. elf_backend_may_use_rela_p, elf_backend_default_use_rela_p,
  2156. elf_backend_omit_section_dynsym): Redefine these macros and include
  2157. "elf32-target.h" again to create the elf32-bfinfdpic target.
  2158. * reloc.c (BFD_RELOC_BFIN_GOT17M4, BFD_RELOC_BFIN_GOTHI,
  2159. BFD_RELOC_BFIN_GOTLO, BFD_RELOC_BFIN_FUNCDESC,
  2160. BFD_RELOC_BFIN_FUNCDESC_GOT17M4, BFD_RELOC_BFIN_FUNCDESC_GOTHI,
  2161. BFD_RELOC_BFIN_FUNCDESC_GOTLO, BFD_RELOC_BFIN_FUNCDESC_VALUE,
  2162. BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI,
  2163. BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, BFD_RELOC_BFIN_GOTOFFHI,
  2164. BFD_RELOC_BFIN_GOTOFFLO): New.
  2165. * targets.c (bfd_elf32_bfinfdpic_vec): New bfd_target.
  2166. (_bfd_target_vector): Add it.
  2167. * bfd-in2.h: Regenerate.
  2168. * libbfd.h: Regenerate.
  2169. 2006-03-25 Richard Sandiford <richard@codesourcery.com>
  2170. * cpu-m68k.c (bfd_m68k_compatible): Treat ISA A+ and ISA B code as
  2171. incompatible. Likewise MAC and EMAC code.
  2172. * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Use
  2173. bfd_get_compatible to set the new bfd architecture. Rely on it
  2174. to detect incompatibilities.
  2175. 2006-03-23 Michael Matz <matz@suse.de>
  2176. * reloc.c: Add BFD_RELOC_X86_64_GOT64, BFD_RELOC_X86_64_GOTPCREL64,
  2177. BFD_RELOC_X86_64_GOTPC64, BFD_RELOC_X86_64_GOTPLT64,
  2178. BFD_RELOC_X86_64_PLTOFF64.
  2179. * bfd-in2.h: Regenerated.
  2180. * libbfd.h: Regenerated.
  2181. * elf64-x86-64.c (x86_64_elf_howto_table): Correct comment.
  2182. Add howtos for above relocs.
  2183. (x86_64_reloc_map): Add mappings for new relocs.
  2184. (elf64_x86_64_check_relocs): R_X86_64_GOT64, R_X86_64_GOTPCREL64,
  2185. R_X86_64_GOTPLT64 need a got entry. R_X86_64_GOTPLT64 also a PLT
  2186. entry. R_X86_64_GOTPC64 needs a .got section. R_X86_64_PLTOFF64
  2187. needs a PLT entry.
  2188. (elf64_x86_64_gc_sweep_hook): Reflect changes from
  2189. elf64_x86_64_check_relocs for the new relocs.
  2190. (elf64_x86_64_relocate_section): Handle new relocs.
  2191. 2006-03-22 Bob Wilson <bob.wilson@acm.org>
  2192. * elf32-xtensa.c (xtensa_read_table_entries): Remove assertion that
  2193. rel->r_addend is zero.
  2194. 2006-03-22 Richard Sandiford <richard@codesourcery.com>
  2195. * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Fix type
  2196. of "loc".
  2197. 2006-03-22 Richard Sandiford <richard@codesourcery.com>
  2198. Daniel Jacobowitz <dan@codesourcery.com>
  2199. Phil Edwards <phil@codesourcery.com>
  2200. Zack Weinberg <zack@codesourcery.com>
  2201. Mark Mitchell <mark@codesourcery.com>
  2202. Nathan Sidwell <nathan@codesourcery.com>
  2203. * bfd-in2.h: Regenerate.
  2204. * config.bfd (mips*-*-vxworks*, mips*el-*-vxworks*): New stanzas.
  2205. * configure.in (bfd_elf32_bigmips_vxworks_vec): New stanza.
  2206. (bfd_elf32_littlemips_vxworks_vec): Likewise.
  2207. (bfd_elf32_bigmips_vec): Add elf-vxworks.lo.
  2208. (bfd_elf32_littlemips_vec): Likewise.
  2209. (bfd_elf32_nbigmips_vec): Likewise.
  2210. (bfd_elf32_nlittlemips_vec): Likewise.
  2211. (bfd_elf32_ntradbigmips_vec): Likewise.
  2212. (bfd_elf32_ntradlittlemips_vec): Likewise.
  2213. (bfd_elf32_tradbigmips_vec): Likewise.
  2214. (bfd_elf32_tradlittlemips_vec): Likewise.
  2215. (bfd_elf64_bigmips_vec): Likewise.
  2216. (bfd_elf64_littlemips_vec): Likewise.
  2217. (bfd_elf64_tradbigmips_vec): Likewise.
  2218. (bfd_elf64_tradlittlemips_vec): Likewise.
  2219. * elf32-mips.c: Include elf-vxworks.h.
  2220. (mips_info_to_howto_rel): Use elf_backend_mips_rtype_to_howto
  2221. instead of calling mips_elf32_rtype_to_howto directly.
  2222. (mips_vxworks_copy_howto_rela): New reloc howto.
  2223. (mips_vxworks_jump_slot_howto_rela): Likewise.
  2224. (mips_vxworks_bfd_reloc_type_lookup): New function.
  2225. (mips_vxworks_rtype_to_howto): Likewise.
  2226. (mips_vxworks_final_write_processing): Likewise.
  2227. (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Override for VxWorks.
  2228. (TARGET_BIG_SYM, TARGET_BIG_NAME, elf_bed, ELF_MAXPAGESIZE): Likewise.
  2229. (elf_backend_want_got_plt): Likewise.
  2230. (elf_backend_want_plt_sym): Likewise.
  2231. (elf_backend_got_symbol_offset): Likewise.
  2232. (elf_backend_want_dynbss): Likewise.
  2233. (elf_backend_may_use_rel_p): Likewise.
  2234. (elf_backend_may_use_rela_p): Likewise.
  2235. (elf_backend_default_use_rela_p): Likewise.
  2236. (elf_backend_got_header_size: Likewise.
  2237. (elf_backend_plt_readonly): Likewise.
  2238. (bfd_elf32_bfd_reloc_type_lookup): Likewise.
  2239. (elf_backend_mips_rtype_to_howto): Likewise.
  2240. (elf_backend_adjust_dynamic_symbol): Likewise.
  2241. (elf_backend_finish_dynamic_symbol): Likewise.
  2242. (bfd_elf32_bfd_link_hash_table_create): Likewise.
  2243. (elf_backend_add_symbol_hook): Likewise.
  2244. (elf_backend_link_output_symbol_hook): Likewise.
  2245. (elf_backend_emit_relocs): Likewise.
  2246. (elf_backend_final_write_processing: Likewise.
  2247. (elf_backend_additional_program_headers): Likewise.
  2248. (elf_backend_modify_segment_map): Likewise.
  2249. (elf_backend_symbol_processing): Likewise.
  2250. * elfxx-mips.c: Include elf-vxworks.h.
  2251. (mips_elf_link_hash_entry): Add is_relocation_target and
  2252. is_branch_target fields.
  2253. (mips_elf_link_hash_table): Add is_vxworks, srelbss, sdynbss, srelplt,
  2254. srelplt2, sgotplt, splt, plt_header_size and plt_entry_size fields.
  2255. (MIPS_ELF_RELA_SIZE, MIPS_ELF_REL_DYN_NAME): New macros.
  2256. (MIPS_RESERVED_GOTNO): Take a mips_elf_link_hash_table argument.
  2257. Return 3 for VxWorks.
  2258. (ELF_MIPS_GP_OFFSET): Change the argument from a bfd to a
  2259. mips_elf_link_hash_table. Return 0 for VxWorks.
  2260. (MIPS_ELF_GOT_MAX_SIZE): Change the argument from a bfd to a
  2261. mips_elf_link_hash_table. Update the call to ELF_MIPS_GP_OFFSET.
  2262. (mips_vxworks_exec_plt0_entry): New variable.
  2263. (mips_vxworks_exec_plt_entry): Likewise.
  2264. (mips_vxworks_shared_plt0_entry): Likewise.
  2265. (mips_vxworks_shared_plt_entry): Likewise.
  2266. (mips_elf_link_hash_newfunc): Initialize the new hash_entry fields.
  2267. (mips_elf_rel_dyn_section): Change the bfd argument to a
  2268. mips_elf_link_hash_table. Use MIPS_ELF_REL_DYN_NAME to get
  2269. the name of the section.
  2270. (mips_elf_initialize_tls_slots): Update the call to
  2271. mips_elf_rel_dyn_section.
  2272. (mips_elf_gotplt_index): New function.
  2273. (mips_elf_local_got_index): Add an input_section argument.
  2274. Update the call to mips_elf_create_local_got_entry.
  2275. (mips_elf_got_page): Likewise.
  2276. (mips_elf_got16_entry): Likewise.
  2277. (mips_elf_create_local_got_entry): Add bfd_link_info and input_section
  2278. arguments. Create dynamic relocations for each entry on VxWorks.
  2279. (mips_elf_merge_gots): Update the use of MIPS_ELF_GOT_MAX_SIZE.
  2280. (mips_elf_multi_got): Update the uses of MIPS_ELF_GOT_MAX_SIZE
  2281. and MIPS_RESERVED_GOTNO.
  2282. (mips_elf_create_got_section): Update the uses of
  2283. MIPS_ELF_GOT_MAX_SIZE. Create .got.plt on VxWorks.
  2284. (is_gott_symbol): New function.
  2285. (mips_elf_calculate_relocation): Use a dynobj local variable.
  2286. Update the calls to mips_elf_local_got_index, mips_elf_got16_entry and
  2287. mips_elf_got_page_entry. Set G to the .got.plt entry when calculating
  2288. VxWorks R_MIPS_CALL* relocations. Calculate and use G for all GOT
  2289. relocations on VxWorks. Add dynamic relocations for references
  2290. to the VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Don't
  2291. create dynamic relocations for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64
  2292. in VxWorks executables.
  2293. (mips_elf_allocate_dynamic_relocations): Add a bfd_link_info argument.
  2294. Use MIPS_ELF_RELA_SIZE to calculate the size of a VxWorks entry.
  2295. Don't allocate a null entry on VxWorks.
  2296. (mips_elf_create_dynamic_relocation): Update the call to
  2297. mips_elf_rel_dyn_section. Use absolute rather than relative
  2298. relocations for VxWorks, and make them RELA rather than REL.
  2299. (_bfd_mips_elf_create_dynamic_sections): Don't make .dynamic
  2300. read-only on VxWorks. Update the call to mips_elf_rel_dyn_section.
  2301. Create the .plt, .rela.plt, .dynbss and .rela.bss sections on
  2302. VxWorks. Likewise create the _PROCEDURE_LINKAGE_TABLE symbol.
  2303. Call elf_vxworks_create_dynamic_sections for VxWorks and
  2304. initialize the plt_header_size and plt_entry_size fields.
  2305. (_bfd_mips_elf_check_relocs): Don't allow GOT relocations to be
  2306. used in VxWorks executables. Don't allocate dynamic relocations
  2307. for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 in VxWorks executables.
  2308. Set is_relocation_target for each symbol referenced by a relocation.
  2309. Allocate .rela.dyn entries for relocations against the special
  2310. VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Create GOT
  2311. entries for all VxWorks R_MIPS_GOT16 relocations. Don't allocate
  2312. a global GOT entry for symbols mentioned in VxWorks R_MIPS_CALL*,
  2313. R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 relocations. Update the calls
  2314. to mips_elf_rel_dyn_section and mips_elf_allocate_dynamic_relocations.
  2315. Set is_branch_target for symbols mentioned in R_MIPS_PC16 or R_MIPS_26
  2316. relocations. Don't set no_fn_stub on VxWorks.
  2317. (_bfd_mips_elf_adjust_dynamic_symbol): Update the call to
  2318. mips_elf_allocate_dynamic_relocations.
  2319. (_bfd_mips_vxworks_adjust_dynamic_symbol): New function.
  2320. (_bfd_mips_elf_always_size_sections): Do not allocate GOT page
  2321. entries for VxWorks, and do not create multiple GOTs.
  2322. (_bfd_mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_NAME.
  2323. Handle .got specially for VxWorks. Update the uses of
  2324. MIPS_RESERVED_GOTNO and mips_elf_allocate_dynamic_relocations.
  2325. Check for sgotplt and splt. Allocate the .rel(a).dyn contents last,
  2326. once its final size is known. Set DF_TEXTREL for VxWorks. Add
  2327. DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, DT_PLTRELSZ and DT_JMPREL
  2328. tags on VxWorks. Do not add the MIPS-specific tags for VxWorks.
  2329. (_bfd_mips_vxworks_finish_dynamic_symbol): New function.
  2330. (mips_vxworks_finish_exec_plt): Likewise.
  2331. (mips_vxworks_finish_shared_plt): Likewise.
  2332. (_bfd_mips_elf_finish_dynamic_sections): Remove an unncessary call
  2333. to mips_elf_rel_dyn_section. Use a VxWorks-specific value of
  2334. DT_PLTGOT. Handle DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL,
  2335. DT_PLTRELSZ and DT_JMPREL. Update the uses of MIPS_RESERVED_GOTNO
  2336. and mips_elf_rel_dyn_section. Use a different GOT header for
  2337. VxWorks. Don't sort .rela.dyn on VxWorks. Finish the PLT on VxWorks.
  2338. (_bfd_mips_elf_link_hash_table_create): Initialize the new
  2339. mips_elf_link_hash_table fields.
  2340. (_bfd_mips_vxworks_link_hash_table_create): New function.
  2341. (_bfd_mips_elf_final_link): Set the GP value to _GLOBAL_OFFSET_TABLE_
  2342. on VxWorks. Update the call to ELF_MIPS_GP_OFFSET.
  2343. * elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Declare.
  2344. (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
  2345. (_bfd_mips_vxworks_link_hash_table_create): Likewise.
  2346. * libbfd.h: Regenerate.
  2347. * Makefile.am (elfxx-mips.lo): Depend on elf-vxworks.h.
  2348. (elf32-mips.lo): Likewise.
  2349. * Makefile.in: Regenerate.
  2350. * reloc.c (BFD_RELOC_MIPS_COPY, BFD_RELOC_MIPS_JUMP_SLOT): Declare.
  2351. * targets.c (bfd_elf32_bigmips_vxworks_vec): Declare.
  2352. (bfd_elf32_littlemips_vxworks_vec): Likewise.
  2353. (_bfd_target_vector): Add entries for them.
  2354. 2006-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
  2355. * elf64-hppa.c (elf64_hppa_special_sections): Change flags for .tbss
  2356. section from SHF_PARISC_WEAKORDER to SHF_HP_TLS.
  2357. (elf_backend_special_sections): Remove #undef.
  2358. 2006-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
  2359. * elf64-hppa.c (allocate_global_data_opd): Don't create an OPD entry
  2360. for undefined weak symbols.
  2361. 2006-03-17 Daniel Jacobowitz <dan@codesourcery.com>
  2362. PR ld/2462
  2363. * elflink.c (bfd_elf_final_link): Remove
  2364. bed->elf_backend_emit_relocs from emit_relocs.
  2365. 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
  2366. * elf32-ppc.c (ppc_elf_relocate_section): Copy addend from
  2367. first relocation to the second when relaxing TLS GD to LE;
  2368. zero it out when relaxing to IE.
  2369. 2006-03-17 Alan Modra <amodra@bigpond.net.au>
  2370. PR 2434
  2371. * elflink.c (elf_link_add_object_symbols): Save and restore
  2372. warning sym's linked sym.
  2373. 2006-03-16 Alan Modra <amodra@bigpond.net.au>
  2374. PR 2434
  2375. * elflink.c (struct elf_smash_syms_data, elf_smash_syms): Delete.
  2376. (elf_link_add_object_symbols): Delete unnecessary locals. Rename
  2377. hash_table -> htab. Formatting. Save entire symbol table
  2378. before loading as-needed syms, and restore afterwards if lib not
  2379. needed. Use bfd_hash_allocate rather than bfd_alloc for sym
  2380. name. Free some buffers earlier.
  2381. * bfd-in.h (struct bfd_hash_table): Add entsize.
  2382. (bfd_hash_table_init, bfd_hash_table_init_n): Adjust prototype.
  2383. * elf-bfd.h (_bfd_elf_link_hash_table_init): Likewise
  2384. * hash.c (bfd_hash_table_init_n): Add entsize param, save to
  2385. hash table.
  2386. (bfd_hash_table_init): Add param, adjust calls.
  2387. * aoutx.h: Adjust all hash_table_init functions and calls.
  2388. * bfd.c: Likewise.
  2389. * coff-arm.c: Likewise.
  2390. * coff-h8300.c: Likewise.
  2391. * coff-ppc.c: Likewise.
  2392. * cofflink.c: Likewise.
  2393. * ecoff.c: Likewise.
  2394. * ecofflink.c: Likewise.
  2395. * elf-m10300.c: Likewise.
  2396. * elf-strtab.c: Likewise.
  2397. * elf.c: Likewise.
  2398. * elf32-arm.c: Likewise.
  2399. * elf32-bfin.c: Likewise.
  2400. * elf32-cris.c: Likewise.
  2401. * elf32-frv.c: Likewise.
  2402. * elf32-hppa.c: Likewise.
  2403. * elf32-i386.c: Likewise.
  2404. * elf32-m32r.c: Likewise.
  2405. * elf32-m68hc1x.c: Likewise.
  2406. * elf32-m68k.c: Likewise.
  2407. * elf32-ppc.c: Likewise.
  2408. * elf32-s390.c: Likewise.
  2409. * elf32-sh.c: Likewise.
  2410. * elf32-vax.c: Likewise.
  2411. * elf64-alpha.c: Likewise.
  2412. * elf64-hppa.c: Likewise.
  2413. * elf64-ppc.c: Likewise.
  2414. * elf64-s390.c: Likewise.
  2415. * elf64-sh64.c: Likewise.
  2416. * elf64-x86-64.c: Likewise.
  2417. * elfxx-ia64.c: Likewise.
  2418. * elfxx-mips.c: Likewise.
  2419. * elfxx-sparc.c: Likewise.
  2420. * i386linux.c: Likewise.
  2421. * libaout.h: Likewise.
  2422. * libbfd-in.h: Likewise.
  2423. * libcoff-in.h: Likewise.
  2424. * linker.c: Likewise.
  2425. * m68klinux.c: Likewise.
  2426. * merge.c: Likewise.
  2427. * opncls.c: Likewise.
  2428. * pdp11.c: Likewise.
  2429. * sparclinux.c: Likewise.
  2430. * stabs.c: Likewise.
  2431. * sunos.c: Likewise.
  2432. * vms.c: Likewise.
  2433. * xcofflink.c: Likewise.
  2434. * section.c (struct section_hash_entry): Move to..
  2435. * libbfd-in.h: ..here.
  2436. * Makefile.am: Run "make dep-am"
  2437. * Makefile.in: Regenerate.
  2438. * bfd-in2.h: Regenerate.
  2439. * libbfd.h: Regenerate.
  2440. * libcoff.h: Regenerate.
  2441. 2006-03-16 Alan Modra <amodra@bigpond.net.au>
  2442. * elf32-ppc.c (ppc_elf_check_relocs): REL24 and REL14 relocs
  2443. against __GLOBAL_OFFSET_TABLE__ need never be dynamic. Tweak
  2444. last change to REL32 relocs so that they are counted as
  2445. possibly dynamic as per REL24 and REL14.
  2446. 2006-03-16 Alan Modra <amodra@bigpond.net.au>
  2447. * elf32-ppc.c (ppc_elf_check_relocs): Don't fall into REL24
  2448. checks from REL32.
  2449. 2006-03-15 Ben Elliston <bje@au.ibm.com>
  2450. * elf32-arm.c (elf32_arm_merge_eabi_attributes): Iterate over all
  2451. in_list elements, not just the first.
  2452. 2006-03-14 Richard Sandiford <richard@codesourcery.com>
  2453. * elf32-mips.c (mips_elf_adjust_addend): New function, mostly split
  2454. out from...
  2455. (_bfd_mips_elf_relocate_section): ...here. Use it to adjust r_addend
  2456. for final links too.
  2457. 2006-03-13 Richard Sandiford <richard@codesourcery.com>
  2458. * elfxx-mips.c (mips_elf_create_got_section): Initialize hgot.
  2459. 2006-03-11 H.J. Lu <hongjiu.lu@intel.com>
  2460. PR ld/2443
  2461. * dwarf2.c (concat_filename): Don't issue an error if file is 0.
  2462. 2006-03-10 Paul Brook <paul@codesourcery.com>
  2463. * elf32-arm.c (INTERWORK_FLAG): Handle EABIv5.
  2464. (elf32_arm_print_private_bfd_data): Ditto.
  2465. 2006-03-09 Paul Brook <paul@codesourcery.com>
  2466. * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional
  2467. mapping symbols.
  2468. 2006-03-09 Khem Raj <khem@mvista.com>
  2469. * elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned
  2470. char type.
  2471. 2006-03-08 H.J. Lu <hongjiu.lu@intel.com>
  2472. * elfxx-ia64.c (elfNN_ia64_choose_gp): Properly choose gp.
  2473. 2006-03-07 Richard Sandiford <richard@codesourcery.com>
  2474. Daniel Jacobowitz <dan@codesourcery.com>
  2475. Zack Weinberg <zack@codesourcery.com>
  2476. Nathan Sidwell <nathan@codesourcery.com>
  2477. Paul Brook <paul@codesourcery.com>
  2478. Ricardo Anguiano <anguiano@codesourcery.com>
  2479. Phil Edwards <phil@codesourcery.com>
  2480. * configure.in (bfd_elf32_bigarm_vec): Include elf-vxworks.lo.
  2481. (bfd_elf32_bigarm_symbian_vec): Likewise.
  2482. (bfd_elf32_bigarm_vxworks_vec): Likewise.
  2483. (bfd_elf32_littlearm_vec): Likewise.
  2484. (bfd_elf32_littlearm_symbian_vec): Likewise.
  2485. (bfd_elf32_littlearm_vxworks_vec): Likewise.
  2486. * configure: Regenerate.
  2487. * elf32-arm.c: Include libiberty.h and elf-vxworks.h.
  2488. (RELOC_SECTION, RELOC_SIZE, SWAP_RELOC_IN, SWAP_RELOC_OUT): New macros.
  2489. (elf32_arm_vxworks_bed): Add forward declaration.
  2490. (elf32_arm_howto_table_1): Fix the masks for R_ASM_ABS12.
  2491. (elf32_arm_vxworks_exec_plt0_entry): New table.
  2492. (elf32_arm_vxworks_exec_plt_entry): Likewise.
  2493. (elf32_arm_vxworks_shared_plt_entry): Likewise.
  2494. (elf32_arm_link_hash_table): Add vxworks_p and srelplt2 fields.
  2495. (reloc_section_p): New function.
  2496. (create_got_section): Use RELOC_SECTION.
  2497. (elf32_arm_create_dynamic_sections): Likewise. Call
  2498. elf_vxworks_create_dynamic_sections for VxWorks targets.
  2499. Choose between the two possible values of plt_header_size
  2500. and plt_entry_size.
  2501. (elf32_arm_link_hash_table_create): Initialize vxworks_p and srelplt2.
  2502. (elf32_arm_abs12_reloc): New function.
  2503. (elf32_arm_final_link_relocate): Call it. Allow the creation of
  2504. dynamic R_ARM_ABS12 relocs on VxWorks. Use reloc_section_p,
  2505. RELOC_SIZE, SWAP_RELOC_OUT and RELOC_SECTION. Initialize the
  2506. r_addend fields of relocs. On rela targets, skip any code that
  2507. adjusts in-place addends. When using _bfd_link_final_relocate
  2508. to perform a final relocation, pass rel->r_addend as the addend
  2509. argument.
  2510. (elf32_arm_merge_private_bfd_data): If one of the bfds is a VxWorks
  2511. object, ignore flags that are not standard on VxWorks.
  2512. (elf32_arm_check_relocs): Allow the creation of dynamic R_ARM_ABS12
  2513. relocs on VxWorks. Use reloc_section_p.
  2514. (elf32_arm_adjust_dynamic_symbol): Use RELOC_SECTION and RELOC_SIZE.
  2515. (allocate_dynrelocs): Use RELOC_SIZE. Account for the size of
  2516. .rela.plt.unloaded relocs on VxWorks targets.
  2517. (elf32_arm_size_dynamic_sections): Use RELOC_SIZE. Check for
  2518. .rela.plt.unloaded as well as .rel(a).plt. Add DT_RELA* tags
  2519. instead of DT_REL* tags on RELA targets.
  2520. (elf32_arm_finish_dynamic_symbol): Use RELOC_SECTION, RELOC_SIZE
  2521. and SWAP_RELOC_OUT. Initialize r_addend fields. Handle VxWorks
  2522. PLT entries. Do not make _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
  2523. (elf32_arm_finish_dynamic_sections): Use RELOC_SECTION, RELOC_SIZE
  2524. and SWAP_RELOC_OUT. Initialize r_addend fields. Handle DT_RELASZ
  2525. like DT_RELSZ. Handle the VxWorks form of initial PLT entry.
  2526. Correct the .rela.plt.unreloaded symbol indexes.
  2527. (elf32_arm_output_symbol_hook): Call the VxWorks version of this
  2528. hook on VxWorks targets.
  2529. (elf32_arm_vxworks_link_hash_table_create): Set vxworks_p to true.
  2530. Minor formatting tweak.
  2531. (elf32_arm_vxworks_final_write_processing): New function.
  2532. (elf_backend_add_symbol_hook): Override for VxWorks and reset
  2533. for Symbian.
  2534. (elf_backend_final_write_processing): Likewise.
  2535. (elf_backend_emit_relocs): Likewise.
  2536. (elf_backend_want_plt_sym): Likewise.
  2537. (ELF_MAXPAGESIZE): Likewise.
  2538. (elf_backend_may_use_rel_p): Minor formatting tweak.
  2539. (elf_backend_may_use_rela_p): Likewise.
  2540. (elf_backend_default_use_rela_p): Likewise.
  2541. (elf_backend_rela_normal): Likewise.
  2542. * Makefile.in (elf32-arm.lo): Depend on elf-vxworks.h.
  2543. 2006-03-06 Nathan Sidwell <nathan@codesourcery.com>
  2544. * archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp):
  2545. New. Adjust other variants.
  2546. (bfd_default_scan): Update.
  2547. * bfd-in2.h: Rebuilt.
  2548. * cpu-m68k.c: Adjust.
  2549. (bfd_m68k_compatible): New. Use it for architectures.
  2550. * elf32-m68k.c (elf32_m68k_object_p): Adjust.
  2551. (elf32_m68k_merge_private_bfd_data): Adjust. Correct isa-a/b
  2552. mismatch.
  2553. (elf32_m68k_print_private_bfd_data): Adjust.
  2554. * ieee.c (ieee_write_processor): Adjust.
  2555. 2006-03-06 Alan Modra <amodra@bigpond.net.au>
  2556. * dwarf2.c: Formatting.
  2557. (add_line_info): Remove outer loop.
  2558. 2006-03-05 H.J. Lu <hongjiu.lu@intel.com>
  2559. Alan Modra <amodra@bigpond.net.au>
  2560. PR binutils/2338
  2561. * dwarf2.c (loadable_section): New struct.
  2562. (dwarf2_debug): Add loadable_section_count and
  2563. loadable_sections.
  2564. (new_line_sorts_after): New.
  2565. (add_line_info): Use new_line_sorts_after to compare line
  2566. addresses.
  2567. (check_function_name): Removed.
  2568. (unset_sections): New.
  2569. (place_sections): New.
  2570. (_bfd_dwarf2_find_nearest_line): Updated. Call place_sections
  2571. and unset_sections on relocatable files.
  2572. (_bfd_dwarf2_find_line): Likewise.
  2573. 2006-03-03 Nick Clifton <nickc@redhat.com>
  2574. * cpu-avr.c: Update to ISO-C90 formatting.
  2575. * elf32-avr.c: Likewise.
  2576. 2006-03-03 Bjoern Haase <bjoern.m.haase@web.de>
  2577. * elf32-avr.c (avr_reloc_map): Insert BFD_RELOC_AVR_MS8_LDI
  2578. and R_AVR_MS8_LDI
  2579. (bfd_elf_avr_final_write_processing): Set
  2580. EF_AVR_LINKRELAX_PREPARED in e_flags field.
  2581. (elf32_avr_relax_section): New function.
  2582. (elf32_avr_relax_delete_bytes): New function.
  2583. (elf32_avr_get_relocated_section_contents): New function.
  2584. (avr_pc_wrap_around): New function.
  2585. (avr_relative_distance_considering_wrap_around): New function.
  2586. (avr_final_link_relocate): Handle negative int8t_t immediate for R_AVR_LDI.
  2587. * reloc.c: Add BFD_RELOC_AVR_MS8_LDI and BFD_RELOC_AVR_LDI_NEG
  2588. * libbfd.h: Regenerate.
  2589. * bfd-in2.h: Regenerate.
  2590. 2006-03-02 DJ Delorie <dj@redhat.com>
  2591. * elf32-m32c.c (m32c_offset_for_reloc): Fix local symbol
  2592. calculations.
  2593. 2006-03-02 Richard Sandiford <richard@codesourcery.com>
  2594. * elf32-ppc.c (is_ppc_elf_target): Return true if the target is
  2595. bfd_elf32_powerpc_vxworks_vec.
  2596. 2006-03-02 Nick Clifton <nickc@redhat.com>
  2597. * elf32-m32c.c (m32c_elf_relax_section): Initialise 'gap'.
  2598. 2006-03-02 Richard Sandiford <richard@codesourcery.com>
  2599. * elf32-i386.c (elf_i386_create_dynamic_sections): Use
  2600. elf_vxworks_create_dynamic_sections.
  2601. (elf_i386_size_dynamic_sections): Remove VxWorks GOT and PLT
  2602. symbol handling.
  2603. * elf32-ppc.c (ppc_elf_create_dynamic_sections): Use
  2604. elf_vxworks_create_dynamic_sections.
  2605. (ppc_elf_size_dynamic_sections): Remove VxWorks GOT and PLT
  2606. symbol handling.
  2607. * elf-vxworks.c (elf_vxworks_create_dynamic_sections): New function.
  2608. * elf-vxworks.h (elf_vxworks_create_dynamic_sections): Declare.
  2609. 2006-03-02 Richard Sandiford <richard@codesourcery.com>
  2610. * elf32-i386.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
  2611. (elf_backend_link_output_symbol_hook): Use
  2612. elf_vxworks_link_output_symbol_hook instead.
  2613. * elf32-ppc.c (elf_i386_vxworks_link_output_symbol_hook): Delete.
  2614. (elf_backend_link_output_symbol_hook): Use
  2615. elf_vxworks_link_output_symbol_hook instead.
  2616. * elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Provide the
  2617. same interface as elf_backend_link_output_symbol_hook.
  2618. * elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Update
  2619. prototype accordingly.
  2620. 2006-03-02 Richard Sandiford <richard@codesourcery.com>
  2621. * elf32-ppc.c (ppc_elf_plt_type): New enumeration.
  2622. (ppc_elf_link_hash_table): Replace old_got and new_got with
  2623. plt_type and can_use_new_plt.
  2624. (ppc_elf_create_dynamic_sections): Add SEC_HAS_CONTENTS,
  2625. SEC_LOAD and SEC_READONLY to the VxWorks .plt flags.
  2626. (ppc_elf_check_relocs): Set can_use_new_plt instead of new_plt.
  2627. Move from plt_type == PLT_UNSET to PLT_OLD instead of setting old_plt.
  2628. (ppc_elf_select_plt_layout): Move from plt_type == PLT_UNSET to
  2629. either plt_type == PLT_OLD or plt_type == PLT_NEW. Assert that
  2630. this function should not be called for VxWorks targets.
  2631. (ppc_elf_tls_setup): Use plt_type instead of old_got.
  2632. (allocate_got): Likewise. Rearrange so that max_before_header
  2633. is only used for PLT_OLD and PLT_NEW.
  2634. (allocate_dynrelocs): Use plt_type instead of old_got and is_vxworks.
  2635. (ppc_elf_size_dynamic_sections): Likewise.
  2636. (ppc_elf_relax_section): Likewise.
  2637. (ppc_elf_relocate_section): Likewise.
  2638. (ppc_elf_finish_dynamic_symbol): Likewise.
  2639. (ppc_elf_vxworks_link_hash_table_create): Initialize plt_type.
  2640. 2006-02-28 Richard Sandiford <richard@codesourcery.com>
  2641. * elf32-i386.c (elf_i386_link_hash_table): Add next_tls_desc_index.
  2642. (elf_i386_link_hash_table_create): Initialize it.
  2643. (elf_i386_compute_jump_table_size): Use it instead of
  2644. srelplt->reloc_count.
  2645. (allocate_dynrelocs): Likewise.
  2646. (elf_i386_size_dynamic_sections): Likewise.
  2647. (elf_i386_relocate_section): Likewise.
  2648. 2006-02-27 Jakub Jelinek <jakub@redhat.com>
  2649. * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle S flag.
  2650. (_bfd_elf_write_section_eh_frame): Likewise.
  2651. 2006-02-27 Carlos O'Donell <carlos@codesourcery.com>
  2652. * po/Make-in: Add html target.
  2653. 2006-02-27 Richard Sandiford <richard@codesourcery.com>
  2654. * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Use the
  2655. cached hgot entry to check for _GLOBAL_OFFSET_TABLE_.
  2656. * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise.
  2657. * elf32-bfin.c (bfin_finish_dynamic_symbol): Likewise.
  2658. * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
  2659. * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
  2660. * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
  2661. * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
  2662. * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Likewise.
  2663. * elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise.
  2664. * elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise.
  2665. * elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise.
  2666. * elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise.
  2667. * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likewise.
  2668. * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
  2669. * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise. Also use
  2670. the cached hplt entry to check for _PROCEDURE_LINKAGE_TABLE_.
  2671. * elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise.
  2672. * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
  2673. * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise.
  2674. * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
  2675. 2006-02-25 Richard Sandiford <richard@codesourcery.com>
  2676. * elf-bfd.h (elf_link_hash_table): Add hplt field.
  2677. * elflink.c (_bfd_elf_create_dynamic_sections): Initialize it.
  2678. * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
  2679. * elf32-frv.c (_frv_create_got_section): Likewise.
  2680. * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
  2681. * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
  2682. * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
  2683. * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.
  2684. * elf32-i386.c (elf_i386_link_hash_table): Remove hgot and hplt.
  2685. (elf_i386_link_hash_table_create): Don't initialize them.
  2686. (elf_i386_size_dynamic_sections): Use the generic ELF hplt and
  2687. hgot fields.
  2688. (elf_i386_finish_dynamic_symbol): Likewise.
  2689. * elf32-ppc.c (ppc_elf_link_hash_table): Remove hplt.
  2690. (ppc_elf_size_dynamic_sections): Use the generic ELF hplt fields.
  2691. (ppc_elf_finish_dynamic_symbol): Likewise.
  2692. 2006-02-24 DJ Delorie <dj@redhat.com>
  2693. * elf32-m32c.c (m32c_elf_howto_table): Add relaxation relocs.
  2694. (m32c_elf_relocate_section): Don't relocate them.
  2695. (compare_reloc): New.
  2696. (relax_reloc): Remove.
  2697. (m32c_offset_for_reloc): New.
  2698. (m16c_addr_encodings): New.
  2699. (m16c_jmpaddr_encodings): New.
  2700. (m32c_addr_encodings): New.
  2701. (m32c_elf_relax_section): Relax jumps and address displacements.
  2702. (m32c_elf_relax_delete_bytes): Adjust for internal syms. Fix up
  2703. short jumps.
  2704. * reloc.c: Add m32c relax relocs.
  2705. * libbfd.h: Regenerate.
  2706. * bfd-in2.h: Regenerate.
  2707. 2006-02-24 H.J. Lu <hongjiu.lu@intel.com>
  2708. PR ld/2218
  2709. * elf-bfd.h (elf_backend_data): Add elf_backend_fixup_symbol.
  2710. (_bfd_elf_link_hash_fixup_symbol): New.
  2711. * elflink.c (_bfd_elf_link_hash_fixup_symbol): New.
  2712. (_bfd_elf_fix_symbol_flags): Call elf_backend_fixup_symbol if
  2713. it isn't NULL.
  2714. * elfxx-ia64.c (elf_backend_fixup_symbol): Defined.
  2715. * elfxx-target.h (elf_backend_fixup_symbol): New.
  2716. (elfNN_bed): Initialize elf_backend_fixup_symbol.
  2717. 2006-02-23 H.J. Lu <hongjiu.lu@intel.com>
  2718. * cpu-ia64-opc.c (ins_immu5b): New.
  2719. (ext_immu5b): Likewise.
  2720. (elf64_ia64_operands): Add IMMU5b.
  2721. 2006-02-21 Alan Modra <amodra@bigpond.net.au>
  2722. PR ld/2218
  2723. * elf32-arm.c (allocate_dynrelocs): Ensure undef weak sym in pie
  2724. is dynamic.
  2725. * elf32-hppa.c (allocate_dynrelocs): Likewise.
  2726. * elf32-i386.c (allocate_dynrelocs): Likewise.
  2727. * elf32-s390.c (allocate_dynrelocs): Likewise.
  2728. * elf32-sh.c (allocate_dynrelocs): Likewise.
  2729. * elf64-s390.c (allocate_dynrelocs): Likewise.
  2730. * elf64-x86-64.c (allocate_dynrelocs): Likewise.
  2731. * elf32-m32r.c (allocate_dynrelocs): Likewise. Discard relocs
  2732. on undef weak with non-default visibility too.
  2733. * elfxx-sparc.c (allocate_dynrelocs): Ditto.
  2734. 2006-02-21 Alan Modra <amodra@bigpond.net.au>
  2735. * bfd.c: (_bfd_default_error_handler): Don't call abort on
  2736. error, instead call _exit.
  2737. (_bfd_abort): Call _exit not xexit.
  2738. 2006-02-17 Kevin Buettner <kevinb@redhat.com>
  2739. * elf32-frv.c (elf32_frv_grok_prstatus, elf32_frv_grok_psinfo):
  2740. New functions.
  2741. * elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
  2742. 2006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com>
  2743. Anil Paranjape <anilp1@kpitcummins.com>
  2744. Shilin Shakti <shilins@kpitcummins.com>
  2745. * Makefile.am: Add xc16x related entry
  2746. * Makefile.in: Regenerate
  2747. * archures.c: Add bfd_xc16x_arch
  2748. * bfd-in2.h: Regenerate
  2749. * config.bfd: Add xc16x-*-elf
  2750. * configure.in: Add bfd_elf32_xc16x_vec
  2751. * configure: Regenerate.
  2752. * targets.c: Added xc16x related information
  2753. * cpu-xc16x.c: New file
  2754. * reloc.c: Add new relocations specific to xc16x:
  2755. BFD_RELOC_XC16X_PAG, BFD_RELOC_XC16X_POF, BFD_RELOC_XC16X_SEG,
  2756. BFD_RELOC_XC16X_SOF
  2757. * elf32-xc16x.c: New file.
  2758. 2006-02-17 Alan Modra <amodra@bigpond.net.au>
  2759. * elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling.
  2760. * elf64-ppc.c (allocate_dynrelocs): Likewise.
  2761. 2006-02-17 Alan Modra <amodra@bigpond.net.au>
  2762. PR ld/2218
  2763. * elf64-ppc.c (allocate_dynrelocs): Ensure undef weak sym is
  2764. dynamic.
  2765. (ppc64_elf_relocate_section): Check output reloc section size.
  2766. * elf32-ppc.c (allocate_dynrelocs): Simplify undef weak test.
  2767. 2006-02-16 H.J. Lu <hongjiu.lu@intel.com>
  2768. PR ld/2322
  2769. * elf.c (get_segment_type): New function.
  2770. (_bfd_elf_print_private_bfd_data): Use it.
  2771. (print_segment_map): New function.
  2772. (assign_file_positions_for_segments): Call print_segment_map
  2773. when there are not enough room for program headers.
  2774. 2006-02-16 Nick Hudson <nick.hudson@dsl.pipex.com>
  2775. * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Use
  2776. traditional MIPS ELF targets.
  2777. 2006-02-15 H.J. Lu <hongjiu.lu@intel.com>
  2778. PR binutils/2338
  2779. * dwarf2.c (check_function_name): New function.
  2780. (_bfd_dwarf2_find_nearest_line): Use check_function_name to
  2781. check if function is correct.
  2782. 2006-02-16 Alan Modra <amodra@bigpond.net.au>
  2783. * elflink.c (_bfd_elf_default_action_discarded): Return 0 for
  2784. debug sections.
  2785. (elf_link_input_bfd): Adjust comments.
  2786. 2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
  2787. * elf.c (copy_private_bfd_data): Minor update.
  2788. 2006-02-10 H.J. Lu <hongjiu.lu@intel.com>
  2789. PR binutils/2258
  2790. * elf.c (copy_private_bfd_data): Renamed to ...
  2791. (rewrite_elf_program_header): This.
  2792. (copy_elf_program_header): New function.
  2793. (copy_private_bfd_data): Likewise.
  2794. 2006-02-07 Nathan Sidwell <nathan@codesourcery.com>
  2795. * archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e,
  2796. bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x,
  2797. bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249,
  2798. bfd_mach_mcf547x, bfd_mach_mcf548x): Remove.
  2799. (bfd_mach_mcf_isa_a, bfd_mach_mcf_isa_a_div,
  2800. bfd_mach_mcf_isa_a_div_mac, bfd_mach_mcf_isa_a_div_emac,
  2801. bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac,
  2802. bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_aplus_usp,
  2803. bfd_mach_mcf_isa_aplus_usp_mac, bfd_mach_mcf_isa_aplus_usp_emac,
  2804. bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, bfd_mach_mcf_isa_b_emac,
  2805. bfd_mach_mcf_isa_b_usp_float, bfd_mach_mcf_isa_b_usp_float_mac,
  2806. bfd_mach_mcf_isa_b_usp_float_emac): New.
  2807. (bfd_default_scan): Update coldfire mapping.
  2808. * bfd-in.h (bfd_m68k_mach_to_features,
  2809. bfd_m68k_features_to_mach): Declare.
  2810. * bfd-in2.h: Rebuilt.
  2811. * cpu-m68k.c (arch_info_struct): Add new coldfire machines,
  2812. adjust legacy names.
  2813. (m68k_arch_features): New.
  2814. (bfd_m68k_mach_to_features,
  2815. bfd_m68k_features_to_mach): Define.
  2816. * elf32-m68k.c (elf32_m68k_object_p): New.
  2817. (elf32_m68k_merge_private_bfd_data): Merge the CF EF flags.
  2818. (elf32_m68k_print_private_bfd_data): Print the CF EF flags.
  2819. (elf_backend_object_p): Define.
  2820. * ieee.c (ieee_write_processor): Update coldfire machines.
  2821. * libbfd.h: Rebuilt.
  2822. 2006-02-06 Steve Ellcey <sje@cup.hp.com>
  2823. * elfxx-ia64.c (elfNN_ia64_fake_sections): Set SHF_IA_64_HP_TLS
  2824. if SHF_TLS is set.
  2825. 2006-02-05 Arnold Metselaar <arnold.metselaar@planet.nl>
  2826. * coff-z80.c (r_imm24): New howto.
  2827. (rtype2howto): New case R_IMM24.
  2828. (coff_z80_reloc_type_lookup): New case BFD_RELOC_24.
  2829. (extra_case): Use bfd_get_8 for R_IMM8, new case R_IMM24.
  2830. 2006-02-04 Richard Sandiford <richard@codesourcery.com>
  2831. * elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol
  2832. has already been assigned a GOT index, copy that index to the
  2833. current hash table entry.
  2834. 2006-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
  2835. * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
  2836. for call-to-undefweak reloc overflow.
  2837. 2006-01-31 Eric Botcazou <ebotcazou@libertysurf.fr>
  2838. * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass
  2839. for 32-bit relocs overflow.
  2840. 2006-01-27 Paul Brook <paul@codesourcery.com>
  2841. * elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb
  2842. objects.
  2843. 2006-01-18 Alexandre Oliva <aoliva@redhat.com>
  2844. Introduce TLS descriptors for i386 and x86_64.
  2845. * reloc.c (BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC,
  2846. BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC,
  2847. BFD_RELOC_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New.
  2848. * libbfd.h, bfd-in2.h: Rebuilt.
  2849. * elf32-i386.c (elf_howto_table): New relocations.
  2850. (R_386_tls): Adjust.
  2851. (elf_i386_reloc_type_lookup): Map new relocations.
  2852. (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
  2853. (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
  2854. (struct elf_i386_link_hash_entry): Add tlsdesc_got field.
  2855. (struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field.
  2856. (elf_i386_local_tlsdesc_gotent): New macro.
  2857. (struct elf_i386_link_hash_table): Add sgotplt_jump_table_size.
  2858. (elf_i386_compute_jump_table_size): New macro.
  2859. (link_hash_newfunc): Initialize tlsdesc_got.
  2860. (elf_i386_link_hash_table_create): Set sgotplt_jump_table_size.
  2861. (elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and
  2862. R_386_TLS_DESC_CALL.
  2863. (elf_i386_check_relocs): Likewise. Allocate space for
  2864. local_tlsdesc_gotent.
  2865. (elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and
  2866. R_386_TLS_DESC_CALL.
  2867. (allocate_dynrelocs): Count function PLT relocations. Reserve
  2868. space for TLS descriptors and relocations.
  2869. (elf_i386_size_dynamic_sections): Reserve space for TLS
  2870. descriptors and relocations. Set up sgotplt_jump_table_size.
  2871. Don't zero reloc_count in srelplt.
  2872. (elf_i386_always_size_sections): New. Set up _TLS_MODULE_BASE_.
  2873. (elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and
  2874. R_386_TLS_DESC_CALL.
  2875. (elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
  2876. (elf_backend_always_size_sections): Define.
  2877. * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_GOTPC32_TLSDESC,
  2878. R_X86_64_TLSDESC, R_X86_64_TLSDESC_CALL.
  2879. (R_X86_64_standard): Adjust.
  2880. (x86_64_reloc_map): Map new relocs.
  2881. (elf64_x86_64_rtype_to_howto): New, split out of...
  2882. (elf64_x86_64_info_to_howto): ... this function, and...
  2883. (elf64_x86_64_reloc_type_lookup): ... use it to map elf_reloc_val.
  2884. (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros.
  2885. (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros.
  2886. (struct elf64_x86_64_link_hash_entry): Add tlsdesc_got field.
  2887. (struct elf64_x86_64_obj_tdata): Add local_tlsdesc_gotent field.
  2888. (elf64_x86_64_local_tlsdesc_gotent): New macro.
  2889. (struct elf64_x86_64_link_hash_table): Add tlsdesc_plt,
  2890. tlsdesc_got and sgotplt_jump_table_size fields.
  2891. (elf64_x86_64_compute_jump_table_size): New macro.
  2892. (link_hash_newfunc): Initialize tlsdesc_got.
  2893. (elf64_x86_64_link_hash_table_create): Initialize new fields.
  2894. (elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and
  2895. R_X86_64_TLSDESC_CALL.
  2896. (elf64_x86_64_check_relocs): Likewise. Allocate space for
  2897. local_tlsdesc_gotent.
  2898. (elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and
  2899. R_X86_64_TLSDESC_CALL.
  2900. (allocate_dynrelocs): Count function PLT relocations. Reserve
  2901. space for TLS descriptors and relocations.
  2902. (elf64_x86_64_size_dynamic_sections): Reserve space for TLS
  2903. descriptors and relocations. Set up sgotplt_jump_table_size,
  2904. tlsdesc_plt and tlsdesc_got. Make room for them. Don't zero
  2905. reloc_count in srelplt. Add dynamic entries for DT_TLSDESC_PLT
  2906. and DT_TLSDESC_GOT.
  2907. (elf64_x86_64_always_size_sections): New. Set up
  2908. _TLS_MODULE_BASE_.
  2909. (elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and
  2910. R_386_TLS_DESC_CALL.
  2911. (elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P.
  2912. (elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and
  2913. DT_TLSDESC_GOT. Set up TLS descriptor lazy resolver PLT entry.
  2914. (elf_backend_always_size_sections): Define.
  2915. 2006-01-17 H.J. Lu <hongjiu.lu@intel.com>
  2916. PR binutils/2096
  2917. * dwarf2.c (comp_unit_contains_address): Update comment.
  2918. (_bfd_dwarf2_find_nearest_line): Use section's vma, instead of
  2919. lma. Return TRUE only if both comp_unit_contains_address and
  2920. comp_unit_find_nearest_line return TRUE.
  2921. (_bfd_dwarf2_find_line): Use section's vma, instead of lma.
  2922. 2006-01-18 Alan Modra <amodra@bigpond.net.au>
  2923. * elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref.
  2924. (bfd_elf_gc_mark_dynamic_ref_symbol): Declare.
  2925. * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from
  2926. elf_gc_mark_dynamic_ref_symbol. Make global.
  2927. (bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref.
  2928. * elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define.
  2929. (elfNN_bed): Init new field.
  2930. * elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define.
  2931. (ppc64_elf_gc_mark_dynamic_ref): New function.
  2932. 2006-01-17 Alan Modra <amodra@bigpond.net.au>
  2933. * elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop.
  2934. 2006-01-17 Nick Clifton <nickc@redhat.com>
  2935. PR binutils/2159
  2936. * elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused
  2937. parameters.
  2938. 2006-01-11 Nick Clifton <nickc@redhat.com>
  2939. * elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry
  2940. into the newly (re)allocated map array.
  2941. 2006-01-09 Alexis Wilke <alexis_wilke@yahoo.com>
  2942. * peXXigen.c (tbl): Add comma after "HIGH3ADJ".
  2943. 2006-01-01 Jakub Jelinek <jakub@redhat.com>
  2944. * elf64-ppc.c (ppc64_elf_action_discarded): Return 0
  2945. for .toc1 section.
  2946. For older changes see ChangeLog-2005
  2947. Copyright (C) 2006 Free Software Foundation, Inc.
  2948. Copying and distribution of this file, with or without modification,
  2949. are permitted in any medium without royalty provided the copyright
  2950. notice and this notice are preserved.
  2951. Local Variables:
  2952. mode: change-log
  2953. left-margin: 8
  2954. fill-column: 74
  2955. version-control: never
  2956. End: