gdbarch.c 185 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275
  1. /* *INDENT-OFF* */ /* THIS FILE IS GENERATED -*- buffer-read-only: t -*- */
  2. /* vi:set ro: */
  3. /* Dynamic architecture support for GDB, the GNU debugger.
  4. Copyright (C) 1998-2022 Free Software Foundation, Inc.
  5. This file is part of GDB.
  6. This program is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 3 of the License, or
  9. (at your option) any later version.
  10. This program is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with this program. If not, see <http://www.gnu.org/licenses/>. */
  16. /* To regenerate this file, run:
  17. ./gdbarch.py
  18. */
  19. /* Maintain the struct gdbarch object. */
  20. struct gdbarch
  21. {
  22. /* Has this architecture been fully initialized? */
  23. int initialized_p;
  24. /* An obstack bound to the lifetime of the architecture. */
  25. struct obstack *obstack;
  26. /* basic architectural information. */
  27. const struct bfd_arch_info * bfd_arch_info;
  28. enum bfd_endian byte_order;
  29. enum bfd_endian byte_order_for_code;
  30. enum gdb_osabi osabi;
  31. const struct target_desc * target_desc;
  32. /* target specific vector. */
  33. struct gdbarch_tdep *tdep;
  34. gdbarch_dump_tdep_ftype *dump_tdep;
  35. /* per-architecture data-pointers. */
  36. unsigned nr_data;
  37. void **data;
  38. int short_bit;
  39. int int_bit;
  40. int long_bit;
  41. int long_long_bit;
  42. int bfloat16_bit;
  43. const struct floatformat ** bfloat16_format;
  44. int half_bit;
  45. const struct floatformat ** half_format;
  46. int float_bit;
  47. const struct floatformat ** float_format;
  48. int double_bit;
  49. const struct floatformat ** double_format;
  50. int long_double_bit;
  51. const struct floatformat ** long_double_format;
  52. int wchar_bit;
  53. int wchar_signed;
  54. gdbarch_floatformat_for_type_ftype *floatformat_for_type;
  55. int ptr_bit;
  56. int addr_bit;
  57. int dwarf2_addr_size;
  58. int char_signed;
  59. gdbarch_read_pc_ftype *read_pc;
  60. gdbarch_write_pc_ftype *write_pc;
  61. gdbarch_virtual_frame_pointer_ftype *virtual_frame_pointer;
  62. gdbarch_pseudo_register_read_ftype *pseudo_register_read;
  63. gdbarch_pseudo_register_read_value_ftype *pseudo_register_read_value;
  64. gdbarch_pseudo_register_write_ftype *pseudo_register_write;
  65. int num_regs;
  66. int num_pseudo_regs;
  67. gdbarch_ax_pseudo_register_collect_ftype *ax_pseudo_register_collect;
  68. gdbarch_ax_pseudo_register_push_stack_ftype *ax_pseudo_register_push_stack;
  69. gdbarch_report_signal_info_ftype *report_signal_info;
  70. int sp_regnum;
  71. int pc_regnum;
  72. int ps_regnum;
  73. int fp0_regnum;
  74. gdbarch_stab_reg_to_regnum_ftype *stab_reg_to_regnum;
  75. gdbarch_ecoff_reg_to_regnum_ftype *ecoff_reg_to_regnum;
  76. gdbarch_sdb_reg_to_regnum_ftype *sdb_reg_to_regnum;
  77. gdbarch_dwarf2_reg_to_regnum_ftype *dwarf2_reg_to_regnum;
  78. gdbarch_register_name_ftype *register_name;
  79. gdbarch_register_type_ftype *register_type;
  80. gdbarch_dummy_id_ftype *dummy_id;
  81. int deprecated_fp_regnum;
  82. gdbarch_push_dummy_call_ftype *push_dummy_call;
  83. int call_dummy_location;
  84. gdbarch_push_dummy_code_ftype *push_dummy_code;
  85. gdbarch_code_of_frame_writable_ftype *code_of_frame_writable;
  86. gdbarch_print_registers_info_ftype *print_registers_info;
  87. gdbarch_print_float_info_ftype *print_float_info;
  88. gdbarch_print_vector_info_ftype *print_vector_info;
  89. gdbarch_register_sim_regno_ftype *register_sim_regno;
  90. gdbarch_cannot_fetch_register_ftype *cannot_fetch_register;
  91. gdbarch_cannot_store_register_ftype *cannot_store_register;
  92. gdbarch_get_longjmp_target_ftype *get_longjmp_target;
  93. int believe_pcc_promotion;
  94. gdbarch_convert_register_p_ftype *convert_register_p;
  95. gdbarch_register_to_value_ftype *register_to_value;
  96. gdbarch_value_to_register_ftype *value_to_register;
  97. gdbarch_value_from_register_ftype *value_from_register;
  98. gdbarch_pointer_to_address_ftype *pointer_to_address;
  99. gdbarch_address_to_pointer_ftype *address_to_pointer;
  100. gdbarch_integer_to_address_ftype *integer_to_address;
  101. gdbarch_return_value_ftype *return_value;
  102. gdbarch_return_in_first_hidden_param_p_ftype *return_in_first_hidden_param_p;
  103. gdbarch_skip_prologue_ftype *skip_prologue;
  104. gdbarch_skip_main_prologue_ftype *skip_main_prologue;
  105. gdbarch_skip_entrypoint_ftype *skip_entrypoint;
  106. gdbarch_inner_than_ftype *inner_than;
  107. gdbarch_breakpoint_from_pc_ftype *breakpoint_from_pc;
  108. gdbarch_breakpoint_kind_from_pc_ftype *breakpoint_kind_from_pc;
  109. gdbarch_sw_breakpoint_from_kind_ftype *sw_breakpoint_from_kind;
  110. gdbarch_breakpoint_kind_from_current_state_ftype *breakpoint_kind_from_current_state;
  111. gdbarch_adjust_breakpoint_address_ftype *adjust_breakpoint_address;
  112. gdbarch_memory_insert_breakpoint_ftype *memory_insert_breakpoint;
  113. gdbarch_memory_remove_breakpoint_ftype *memory_remove_breakpoint;
  114. CORE_ADDR decr_pc_after_break;
  115. CORE_ADDR deprecated_function_start_offset;
  116. gdbarch_remote_register_number_ftype *remote_register_number;
  117. gdbarch_fetch_tls_load_module_address_ftype *fetch_tls_load_module_address;
  118. gdbarch_get_thread_local_address_ftype *get_thread_local_address;
  119. CORE_ADDR frame_args_skip;
  120. gdbarch_unwind_pc_ftype *unwind_pc;
  121. gdbarch_unwind_sp_ftype *unwind_sp;
  122. gdbarch_frame_num_args_ftype *frame_num_args;
  123. gdbarch_frame_align_ftype *frame_align;
  124. gdbarch_stabs_argument_has_addr_ftype *stabs_argument_has_addr;
  125. int frame_red_zone_size;
  126. gdbarch_convert_from_func_ptr_addr_ftype *convert_from_func_ptr_addr;
  127. gdbarch_addr_bits_remove_ftype *addr_bits_remove;
  128. int significant_addr_bit;
  129. gdbarch_memtag_to_string_ftype *memtag_to_string;
  130. gdbarch_tagged_address_p_ftype *tagged_address_p;
  131. gdbarch_memtag_matches_p_ftype *memtag_matches_p;
  132. gdbarch_set_memtags_ftype *set_memtags;
  133. gdbarch_get_memtag_ftype *get_memtag;
  134. CORE_ADDR memtag_granule_size;
  135. gdbarch_software_single_step_ftype *software_single_step;
  136. gdbarch_single_step_through_delay_ftype *single_step_through_delay;
  137. gdbarch_print_insn_ftype *print_insn;
  138. gdbarch_skip_trampoline_code_ftype *skip_trampoline_code;
  139. gdbarch_skip_solib_resolver_ftype *skip_solib_resolver;
  140. gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline;
  141. gdbarch_in_indirect_branch_thunk_ftype *in_indirect_branch_thunk;
  142. gdbarch_stack_frame_destroyed_p_ftype *stack_frame_destroyed_p;
  143. gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special;
  144. gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special;
  145. gdbarch_make_symbol_special_ftype *make_symbol_special;
  146. gdbarch_adjust_dwarf2_addr_ftype *adjust_dwarf2_addr;
  147. gdbarch_adjust_dwarf2_line_ftype *adjust_dwarf2_line;
  148. int cannot_step_breakpoint;
  149. int have_nonsteppable_watchpoint;
  150. gdbarch_address_class_type_flags_ftype *address_class_type_flags;
  151. gdbarch_address_class_type_flags_to_name_ftype *address_class_type_flags_to_name;
  152. gdbarch_execute_dwarf_cfa_vendor_op_ftype *execute_dwarf_cfa_vendor_op;
  153. gdbarch_address_class_name_to_type_flags_ftype *address_class_name_to_type_flags;
  154. gdbarch_register_reggroup_p_ftype *register_reggroup_p;
  155. gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument;
  156. gdbarch_iterate_over_regset_sections_ftype *iterate_over_regset_sections;
  157. gdbarch_make_corefile_notes_ftype *make_corefile_notes;
  158. gdbarch_find_memory_regions_ftype *find_memory_regions;
  159. gdbarch_core_xfer_shared_libraries_ftype *core_xfer_shared_libraries;
  160. gdbarch_core_xfer_shared_libraries_aix_ftype *core_xfer_shared_libraries_aix;
  161. gdbarch_core_pid_to_str_ftype *core_pid_to_str;
  162. gdbarch_core_thread_name_ftype *core_thread_name;
  163. gdbarch_core_xfer_siginfo_ftype *core_xfer_siginfo;
  164. const char * gcore_bfd_target;
  165. int vtable_function_descriptors;
  166. int vbit_in_delta;
  167. gdbarch_skip_permanent_breakpoint_ftype *skip_permanent_breakpoint;
  168. ULONGEST max_insn_length;
  169. gdbarch_displaced_step_copy_insn_ftype *displaced_step_copy_insn;
  170. gdbarch_displaced_step_hw_singlestep_ftype *displaced_step_hw_singlestep;
  171. gdbarch_displaced_step_fixup_ftype *displaced_step_fixup;
  172. gdbarch_displaced_step_prepare_ftype *displaced_step_prepare;
  173. gdbarch_displaced_step_finish_ftype *displaced_step_finish;
  174. gdbarch_displaced_step_copy_insn_closure_by_addr_ftype *displaced_step_copy_insn_closure_by_addr;
  175. gdbarch_displaced_step_restore_all_in_ptid_ftype *displaced_step_restore_all_in_ptid;
  176. gdbarch_relocate_instruction_ftype *relocate_instruction;
  177. gdbarch_overlay_update_ftype *overlay_update;
  178. gdbarch_core_read_description_ftype *core_read_description;
  179. int sofun_address_maybe_missing;
  180. gdbarch_process_record_ftype *process_record;
  181. gdbarch_process_record_signal_ftype *process_record_signal;
  182. gdbarch_gdb_signal_from_target_ftype *gdb_signal_from_target;
  183. gdbarch_gdb_signal_to_target_ftype *gdb_signal_to_target;
  184. gdbarch_get_siginfo_type_ftype *get_siginfo_type;
  185. gdbarch_record_special_symbol_ftype *record_special_symbol;
  186. gdbarch_get_syscall_number_ftype *get_syscall_number;
  187. const char * xml_syscall_file;
  188. struct syscalls_info * syscalls_info;
  189. const char *const * stap_integer_prefixes;
  190. const char *const * stap_integer_suffixes;
  191. const char *const * stap_register_prefixes;
  192. const char *const * stap_register_suffixes;
  193. const char *const * stap_register_indirection_prefixes;
  194. const char *const * stap_register_indirection_suffixes;
  195. const char * stap_gdb_register_prefix;
  196. const char * stap_gdb_register_suffix;
  197. gdbarch_stap_is_single_operand_ftype *stap_is_single_operand;
  198. gdbarch_stap_parse_special_token_ftype *stap_parse_special_token;
  199. gdbarch_stap_adjust_register_ftype *stap_adjust_register;
  200. gdbarch_dtrace_parse_probe_argument_ftype *dtrace_parse_probe_argument;
  201. gdbarch_dtrace_probe_is_enabled_ftype *dtrace_probe_is_enabled;
  202. gdbarch_dtrace_enable_probe_ftype *dtrace_enable_probe;
  203. gdbarch_dtrace_disable_probe_ftype *dtrace_disable_probe;
  204. int has_global_solist;
  205. int has_global_breakpoints;
  206. gdbarch_has_shared_address_space_ftype *has_shared_address_space;
  207. gdbarch_fast_tracepoint_valid_at_ftype *fast_tracepoint_valid_at;
  208. gdbarch_guess_tracepoint_registers_ftype *guess_tracepoint_registers;
  209. gdbarch_auto_charset_ftype *auto_charset;
  210. gdbarch_auto_wide_charset_ftype *auto_wide_charset;
  211. const char * solib_symbols_extension;
  212. int has_dos_based_file_system;
  213. gdbarch_gen_return_address_ftype *gen_return_address;
  214. gdbarch_info_proc_ftype *info_proc;
  215. gdbarch_core_info_proc_ftype *core_info_proc;
  216. gdbarch_iterate_over_objfiles_in_search_order_ftype *iterate_over_objfiles_in_search_order;
  217. struct ravenscar_arch_ops * ravenscar_ops;
  218. gdbarch_insn_is_call_ftype *insn_is_call;
  219. gdbarch_insn_is_ret_ftype *insn_is_ret;
  220. gdbarch_insn_is_jump_ftype *insn_is_jump;
  221. gdbarch_program_breakpoint_here_p_ftype *program_breakpoint_here_p;
  222. gdbarch_auxv_parse_ftype *auxv_parse;
  223. gdbarch_print_auxv_entry_ftype *print_auxv_entry;
  224. gdbarch_vsyscall_range_ftype *vsyscall_range;
  225. gdbarch_infcall_mmap_ftype *infcall_mmap;
  226. gdbarch_infcall_munmap_ftype *infcall_munmap;
  227. gdbarch_gcc_target_options_ftype *gcc_target_options;
  228. gdbarch_gnu_triplet_regexp_ftype *gnu_triplet_regexp;
  229. gdbarch_addressable_memory_unit_size_ftype *addressable_memory_unit_size;
  230. const char * disassembler_options_implicit;
  231. char ** disassembler_options;
  232. const disasm_options_and_args_t * valid_disassembler_options;
  233. gdbarch_type_align_ftype *type_align;
  234. gdbarch_get_pc_address_flags_ftype *get_pc_address_flags;
  235. gdbarch_read_core_file_mappings_ftype *read_core_file_mappings;
  236. };
  237. /* Create a new ``struct gdbarch'' based on information provided by
  238. ``struct gdbarch_info''. */
  239. struct gdbarch *
  240. gdbarch_alloc (const struct gdbarch_info *info,
  241. struct gdbarch_tdep *tdep)
  242. {
  243. struct gdbarch *gdbarch;
  244. /* Create an obstack for allocating all the per-architecture memory,
  245. then use that to allocate the architecture vector. */
  246. struct obstack *obstack = XNEW (struct obstack);
  247. obstack_init (obstack);
  248. gdbarch = XOBNEW (obstack, struct gdbarch);
  249. memset (gdbarch, 0, sizeof (*gdbarch));
  250. gdbarch->obstack = obstack;
  251. alloc_gdbarch_data (gdbarch);
  252. gdbarch->tdep = tdep;
  253. gdbarch->bfd_arch_info = info->bfd_arch_info;
  254. gdbarch->byte_order = info->byte_order;
  255. gdbarch->byte_order_for_code = info->byte_order_for_code;
  256. gdbarch->osabi = info->osabi;
  257. gdbarch->target_desc = info->target_desc;
  258. /* Force the explicit initialization of these. */
  259. gdbarch->short_bit = 2*TARGET_CHAR_BIT;
  260. gdbarch->int_bit = 4*TARGET_CHAR_BIT;
  261. gdbarch->long_bit = 4*TARGET_CHAR_BIT;
  262. gdbarch->long_long_bit = 2*gdbarch->long_bit;
  263. gdbarch->bfloat16_bit = 2*TARGET_CHAR_BIT;
  264. gdbarch->half_bit = 2*TARGET_CHAR_BIT;
  265. gdbarch->float_bit = 4*TARGET_CHAR_BIT;
  266. gdbarch->double_bit = 8*TARGET_CHAR_BIT;
  267. gdbarch->long_double_bit = 8*TARGET_CHAR_BIT;
  268. gdbarch->wchar_bit = 4*TARGET_CHAR_BIT;
  269. gdbarch->wchar_signed = -1;
  270. gdbarch->floatformat_for_type = default_floatformat_for_type;
  271. gdbarch->ptr_bit = gdbarch->int_bit;
  272. gdbarch->char_signed = -1;
  273. gdbarch->virtual_frame_pointer = legacy_virtual_frame_pointer;
  274. gdbarch->num_regs = -1;
  275. gdbarch->sp_regnum = -1;
  276. gdbarch->pc_regnum = -1;
  277. gdbarch->ps_regnum = -1;
  278. gdbarch->fp0_regnum = -1;
  279. gdbarch->stab_reg_to_regnum = no_op_reg_to_regnum;
  280. gdbarch->ecoff_reg_to_regnum = no_op_reg_to_regnum;
  281. gdbarch->sdb_reg_to_regnum = no_op_reg_to_regnum;
  282. gdbarch->dwarf2_reg_to_regnum = no_op_reg_to_regnum;
  283. gdbarch->dummy_id = default_dummy_id;
  284. gdbarch->deprecated_fp_regnum = -1;
  285. gdbarch->call_dummy_location = AT_ENTRY_POINT;
  286. gdbarch->code_of_frame_writable = default_code_of_frame_writable;
  287. gdbarch->print_registers_info = default_print_registers_info;
  288. gdbarch->print_float_info = default_print_float_info;
  289. gdbarch->register_sim_regno = legacy_register_sim_regno;
  290. gdbarch->cannot_fetch_register = cannot_register_not;
  291. gdbarch->cannot_store_register = cannot_register_not;
  292. gdbarch->convert_register_p = generic_convert_register_p;
  293. gdbarch->value_from_register = default_value_from_register;
  294. gdbarch->pointer_to_address = unsigned_pointer_to_address;
  295. gdbarch->address_to_pointer = unsigned_address_to_pointer;
  296. gdbarch->return_in_first_hidden_param_p = default_return_in_first_hidden_param_p;
  297. gdbarch->breakpoint_from_pc = default_breakpoint_from_pc;
  298. gdbarch->sw_breakpoint_from_kind = NULL;
  299. gdbarch->breakpoint_kind_from_current_state = default_breakpoint_kind_from_current_state;
  300. gdbarch->memory_insert_breakpoint = default_memory_insert_breakpoint;
  301. gdbarch->memory_remove_breakpoint = default_memory_remove_breakpoint;
  302. gdbarch->remote_register_number = default_remote_register_number;
  303. gdbarch->unwind_pc = default_unwind_pc;
  304. gdbarch->unwind_sp = default_unwind_sp;
  305. gdbarch->stabs_argument_has_addr = default_stabs_argument_has_addr;
  306. gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr_identity;
  307. gdbarch->addr_bits_remove = core_addr_identity;
  308. gdbarch->memtag_to_string = default_memtag_to_string;
  309. gdbarch->tagged_address_p = default_tagged_address_p;
  310. gdbarch->memtag_matches_p = default_memtag_matches_p;
  311. gdbarch->set_memtags = default_set_memtags;
  312. gdbarch->get_memtag = default_get_memtag;
  313. gdbarch->print_insn = default_print_insn;
  314. gdbarch->skip_trampoline_code = generic_skip_trampoline_code;
  315. gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
  316. gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
  317. gdbarch->in_indirect_branch_thunk = default_in_indirect_branch_thunk;
  318. gdbarch->stack_frame_destroyed_p = generic_stack_frame_destroyed_p;
  319. gdbarch->coff_make_msymbol_special = default_coff_make_msymbol_special;
  320. gdbarch->make_symbol_special = default_make_symbol_special;
  321. gdbarch->adjust_dwarf2_addr = default_adjust_dwarf2_addr;
  322. gdbarch->adjust_dwarf2_line = default_adjust_dwarf2_line;
  323. gdbarch->execute_dwarf_cfa_vendor_op = default_execute_dwarf_cfa_vendor_op;
  324. gdbarch->register_reggroup_p = default_register_reggroup_p;
  325. gdbarch->skip_permanent_breakpoint = default_skip_permanent_breakpoint;
  326. gdbarch->displaced_step_hw_singlestep = default_displaced_step_hw_singlestep;
  327. gdbarch->displaced_step_fixup = NULL;
  328. gdbarch->displaced_step_finish = NULL;
  329. gdbarch->relocate_instruction = NULL;
  330. gdbarch->has_shared_address_space = default_has_shared_address_space;
  331. gdbarch->fast_tracepoint_valid_at = default_fast_tracepoint_valid_at;
  332. gdbarch->guess_tracepoint_registers = default_guess_tracepoint_registers;
  333. gdbarch->auto_charset = default_auto_charset;
  334. gdbarch->auto_wide_charset = default_auto_wide_charset;
  335. gdbarch->gen_return_address = default_gen_return_address;
  336. gdbarch->iterate_over_objfiles_in_search_order = default_iterate_over_objfiles_in_search_order;
  337. gdbarch->ravenscar_ops = NULL;
  338. gdbarch->insn_is_call = default_insn_is_call;
  339. gdbarch->insn_is_ret = default_insn_is_ret;
  340. gdbarch->insn_is_jump = default_insn_is_jump;
  341. gdbarch->program_breakpoint_here_p = default_program_breakpoint_here_p;
  342. gdbarch->print_auxv_entry = default_print_auxv_entry;
  343. gdbarch->vsyscall_range = default_vsyscall_range;
  344. gdbarch->infcall_mmap = default_infcall_mmap;
  345. gdbarch->infcall_munmap = default_infcall_munmap;
  346. gdbarch->gcc_target_options = default_gcc_target_options;
  347. gdbarch->gnu_triplet_regexp = default_gnu_triplet_regexp;
  348. gdbarch->addressable_memory_unit_size = default_addressable_memory_unit_size;
  349. gdbarch->type_align = default_type_align;
  350. gdbarch->get_pc_address_flags = default_get_pc_address_flags;
  351. gdbarch->read_core_file_mappings = default_read_core_file_mappings;
  352. /* gdbarch_alloc() */
  353. return gdbarch;
  354. }
  355. /* Ensure that all values in a GDBARCH are reasonable. */
  356. static void
  357. verify_gdbarch (struct gdbarch *gdbarch)
  358. {
  359. string_file log;
  360. /* fundamental */
  361. if (gdbarch->byte_order == BFD_ENDIAN_UNKNOWN)
  362. log.puts ("\n\tbyte-order");
  363. if (gdbarch->bfd_arch_info == NULL)
  364. log.puts ("\n\tbfd_arch_info");
  365. /* Check those that need to be defined for the given multi-arch level. */
  366. /* Skip verify of short_bit, invalid_p == 0 */
  367. /* Skip verify of int_bit, invalid_p == 0 */
  368. /* Skip verify of long_bit, invalid_p == 0 */
  369. /* Skip verify of long_long_bit, invalid_p == 0 */
  370. /* Skip verify of bfloat16_bit, invalid_p == 0 */
  371. if (gdbarch->bfloat16_format == 0)
  372. gdbarch->bfloat16_format = floatformats_bfloat16;
  373. /* Skip verify of half_bit, invalid_p == 0 */
  374. if (gdbarch->half_format == 0)
  375. gdbarch->half_format = floatformats_ieee_half;
  376. /* Skip verify of float_bit, invalid_p == 0 */
  377. if (gdbarch->float_format == 0)
  378. gdbarch->float_format = floatformats_ieee_single;
  379. /* Skip verify of double_bit, invalid_p == 0 */
  380. if (gdbarch->double_format == 0)
  381. gdbarch->double_format = floatformats_ieee_double;
  382. /* Skip verify of long_double_bit, invalid_p == 0 */
  383. if (gdbarch->long_double_format == 0)
  384. gdbarch->long_double_format = floatformats_ieee_double;
  385. /* Skip verify of wchar_bit, invalid_p == 0 */
  386. if (gdbarch->wchar_signed == -1)
  387. gdbarch->wchar_signed = 1;
  388. /* Skip verify of floatformat_for_type, invalid_p == 0 */
  389. /* Skip verify of ptr_bit, invalid_p == 0 */
  390. if (gdbarch->addr_bit == 0)
  391. gdbarch->addr_bit = gdbarch_ptr_bit (gdbarch);
  392. if (gdbarch->dwarf2_addr_size == 0)
  393. gdbarch->dwarf2_addr_size = gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT;
  394. if (gdbarch->char_signed == -1)
  395. gdbarch->char_signed = 1;
  396. /* Skip verify of read_pc, has predicate. */
  397. /* Skip verify of write_pc, has predicate. */
  398. /* Skip verify of virtual_frame_pointer, invalid_p == 0 */
  399. /* Skip verify of pseudo_register_read, has predicate. */
  400. /* Skip verify of pseudo_register_read_value, has predicate. */
  401. /* Skip verify of pseudo_register_write, has predicate. */
  402. if (gdbarch->num_regs == -1)
  403. log.puts ("\n\tnum_regs");
  404. /* Skip verify of num_pseudo_regs, invalid_p == 0 */
  405. /* Skip verify of ax_pseudo_register_collect, has predicate. */
  406. /* Skip verify of ax_pseudo_register_push_stack, has predicate. */
  407. /* Skip verify of report_signal_info, has predicate. */
  408. /* Skip verify of sp_regnum, invalid_p == 0 */
  409. /* Skip verify of pc_regnum, invalid_p == 0 */
  410. /* Skip verify of ps_regnum, invalid_p == 0 */
  411. /* Skip verify of fp0_regnum, invalid_p == 0 */
  412. /* Skip verify of stab_reg_to_regnum, invalid_p == 0 */
  413. /* Skip verify of ecoff_reg_to_regnum, invalid_p == 0 */
  414. /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
  415. /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
  416. if (gdbarch->register_name == 0)
  417. log.puts ("\n\tregister_name");
  418. if (gdbarch->register_type == 0)
  419. log.puts ("\n\tregister_type");
  420. /* Skip verify of dummy_id, invalid_p == 0 */
  421. /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
  422. /* Skip verify of push_dummy_call, has predicate. */
  423. /* Skip verify of call_dummy_location, invalid_p == 0 */
  424. /* Skip verify of push_dummy_code, has predicate. */
  425. /* Skip verify of code_of_frame_writable, invalid_p == 0 */
  426. /* Skip verify of print_registers_info, invalid_p == 0 */
  427. /* Skip verify of print_float_info, invalid_p == 0 */
  428. /* Skip verify of print_vector_info, has predicate. */
  429. /* Skip verify of register_sim_regno, invalid_p == 0 */
  430. /* Skip verify of cannot_fetch_register, invalid_p == 0 */
  431. /* Skip verify of cannot_store_register, invalid_p == 0 */
  432. /* Skip verify of get_longjmp_target, has predicate. */
  433. /* Skip verify of believe_pcc_promotion, invalid_p == 0 */
  434. /* Skip verify of convert_register_p, invalid_p == 0 */
  435. /* Skip verify of register_to_value, invalid_p == 0 */
  436. /* Skip verify of value_to_register, invalid_p == 0 */
  437. /* Skip verify of value_from_register, invalid_p == 0 */
  438. /* Skip verify of pointer_to_address, invalid_p == 0 */
  439. /* Skip verify of address_to_pointer, invalid_p == 0 */
  440. /* Skip verify of integer_to_address, has predicate. */
  441. /* Skip verify of return_value, has predicate. */
  442. /* Skip verify of return_in_first_hidden_param_p, invalid_p == 0 */
  443. if (gdbarch->skip_prologue == 0)
  444. log.puts ("\n\tskip_prologue");
  445. /* Skip verify of skip_main_prologue, has predicate. */
  446. /* Skip verify of skip_entrypoint, has predicate. */
  447. if (gdbarch->inner_than == 0)
  448. log.puts ("\n\tinner_than");
  449. /* Skip verify of breakpoint_from_pc, invalid_p == 0 */
  450. if (gdbarch->breakpoint_kind_from_pc == 0)
  451. log.puts ("\n\tbreakpoint_kind_from_pc");
  452. /* Skip verify of sw_breakpoint_from_kind, invalid_p == 0 */
  453. /* Skip verify of breakpoint_kind_from_current_state, invalid_p == 0 */
  454. /* Skip verify of adjust_breakpoint_address, has predicate. */
  455. /* Skip verify of memory_insert_breakpoint, invalid_p == 0 */
  456. /* Skip verify of memory_remove_breakpoint, invalid_p == 0 */
  457. /* Skip verify of decr_pc_after_break, invalid_p == 0 */
  458. /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */
  459. /* Skip verify of remote_register_number, invalid_p == 0 */
  460. /* Skip verify of fetch_tls_load_module_address, has predicate. */
  461. /* Skip verify of get_thread_local_address, has predicate. */
  462. /* Skip verify of frame_args_skip, invalid_p == 0 */
  463. /* Skip verify of unwind_pc, invalid_p == 0 */
  464. /* Skip verify of unwind_sp, invalid_p == 0 */
  465. /* Skip verify of frame_num_args, has predicate. */
  466. /* Skip verify of frame_align, has predicate. */
  467. /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */
  468. /* Skip verify of frame_red_zone_size, invalid_p == 0 */
  469. /* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */
  470. /* Skip verify of addr_bits_remove, invalid_p == 0 */
  471. /* Skip verify of significant_addr_bit, invalid_p == 0 */
  472. /* Skip verify of memtag_to_string, invalid_p == 0 */
  473. /* Skip verify of tagged_address_p, invalid_p == 0 */
  474. /* Skip verify of memtag_matches_p, invalid_p == 0 */
  475. /* Skip verify of set_memtags, invalid_p == 0 */
  476. /* Skip verify of get_memtag, invalid_p == 0 */
  477. /* Skip verify of memtag_granule_size, invalid_p == 0 */
  478. /* Skip verify of software_single_step, has predicate. */
  479. /* Skip verify of single_step_through_delay, has predicate. */
  480. /* Skip verify of print_insn, invalid_p == 0 */
  481. /* Skip verify of skip_trampoline_code, invalid_p == 0 */
  482. /* Skip verify of skip_solib_resolver, invalid_p == 0 */
  483. /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
  484. /* Skip verify of in_indirect_branch_thunk, invalid_p == 0 */
  485. /* Skip verify of stack_frame_destroyed_p, invalid_p == 0 */
  486. /* Skip verify of elf_make_msymbol_special, has predicate. */
  487. /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
  488. /* Skip verify of make_symbol_special, invalid_p == 0 */
  489. /* Skip verify of adjust_dwarf2_addr, invalid_p == 0 */
  490. /* Skip verify of adjust_dwarf2_line, invalid_p == 0 */
  491. /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
  492. /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
  493. /* Skip verify of address_class_type_flags, has predicate. */
  494. /* Skip verify of address_class_type_flags_to_name, has predicate. */
  495. /* Skip verify of execute_dwarf_cfa_vendor_op, invalid_p == 0 */
  496. /* Skip verify of address_class_name_to_type_flags, has predicate. */
  497. /* Skip verify of register_reggroup_p, invalid_p == 0 */
  498. /* Skip verify of fetch_pointer_argument, has predicate. */
  499. /* Skip verify of iterate_over_regset_sections, has predicate. */
  500. /* Skip verify of make_corefile_notes, has predicate. */
  501. /* Skip verify of find_memory_regions, has predicate. */
  502. /* Skip verify of core_xfer_shared_libraries, has predicate. */
  503. /* Skip verify of core_xfer_shared_libraries_aix, has predicate. */
  504. /* Skip verify of core_pid_to_str, has predicate. */
  505. /* Skip verify of core_thread_name, has predicate. */
  506. /* Skip verify of core_xfer_siginfo, has predicate. */
  507. /* Skip verify of gcore_bfd_target, has predicate. */
  508. /* Skip verify of vtable_function_descriptors, invalid_p == 0 */
  509. /* Skip verify of vbit_in_delta, invalid_p == 0 */
  510. /* Skip verify of skip_permanent_breakpoint, invalid_p == 0 */
  511. /* Skip verify of max_insn_length, has predicate. */
  512. /* Skip verify of displaced_step_copy_insn, has predicate. */
  513. /* Skip verify of displaced_step_hw_singlestep, invalid_p == 0 */
  514. /* Skip verify of displaced_step_fixup, has predicate. */
  515. /* Skip verify of displaced_step_prepare, has predicate. */
  516. if ((! gdbarch->displaced_step_finish) != (! gdbarch->displaced_step_prepare))
  517. log.puts ("\n\tdisplaced_step_finish");
  518. /* Skip verify of displaced_step_copy_insn_closure_by_addr, has predicate. */
  519. /* Skip verify of displaced_step_restore_all_in_ptid, invalid_p == 0 */
  520. /* Skip verify of relocate_instruction, has predicate. */
  521. /* Skip verify of overlay_update, has predicate. */
  522. /* Skip verify of core_read_description, has predicate. */
  523. /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */
  524. /* Skip verify of process_record, has predicate. */
  525. /* Skip verify of process_record_signal, has predicate. */
  526. /* Skip verify of gdb_signal_from_target, has predicate. */
  527. /* Skip verify of gdb_signal_to_target, has predicate. */
  528. /* Skip verify of get_siginfo_type, has predicate. */
  529. /* Skip verify of record_special_symbol, has predicate. */
  530. /* Skip verify of get_syscall_number, has predicate. */
  531. /* Skip verify of xml_syscall_file, invalid_p == 0 */
  532. /* Skip verify of syscalls_info, invalid_p == 0 */
  533. /* Skip verify of stap_integer_prefixes, invalid_p == 0 */
  534. /* Skip verify of stap_integer_suffixes, invalid_p == 0 */
  535. /* Skip verify of stap_register_prefixes, invalid_p == 0 */
  536. /* Skip verify of stap_register_suffixes, invalid_p == 0 */
  537. /* Skip verify of stap_register_indirection_prefixes, invalid_p == 0 */
  538. /* Skip verify of stap_register_indirection_suffixes, invalid_p == 0 */
  539. /* Skip verify of stap_gdb_register_prefix, invalid_p == 0 */
  540. /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */
  541. /* Skip verify of stap_is_single_operand, has predicate. */
  542. /* Skip verify of stap_parse_special_token, has predicate. */
  543. /* Skip verify of stap_adjust_register, has predicate. */
  544. /* Skip verify of dtrace_parse_probe_argument, has predicate. */
  545. /* Skip verify of dtrace_probe_is_enabled, has predicate. */
  546. /* Skip verify of dtrace_enable_probe, has predicate. */
  547. /* Skip verify of dtrace_disable_probe, has predicate. */
  548. /* Skip verify of has_global_solist, invalid_p == 0 */
  549. /* Skip verify of has_global_breakpoints, invalid_p == 0 */
  550. /* Skip verify of has_shared_address_space, invalid_p == 0 */
  551. /* Skip verify of fast_tracepoint_valid_at, invalid_p == 0 */
  552. /* Skip verify of guess_tracepoint_registers, invalid_p == 0 */
  553. /* Skip verify of auto_charset, invalid_p == 0 */
  554. /* Skip verify of auto_wide_charset, invalid_p == 0 */
  555. /* Skip verify of solib_symbols_extension, invalid_p == 0 */
  556. /* Skip verify of has_dos_based_file_system, invalid_p == 0 */
  557. /* Skip verify of gen_return_address, invalid_p == 0 */
  558. /* Skip verify of info_proc, has predicate. */
  559. /* Skip verify of core_info_proc, has predicate. */
  560. /* Skip verify of iterate_over_objfiles_in_search_order, invalid_p == 0 */
  561. /* Skip verify of ravenscar_ops, invalid_p == 0 */
  562. /* Skip verify of insn_is_call, invalid_p == 0 */
  563. /* Skip verify of insn_is_ret, invalid_p == 0 */
  564. /* Skip verify of insn_is_jump, invalid_p == 0 */
  565. /* Skip verify of program_breakpoint_here_p, invalid_p == 0 */
  566. /* Skip verify of auxv_parse, has predicate. */
  567. /* Skip verify of print_auxv_entry, invalid_p == 0 */
  568. /* Skip verify of vsyscall_range, invalid_p == 0 */
  569. /* Skip verify of infcall_mmap, invalid_p == 0 */
  570. /* Skip verify of infcall_munmap, invalid_p == 0 */
  571. /* Skip verify of gcc_target_options, invalid_p == 0 */
  572. /* Skip verify of gnu_triplet_regexp, invalid_p == 0 */
  573. /* Skip verify of addressable_memory_unit_size, invalid_p == 0 */
  574. /* Skip verify of disassembler_options_implicit, invalid_p == 0 */
  575. /* Skip verify of disassembler_options, invalid_p == 0 */
  576. /* Skip verify of valid_disassembler_options, invalid_p == 0 */
  577. /* Skip verify of type_align, invalid_p == 0 */
  578. /* Skip verify of get_pc_address_flags, invalid_p == 0 */
  579. /* Skip verify of read_core_file_mappings, invalid_p == 0 */
  580. if (!log.empty ())
  581. internal_error (__FILE__, __LINE__,
  582. _("verify_gdbarch: the following are invalid ...%s"),
  583. log.c_str ());
  584. }
  585. /* Print out the details of the current architecture. */
  586. void
  587. gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
  588. {
  589. const char *gdb_nm_file = "<not-defined>";
  590. #if defined (GDB_NM_FILE)
  591. gdb_nm_file = GDB_NM_FILE;
  592. #endif
  593. gdb_printf (file,
  594. "gdbarch_dump: GDB_NM_FILE = %s\n",
  595. gdb_nm_file);
  596. gdb_printf (file,
  597. "gdbarch_dump: bfd_arch_info = %s\n",
  598. gdbarch_bfd_arch_info (gdbarch)->printable_name);
  599. gdb_printf (file,
  600. "gdbarch_dump: byte_order = %s\n",
  601. plongest (gdbarch->byte_order));
  602. gdb_printf (file,
  603. "gdbarch_dump: byte_order_for_code = %s\n",
  604. plongest (gdbarch->byte_order_for_code));
  605. gdb_printf (file,
  606. "gdbarch_dump: osabi = %s\n",
  607. plongest (gdbarch->osabi));
  608. gdb_printf (file,
  609. "gdbarch_dump: target_desc = %s\n",
  610. host_address_to_string (gdbarch->target_desc));
  611. gdb_printf (file,
  612. "gdbarch_dump: short_bit = %s\n",
  613. plongest (gdbarch->short_bit));
  614. gdb_printf (file,
  615. "gdbarch_dump: int_bit = %s\n",
  616. plongest (gdbarch->int_bit));
  617. gdb_printf (file,
  618. "gdbarch_dump: long_bit = %s\n",
  619. plongest (gdbarch->long_bit));
  620. gdb_printf (file,
  621. "gdbarch_dump: long_long_bit = %s\n",
  622. plongest (gdbarch->long_long_bit));
  623. gdb_printf (file,
  624. "gdbarch_dump: bfloat16_bit = %s\n",
  625. plongest (gdbarch->bfloat16_bit));
  626. gdb_printf (file,
  627. "gdbarch_dump: bfloat16_format = %s\n",
  628. pformat (gdbarch->bfloat16_format));
  629. gdb_printf (file,
  630. "gdbarch_dump: half_bit = %s\n",
  631. plongest (gdbarch->half_bit));
  632. gdb_printf (file,
  633. "gdbarch_dump: half_format = %s\n",
  634. pformat (gdbarch->half_format));
  635. gdb_printf (file,
  636. "gdbarch_dump: float_bit = %s\n",
  637. plongest (gdbarch->float_bit));
  638. gdb_printf (file,
  639. "gdbarch_dump: float_format = %s\n",
  640. pformat (gdbarch->float_format));
  641. gdb_printf (file,
  642. "gdbarch_dump: double_bit = %s\n",
  643. plongest (gdbarch->double_bit));
  644. gdb_printf (file,
  645. "gdbarch_dump: double_format = %s\n",
  646. pformat (gdbarch->double_format));
  647. gdb_printf (file,
  648. "gdbarch_dump: long_double_bit = %s\n",
  649. plongest (gdbarch->long_double_bit));
  650. gdb_printf (file,
  651. "gdbarch_dump: long_double_format = %s\n",
  652. pformat (gdbarch->long_double_format));
  653. gdb_printf (file,
  654. "gdbarch_dump: wchar_bit = %s\n",
  655. plongest (gdbarch->wchar_bit));
  656. gdb_printf (file,
  657. "gdbarch_dump: wchar_signed = %s\n",
  658. plongest (gdbarch->wchar_signed));
  659. gdb_printf (file,
  660. "gdbarch_dump: floatformat_for_type = <%s>\n",
  661. host_address_to_string (gdbarch->floatformat_for_type));
  662. gdb_printf (file,
  663. "gdbarch_dump: ptr_bit = %s\n",
  664. plongest (gdbarch->ptr_bit));
  665. gdb_printf (file,
  666. "gdbarch_dump: addr_bit = %s\n",
  667. plongest (gdbarch->addr_bit));
  668. gdb_printf (file,
  669. "gdbarch_dump: dwarf2_addr_size = %s\n",
  670. plongest (gdbarch->dwarf2_addr_size));
  671. gdb_printf (file,
  672. "gdbarch_dump: char_signed = %s\n",
  673. plongest (gdbarch->char_signed));
  674. gdb_printf (file,
  675. "gdbarch_dump: gdbarch_read_pc_p() = %d\n",
  676. gdbarch_read_pc_p (gdbarch));
  677. gdb_printf (file,
  678. "gdbarch_dump: read_pc = <%s>\n",
  679. host_address_to_string (gdbarch->read_pc));
  680. gdb_printf (file,
  681. "gdbarch_dump: gdbarch_write_pc_p() = %d\n",
  682. gdbarch_write_pc_p (gdbarch));
  683. gdb_printf (file,
  684. "gdbarch_dump: write_pc = <%s>\n",
  685. host_address_to_string (gdbarch->write_pc));
  686. gdb_printf (file,
  687. "gdbarch_dump: virtual_frame_pointer = <%s>\n",
  688. host_address_to_string (gdbarch->virtual_frame_pointer));
  689. gdb_printf (file,
  690. "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
  691. gdbarch_pseudo_register_read_p (gdbarch));
  692. gdb_printf (file,
  693. "gdbarch_dump: pseudo_register_read = <%s>\n",
  694. host_address_to_string (gdbarch->pseudo_register_read));
  695. gdb_printf (file,
  696. "gdbarch_dump: gdbarch_pseudo_register_read_value_p() = %d\n",
  697. gdbarch_pseudo_register_read_value_p (gdbarch));
  698. gdb_printf (file,
  699. "gdbarch_dump: pseudo_register_read_value = <%s>\n",
  700. host_address_to_string (gdbarch->pseudo_register_read_value));
  701. gdb_printf (file,
  702. "gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n",
  703. gdbarch_pseudo_register_write_p (gdbarch));
  704. gdb_printf (file,
  705. "gdbarch_dump: pseudo_register_write = <%s>\n",
  706. host_address_to_string (gdbarch->pseudo_register_write));
  707. gdb_printf (file,
  708. "gdbarch_dump: num_regs = %s\n",
  709. plongest (gdbarch->num_regs));
  710. gdb_printf (file,
  711. "gdbarch_dump: num_pseudo_regs = %s\n",
  712. plongest (gdbarch->num_pseudo_regs));
  713. gdb_printf (file,
  714. "gdbarch_dump: gdbarch_ax_pseudo_register_collect_p() = %d\n",
  715. gdbarch_ax_pseudo_register_collect_p (gdbarch));
  716. gdb_printf (file,
  717. "gdbarch_dump: ax_pseudo_register_collect = <%s>\n",
  718. host_address_to_string (gdbarch->ax_pseudo_register_collect));
  719. gdb_printf (file,
  720. "gdbarch_dump: gdbarch_ax_pseudo_register_push_stack_p() = %d\n",
  721. gdbarch_ax_pseudo_register_push_stack_p (gdbarch));
  722. gdb_printf (file,
  723. "gdbarch_dump: ax_pseudo_register_push_stack = <%s>\n",
  724. host_address_to_string (gdbarch->ax_pseudo_register_push_stack));
  725. gdb_printf (file,
  726. "gdbarch_dump: gdbarch_report_signal_info_p() = %d\n",
  727. gdbarch_report_signal_info_p (gdbarch));
  728. gdb_printf (file,
  729. "gdbarch_dump: report_signal_info = <%s>\n",
  730. host_address_to_string (gdbarch->report_signal_info));
  731. gdb_printf (file,
  732. "gdbarch_dump: sp_regnum = %s\n",
  733. plongest (gdbarch->sp_regnum));
  734. gdb_printf (file,
  735. "gdbarch_dump: pc_regnum = %s\n",
  736. plongest (gdbarch->pc_regnum));
  737. gdb_printf (file,
  738. "gdbarch_dump: ps_regnum = %s\n",
  739. plongest (gdbarch->ps_regnum));
  740. gdb_printf (file,
  741. "gdbarch_dump: fp0_regnum = %s\n",
  742. plongest (gdbarch->fp0_regnum));
  743. gdb_printf (file,
  744. "gdbarch_dump: stab_reg_to_regnum = <%s>\n",
  745. host_address_to_string (gdbarch->stab_reg_to_regnum));
  746. gdb_printf (file,
  747. "gdbarch_dump: ecoff_reg_to_regnum = <%s>\n",
  748. host_address_to_string (gdbarch->ecoff_reg_to_regnum));
  749. gdb_printf (file,
  750. "gdbarch_dump: sdb_reg_to_regnum = <%s>\n",
  751. host_address_to_string (gdbarch->sdb_reg_to_regnum));
  752. gdb_printf (file,
  753. "gdbarch_dump: dwarf2_reg_to_regnum = <%s>\n",
  754. host_address_to_string (gdbarch->dwarf2_reg_to_regnum));
  755. gdb_printf (file,
  756. "gdbarch_dump: register_name = <%s>\n",
  757. host_address_to_string (gdbarch->register_name));
  758. gdb_printf (file,
  759. "gdbarch_dump: register_type = <%s>\n",
  760. host_address_to_string (gdbarch->register_type));
  761. gdb_printf (file,
  762. "gdbarch_dump: dummy_id = <%s>\n",
  763. host_address_to_string (gdbarch->dummy_id));
  764. gdb_printf (file,
  765. "gdbarch_dump: deprecated_fp_regnum = %s\n",
  766. plongest (gdbarch->deprecated_fp_regnum));
  767. gdb_printf (file,
  768. "gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n",
  769. gdbarch_push_dummy_call_p (gdbarch));
  770. gdb_printf (file,
  771. "gdbarch_dump: push_dummy_call = <%s>\n",
  772. host_address_to_string (gdbarch->push_dummy_call));
  773. gdb_printf (file,
  774. "gdbarch_dump: call_dummy_location = %s\n",
  775. plongest (gdbarch->call_dummy_location));
  776. gdb_printf (file,
  777. "gdbarch_dump: gdbarch_push_dummy_code_p() = %d\n",
  778. gdbarch_push_dummy_code_p (gdbarch));
  779. gdb_printf (file,
  780. "gdbarch_dump: push_dummy_code = <%s>\n",
  781. host_address_to_string (gdbarch->push_dummy_code));
  782. gdb_printf (file,
  783. "gdbarch_dump: code_of_frame_writable = <%s>\n",
  784. host_address_to_string (gdbarch->code_of_frame_writable));
  785. gdb_printf (file,
  786. "gdbarch_dump: print_registers_info = <%s>\n",
  787. host_address_to_string (gdbarch->print_registers_info));
  788. gdb_printf (file,
  789. "gdbarch_dump: print_float_info = <%s>\n",
  790. host_address_to_string (gdbarch->print_float_info));
  791. gdb_printf (file,
  792. "gdbarch_dump: gdbarch_print_vector_info_p() = %d\n",
  793. gdbarch_print_vector_info_p (gdbarch));
  794. gdb_printf (file,
  795. "gdbarch_dump: print_vector_info = <%s>\n",
  796. host_address_to_string (gdbarch->print_vector_info));
  797. gdb_printf (file,
  798. "gdbarch_dump: register_sim_regno = <%s>\n",
  799. host_address_to_string (gdbarch->register_sim_regno));
  800. gdb_printf (file,
  801. "gdbarch_dump: cannot_fetch_register = <%s>\n",
  802. host_address_to_string (gdbarch->cannot_fetch_register));
  803. gdb_printf (file,
  804. "gdbarch_dump: cannot_store_register = <%s>\n",
  805. host_address_to_string (gdbarch->cannot_store_register));
  806. gdb_printf (file,
  807. "gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
  808. gdbarch_get_longjmp_target_p (gdbarch));
  809. gdb_printf (file,
  810. "gdbarch_dump: get_longjmp_target = <%s>\n",
  811. host_address_to_string (gdbarch->get_longjmp_target));
  812. gdb_printf (file,
  813. "gdbarch_dump: believe_pcc_promotion = %s\n",
  814. plongest (gdbarch->believe_pcc_promotion));
  815. gdb_printf (file,
  816. "gdbarch_dump: convert_register_p = <%s>\n",
  817. host_address_to_string (gdbarch->convert_register_p));
  818. gdb_printf (file,
  819. "gdbarch_dump: register_to_value = <%s>\n",
  820. host_address_to_string (gdbarch->register_to_value));
  821. gdb_printf (file,
  822. "gdbarch_dump: value_to_register = <%s>\n",
  823. host_address_to_string (gdbarch->value_to_register));
  824. gdb_printf (file,
  825. "gdbarch_dump: value_from_register = <%s>\n",
  826. host_address_to_string (gdbarch->value_from_register));
  827. gdb_printf (file,
  828. "gdbarch_dump: pointer_to_address = <%s>\n",
  829. host_address_to_string (gdbarch->pointer_to_address));
  830. gdb_printf (file,
  831. "gdbarch_dump: address_to_pointer = <%s>\n",
  832. host_address_to_string (gdbarch->address_to_pointer));
  833. gdb_printf (file,
  834. "gdbarch_dump: gdbarch_integer_to_address_p() = %d\n",
  835. gdbarch_integer_to_address_p (gdbarch));
  836. gdb_printf (file,
  837. "gdbarch_dump: integer_to_address = <%s>\n",
  838. host_address_to_string (gdbarch->integer_to_address));
  839. gdb_printf (file,
  840. "gdbarch_dump: gdbarch_return_value_p() = %d\n",
  841. gdbarch_return_value_p (gdbarch));
  842. gdb_printf (file,
  843. "gdbarch_dump: return_value = <%s>\n",
  844. host_address_to_string (gdbarch->return_value));
  845. gdb_printf (file,
  846. "gdbarch_dump: return_in_first_hidden_param_p = <%s>\n",
  847. host_address_to_string (gdbarch->return_in_first_hidden_param_p));
  848. gdb_printf (file,
  849. "gdbarch_dump: skip_prologue = <%s>\n",
  850. host_address_to_string (gdbarch->skip_prologue));
  851. gdb_printf (file,
  852. "gdbarch_dump: gdbarch_skip_main_prologue_p() = %d\n",
  853. gdbarch_skip_main_prologue_p (gdbarch));
  854. gdb_printf (file,
  855. "gdbarch_dump: skip_main_prologue = <%s>\n",
  856. host_address_to_string (gdbarch->skip_main_prologue));
  857. gdb_printf (file,
  858. "gdbarch_dump: gdbarch_skip_entrypoint_p() = %d\n",
  859. gdbarch_skip_entrypoint_p (gdbarch));
  860. gdb_printf (file,
  861. "gdbarch_dump: skip_entrypoint = <%s>\n",
  862. host_address_to_string (gdbarch->skip_entrypoint));
  863. gdb_printf (file,
  864. "gdbarch_dump: inner_than = <%s>\n",
  865. host_address_to_string (gdbarch->inner_than));
  866. gdb_printf (file,
  867. "gdbarch_dump: breakpoint_from_pc = <%s>\n",
  868. host_address_to_string (gdbarch->breakpoint_from_pc));
  869. gdb_printf (file,
  870. "gdbarch_dump: breakpoint_kind_from_pc = <%s>\n",
  871. host_address_to_string (gdbarch->breakpoint_kind_from_pc));
  872. gdb_printf (file,
  873. "gdbarch_dump: sw_breakpoint_from_kind = <%s>\n",
  874. host_address_to_string (gdbarch->sw_breakpoint_from_kind));
  875. gdb_printf (file,
  876. "gdbarch_dump: breakpoint_kind_from_current_state = <%s>\n",
  877. host_address_to_string (gdbarch->breakpoint_kind_from_current_state));
  878. gdb_printf (file,
  879. "gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = %d\n",
  880. gdbarch_adjust_breakpoint_address_p (gdbarch));
  881. gdb_printf (file,
  882. "gdbarch_dump: adjust_breakpoint_address = <%s>\n",
  883. host_address_to_string (gdbarch->adjust_breakpoint_address));
  884. gdb_printf (file,
  885. "gdbarch_dump: memory_insert_breakpoint = <%s>\n",
  886. host_address_to_string (gdbarch->memory_insert_breakpoint));
  887. gdb_printf (file,
  888. "gdbarch_dump: memory_remove_breakpoint = <%s>\n",
  889. host_address_to_string (gdbarch->memory_remove_breakpoint));
  890. gdb_printf (file,
  891. "gdbarch_dump: decr_pc_after_break = %s\n",
  892. core_addr_to_string_nz (gdbarch->decr_pc_after_break));
  893. gdb_printf (file,
  894. "gdbarch_dump: deprecated_function_start_offset = %s\n",
  895. core_addr_to_string_nz (gdbarch->deprecated_function_start_offset));
  896. gdb_printf (file,
  897. "gdbarch_dump: remote_register_number = <%s>\n",
  898. host_address_to_string (gdbarch->remote_register_number));
  899. gdb_printf (file,
  900. "gdbarch_dump: gdbarch_fetch_tls_load_module_address_p() = %d\n",
  901. gdbarch_fetch_tls_load_module_address_p (gdbarch));
  902. gdb_printf (file,
  903. "gdbarch_dump: fetch_tls_load_module_address = <%s>\n",
  904. host_address_to_string (gdbarch->fetch_tls_load_module_address));
  905. gdb_printf (file,
  906. "gdbarch_dump: gdbarch_get_thread_local_address_p() = %d\n",
  907. gdbarch_get_thread_local_address_p (gdbarch));
  908. gdb_printf (file,
  909. "gdbarch_dump: get_thread_local_address = <%s>\n",
  910. host_address_to_string (gdbarch->get_thread_local_address));
  911. gdb_printf (file,
  912. "gdbarch_dump: frame_args_skip = %s\n",
  913. core_addr_to_string_nz (gdbarch->frame_args_skip));
  914. gdb_printf (file,
  915. "gdbarch_dump: unwind_pc = <%s>\n",
  916. host_address_to_string (gdbarch->unwind_pc));
  917. gdb_printf (file,
  918. "gdbarch_dump: unwind_sp = <%s>\n",
  919. host_address_to_string (gdbarch->unwind_sp));
  920. gdb_printf (file,
  921. "gdbarch_dump: gdbarch_frame_num_args_p() = %d\n",
  922. gdbarch_frame_num_args_p (gdbarch));
  923. gdb_printf (file,
  924. "gdbarch_dump: frame_num_args = <%s>\n",
  925. host_address_to_string (gdbarch->frame_num_args));
  926. gdb_printf (file,
  927. "gdbarch_dump: gdbarch_frame_align_p() = %d\n",
  928. gdbarch_frame_align_p (gdbarch));
  929. gdb_printf (file,
  930. "gdbarch_dump: frame_align = <%s>\n",
  931. host_address_to_string (gdbarch->frame_align));
  932. gdb_printf (file,
  933. "gdbarch_dump: stabs_argument_has_addr = <%s>\n",
  934. host_address_to_string (gdbarch->stabs_argument_has_addr));
  935. gdb_printf (file,
  936. "gdbarch_dump: frame_red_zone_size = %s\n",
  937. plongest (gdbarch->frame_red_zone_size));
  938. gdb_printf (file,
  939. "gdbarch_dump: convert_from_func_ptr_addr = <%s>\n",
  940. host_address_to_string (gdbarch->convert_from_func_ptr_addr));
  941. gdb_printf (file,
  942. "gdbarch_dump: addr_bits_remove = <%s>\n",
  943. host_address_to_string (gdbarch->addr_bits_remove));
  944. gdb_printf (file,
  945. "gdbarch_dump: significant_addr_bit = %s\n",
  946. plongest (gdbarch->significant_addr_bit));
  947. gdb_printf (file,
  948. "gdbarch_dump: memtag_to_string = <%s>\n",
  949. host_address_to_string (gdbarch->memtag_to_string));
  950. gdb_printf (file,
  951. "gdbarch_dump: tagged_address_p = <%s>\n",
  952. host_address_to_string (gdbarch->tagged_address_p));
  953. gdb_printf (file,
  954. "gdbarch_dump: memtag_matches_p = <%s>\n",
  955. host_address_to_string (gdbarch->memtag_matches_p));
  956. gdb_printf (file,
  957. "gdbarch_dump: set_memtags = <%s>\n",
  958. host_address_to_string (gdbarch->set_memtags));
  959. gdb_printf (file,
  960. "gdbarch_dump: get_memtag = <%s>\n",
  961. host_address_to_string (gdbarch->get_memtag));
  962. gdb_printf (file,
  963. "gdbarch_dump: memtag_granule_size = %s\n",
  964. core_addr_to_string_nz (gdbarch->memtag_granule_size));
  965. gdb_printf (file,
  966. "gdbarch_dump: gdbarch_software_single_step_p() = %d\n",
  967. gdbarch_software_single_step_p (gdbarch));
  968. gdb_printf (file,
  969. "gdbarch_dump: software_single_step = <%s>\n",
  970. host_address_to_string (gdbarch->software_single_step));
  971. gdb_printf (file,
  972. "gdbarch_dump: gdbarch_single_step_through_delay_p() = %d\n",
  973. gdbarch_single_step_through_delay_p (gdbarch));
  974. gdb_printf (file,
  975. "gdbarch_dump: single_step_through_delay = <%s>\n",
  976. host_address_to_string (gdbarch->single_step_through_delay));
  977. gdb_printf (file,
  978. "gdbarch_dump: print_insn = <%s>\n",
  979. host_address_to_string (gdbarch->print_insn));
  980. gdb_printf (file,
  981. "gdbarch_dump: skip_trampoline_code = <%s>\n",
  982. host_address_to_string (gdbarch->skip_trampoline_code));
  983. gdb_printf (file,
  984. "gdbarch_dump: skip_solib_resolver = <%s>\n",
  985. host_address_to_string (gdbarch->skip_solib_resolver));
  986. gdb_printf (file,
  987. "gdbarch_dump: in_solib_return_trampoline = <%s>\n",
  988. host_address_to_string (gdbarch->in_solib_return_trampoline));
  989. gdb_printf (file,
  990. "gdbarch_dump: in_indirect_branch_thunk = <%s>\n",
  991. host_address_to_string (gdbarch->in_indirect_branch_thunk));
  992. gdb_printf (file,
  993. "gdbarch_dump: stack_frame_destroyed_p = <%s>\n",
  994. host_address_to_string (gdbarch->stack_frame_destroyed_p));
  995. gdb_printf (file,
  996. "gdbarch_dump: gdbarch_elf_make_msymbol_special_p() = %d\n",
  997. gdbarch_elf_make_msymbol_special_p (gdbarch));
  998. gdb_printf (file,
  999. "gdbarch_dump: elf_make_msymbol_special = <%s>\n",
  1000. host_address_to_string (gdbarch->elf_make_msymbol_special));
  1001. gdb_printf (file,
  1002. "gdbarch_dump: coff_make_msymbol_special = <%s>\n",
  1003. host_address_to_string (gdbarch->coff_make_msymbol_special));
  1004. gdb_printf (file,
  1005. "gdbarch_dump: make_symbol_special = <%s>\n",
  1006. host_address_to_string (gdbarch->make_symbol_special));
  1007. gdb_printf (file,
  1008. "gdbarch_dump: adjust_dwarf2_addr = <%s>\n",
  1009. host_address_to_string (gdbarch->adjust_dwarf2_addr));
  1010. gdb_printf (file,
  1011. "gdbarch_dump: adjust_dwarf2_line = <%s>\n",
  1012. host_address_to_string (gdbarch->adjust_dwarf2_line));
  1013. gdb_printf (file,
  1014. "gdbarch_dump: cannot_step_breakpoint = %s\n",
  1015. plongest (gdbarch->cannot_step_breakpoint));
  1016. gdb_printf (file,
  1017. "gdbarch_dump: have_nonsteppable_watchpoint = %s\n",
  1018. plongest (gdbarch->have_nonsteppable_watchpoint));
  1019. gdb_printf (file,
  1020. "gdbarch_dump: gdbarch_address_class_type_flags_p() = %d\n",
  1021. gdbarch_address_class_type_flags_p (gdbarch));
  1022. gdb_printf (file,
  1023. "gdbarch_dump: address_class_type_flags = <%s>\n",
  1024. host_address_to_string (gdbarch->address_class_type_flags));
  1025. gdb_printf (file,
  1026. "gdbarch_dump: gdbarch_address_class_type_flags_to_name_p() = %d\n",
  1027. gdbarch_address_class_type_flags_to_name_p (gdbarch));
  1028. gdb_printf (file,
  1029. "gdbarch_dump: address_class_type_flags_to_name = <%s>\n",
  1030. host_address_to_string (gdbarch->address_class_type_flags_to_name));
  1031. gdb_printf (file,
  1032. "gdbarch_dump: execute_dwarf_cfa_vendor_op = <%s>\n",
  1033. host_address_to_string (gdbarch->execute_dwarf_cfa_vendor_op));
  1034. gdb_printf (file,
  1035. "gdbarch_dump: gdbarch_address_class_name_to_type_flags_p() = %d\n",
  1036. gdbarch_address_class_name_to_type_flags_p (gdbarch));
  1037. gdb_printf (file,
  1038. "gdbarch_dump: address_class_name_to_type_flags = <%s>\n",
  1039. host_address_to_string (gdbarch->address_class_name_to_type_flags));
  1040. gdb_printf (file,
  1041. "gdbarch_dump: register_reggroup_p = <%s>\n",
  1042. host_address_to_string (gdbarch->register_reggroup_p));
  1043. gdb_printf (file,
  1044. "gdbarch_dump: gdbarch_fetch_pointer_argument_p() = %d\n",
  1045. gdbarch_fetch_pointer_argument_p (gdbarch));
  1046. gdb_printf (file,
  1047. "gdbarch_dump: fetch_pointer_argument = <%s>\n",
  1048. host_address_to_string (gdbarch->fetch_pointer_argument));
  1049. gdb_printf (file,
  1050. "gdbarch_dump: gdbarch_iterate_over_regset_sections_p() = %d\n",
  1051. gdbarch_iterate_over_regset_sections_p (gdbarch));
  1052. gdb_printf (file,
  1053. "gdbarch_dump: iterate_over_regset_sections = <%s>\n",
  1054. host_address_to_string (gdbarch->iterate_over_regset_sections));
  1055. gdb_printf (file,
  1056. "gdbarch_dump: gdbarch_make_corefile_notes_p() = %d\n",
  1057. gdbarch_make_corefile_notes_p (gdbarch));
  1058. gdb_printf (file,
  1059. "gdbarch_dump: make_corefile_notes = <%s>\n",
  1060. host_address_to_string (gdbarch->make_corefile_notes));
  1061. gdb_printf (file,
  1062. "gdbarch_dump: gdbarch_find_memory_regions_p() = %d\n",
  1063. gdbarch_find_memory_regions_p (gdbarch));
  1064. gdb_printf (file,
  1065. "gdbarch_dump: find_memory_regions = <%s>\n",
  1066. host_address_to_string (gdbarch->find_memory_regions));
  1067. gdb_printf (file,
  1068. "gdbarch_dump: gdbarch_core_xfer_shared_libraries_p() = %d\n",
  1069. gdbarch_core_xfer_shared_libraries_p (gdbarch));
  1070. gdb_printf (file,
  1071. "gdbarch_dump: core_xfer_shared_libraries = <%s>\n",
  1072. host_address_to_string (gdbarch->core_xfer_shared_libraries));
  1073. gdb_printf (file,
  1074. "gdbarch_dump: gdbarch_core_xfer_shared_libraries_aix_p() = %d\n",
  1075. gdbarch_core_xfer_shared_libraries_aix_p (gdbarch));
  1076. gdb_printf (file,
  1077. "gdbarch_dump: core_xfer_shared_libraries_aix = <%s>\n",
  1078. host_address_to_string (gdbarch->core_xfer_shared_libraries_aix));
  1079. gdb_printf (file,
  1080. "gdbarch_dump: gdbarch_core_pid_to_str_p() = %d\n",
  1081. gdbarch_core_pid_to_str_p (gdbarch));
  1082. gdb_printf (file,
  1083. "gdbarch_dump: core_pid_to_str = <%s>\n",
  1084. host_address_to_string (gdbarch->core_pid_to_str));
  1085. gdb_printf (file,
  1086. "gdbarch_dump: gdbarch_core_thread_name_p() = %d\n",
  1087. gdbarch_core_thread_name_p (gdbarch));
  1088. gdb_printf (file,
  1089. "gdbarch_dump: core_thread_name = <%s>\n",
  1090. host_address_to_string (gdbarch->core_thread_name));
  1091. gdb_printf (file,
  1092. "gdbarch_dump: gdbarch_core_xfer_siginfo_p() = %d\n",
  1093. gdbarch_core_xfer_siginfo_p (gdbarch));
  1094. gdb_printf (file,
  1095. "gdbarch_dump: core_xfer_siginfo = <%s>\n",
  1096. host_address_to_string (gdbarch->core_xfer_siginfo));
  1097. gdb_printf (file,
  1098. "gdbarch_dump: gdbarch_gcore_bfd_target_p() = %d\n",
  1099. gdbarch_gcore_bfd_target_p (gdbarch));
  1100. gdb_printf (file,
  1101. "gdbarch_dump: gcore_bfd_target = %s\n",
  1102. pstring (gdbarch->gcore_bfd_target));
  1103. gdb_printf (file,
  1104. "gdbarch_dump: vtable_function_descriptors = %s\n",
  1105. plongest (gdbarch->vtable_function_descriptors));
  1106. gdb_printf (file,
  1107. "gdbarch_dump: vbit_in_delta = %s\n",
  1108. plongest (gdbarch->vbit_in_delta));
  1109. gdb_printf (file,
  1110. "gdbarch_dump: skip_permanent_breakpoint = <%s>\n",
  1111. host_address_to_string (gdbarch->skip_permanent_breakpoint));
  1112. gdb_printf (file,
  1113. "gdbarch_dump: gdbarch_max_insn_length_p() = %d\n",
  1114. gdbarch_max_insn_length_p (gdbarch));
  1115. gdb_printf (file,
  1116. "gdbarch_dump: max_insn_length = %s\n",
  1117. plongest (gdbarch->max_insn_length));
  1118. gdb_printf (file,
  1119. "gdbarch_dump: gdbarch_displaced_step_copy_insn_p() = %d\n",
  1120. gdbarch_displaced_step_copy_insn_p (gdbarch));
  1121. gdb_printf (file,
  1122. "gdbarch_dump: displaced_step_copy_insn = <%s>\n",
  1123. host_address_to_string (gdbarch->displaced_step_copy_insn));
  1124. gdb_printf (file,
  1125. "gdbarch_dump: displaced_step_hw_singlestep = <%s>\n",
  1126. host_address_to_string (gdbarch->displaced_step_hw_singlestep));
  1127. gdb_printf (file,
  1128. "gdbarch_dump: gdbarch_displaced_step_fixup_p() = %d\n",
  1129. gdbarch_displaced_step_fixup_p (gdbarch));
  1130. gdb_printf (file,
  1131. "gdbarch_dump: displaced_step_fixup = <%s>\n",
  1132. host_address_to_string (gdbarch->displaced_step_fixup));
  1133. gdb_printf (file,
  1134. "gdbarch_dump: gdbarch_displaced_step_prepare_p() = %d\n",
  1135. gdbarch_displaced_step_prepare_p (gdbarch));
  1136. gdb_printf (file,
  1137. "gdbarch_dump: displaced_step_prepare = <%s>\n",
  1138. host_address_to_string (gdbarch->displaced_step_prepare));
  1139. gdb_printf (file,
  1140. "gdbarch_dump: displaced_step_finish = <%s>\n",
  1141. host_address_to_string (gdbarch->displaced_step_finish));
  1142. gdb_printf (file,
  1143. "gdbarch_dump: gdbarch_displaced_step_copy_insn_closure_by_addr_p() = %d\n",
  1144. gdbarch_displaced_step_copy_insn_closure_by_addr_p (gdbarch));
  1145. gdb_printf (file,
  1146. "gdbarch_dump: displaced_step_copy_insn_closure_by_addr = <%s>\n",
  1147. host_address_to_string (gdbarch->displaced_step_copy_insn_closure_by_addr));
  1148. gdb_printf (file,
  1149. "gdbarch_dump: displaced_step_restore_all_in_ptid = <%s>\n",
  1150. host_address_to_string (gdbarch->displaced_step_restore_all_in_ptid));
  1151. gdb_printf (file,
  1152. "gdbarch_dump: gdbarch_relocate_instruction_p() = %d\n",
  1153. gdbarch_relocate_instruction_p (gdbarch));
  1154. gdb_printf (file,
  1155. "gdbarch_dump: relocate_instruction = <%s>\n",
  1156. host_address_to_string (gdbarch->relocate_instruction));
  1157. gdb_printf (file,
  1158. "gdbarch_dump: gdbarch_overlay_update_p() = %d\n",
  1159. gdbarch_overlay_update_p (gdbarch));
  1160. gdb_printf (file,
  1161. "gdbarch_dump: overlay_update = <%s>\n",
  1162. host_address_to_string (gdbarch->overlay_update));
  1163. gdb_printf (file,
  1164. "gdbarch_dump: gdbarch_core_read_description_p() = %d\n",
  1165. gdbarch_core_read_description_p (gdbarch));
  1166. gdb_printf (file,
  1167. "gdbarch_dump: core_read_description = <%s>\n",
  1168. host_address_to_string (gdbarch->core_read_description));
  1169. gdb_printf (file,
  1170. "gdbarch_dump: sofun_address_maybe_missing = %s\n",
  1171. plongest (gdbarch->sofun_address_maybe_missing));
  1172. gdb_printf (file,
  1173. "gdbarch_dump: gdbarch_process_record_p() = %d\n",
  1174. gdbarch_process_record_p (gdbarch));
  1175. gdb_printf (file,
  1176. "gdbarch_dump: process_record = <%s>\n",
  1177. host_address_to_string (gdbarch->process_record));
  1178. gdb_printf (file,
  1179. "gdbarch_dump: gdbarch_process_record_signal_p() = %d\n",
  1180. gdbarch_process_record_signal_p (gdbarch));
  1181. gdb_printf (file,
  1182. "gdbarch_dump: process_record_signal = <%s>\n",
  1183. host_address_to_string (gdbarch->process_record_signal));
  1184. gdb_printf (file,
  1185. "gdbarch_dump: gdbarch_gdb_signal_from_target_p() = %d\n",
  1186. gdbarch_gdb_signal_from_target_p (gdbarch));
  1187. gdb_printf (file,
  1188. "gdbarch_dump: gdb_signal_from_target = <%s>\n",
  1189. host_address_to_string (gdbarch->gdb_signal_from_target));
  1190. gdb_printf (file,
  1191. "gdbarch_dump: gdbarch_gdb_signal_to_target_p() = %d\n",
  1192. gdbarch_gdb_signal_to_target_p (gdbarch));
  1193. gdb_printf (file,
  1194. "gdbarch_dump: gdb_signal_to_target = <%s>\n",
  1195. host_address_to_string (gdbarch->gdb_signal_to_target));
  1196. gdb_printf (file,
  1197. "gdbarch_dump: gdbarch_get_siginfo_type_p() = %d\n",
  1198. gdbarch_get_siginfo_type_p (gdbarch));
  1199. gdb_printf (file,
  1200. "gdbarch_dump: get_siginfo_type = <%s>\n",
  1201. host_address_to_string (gdbarch->get_siginfo_type));
  1202. gdb_printf (file,
  1203. "gdbarch_dump: gdbarch_record_special_symbol_p() = %d\n",
  1204. gdbarch_record_special_symbol_p (gdbarch));
  1205. gdb_printf (file,
  1206. "gdbarch_dump: record_special_symbol = <%s>\n",
  1207. host_address_to_string (gdbarch->record_special_symbol));
  1208. gdb_printf (file,
  1209. "gdbarch_dump: gdbarch_get_syscall_number_p() = %d\n",
  1210. gdbarch_get_syscall_number_p (gdbarch));
  1211. gdb_printf (file,
  1212. "gdbarch_dump: get_syscall_number = <%s>\n",
  1213. host_address_to_string (gdbarch->get_syscall_number));
  1214. gdb_printf (file,
  1215. "gdbarch_dump: xml_syscall_file = %s\n",
  1216. pstring (gdbarch->xml_syscall_file));
  1217. gdb_printf (file,
  1218. "gdbarch_dump: syscalls_info = %s\n",
  1219. host_address_to_string (gdbarch->syscalls_info));
  1220. gdb_printf (file,
  1221. "gdbarch_dump: stap_integer_prefixes = %s\n",
  1222. pstring_list (gdbarch->stap_integer_prefixes));
  1223. gdb_printf (file,
  1224. "gdbarch_dump: stap_integer_suffixes = %s\n",
  1225. pstring_list (gdbarch->stap_integer_suffixes));
  1226. gdb_printf (file,
  1227. "gdbarch_dump: stap_register_prefixes = %s\n",
  1228. pstring_list (gdbarch->stap_register_prefixes));
  1229. gdb_printf (file,
  1230. "gdbarch_dump: stap_register_suffixes = %s\n",
  1231. pstring_list (gdbarch->stap_register_suffixes));
  1232. gdb_printf (file,
  1233. "gdbarch_dump: stap_register_indirection_prefixes = %s\n",
  1234. pstring_list (gdbarch->stap_register_indirection_prefixes));
  1235. gdb_printf (file,
  1236. "gdbarch_dump: stap_register_indirection_suffixes = %s\n",
  1237. pstring_list (gdbarch->stap_register_indirection_suffixes));
  1238. gdb_printf (file,
  1239. "gdbarch_dump: stap_gdb_register_prefix = %s\n",
  1240. pstring (gdbarch->stap_gdb_register_prefix));
  1241. gdb_printf (file,
  1242. "gdbarch_dump: stap_gdb_register_suffix = %s\n",
  1243. pstring (gdbarch->stap_gdb_register_suffix));
  1244. gdb_printf (file,
  1245. "gdbarch_dump: gdbarch_stap_is_single_operand_p() = %d\n",
  1246. gdbarch_stap_is_single_operand_p (gdbarch));
  1247. gdb_printf (file,
  1248. "gdbarch_dump: stap_is_single_operand = <%s>\n",
  1249. host_address_to_string (gdbarch->stap_is_single_operand));
  1250. gdb_printf (file,
  1251. "gdbarch_dump: gdbarch_stap_parse_special_token_p() = %d\n",
  1252. gdbarch_stap_parse_special_token_p (gdbarch));
  1253. gdb_printf (file,
  1254. "gdbarch_dump: stap_parse_special_token = <%s>\n",
  1255. host_address_to_string (gdbarch->stap_parse_special_token));
  1256. gdb_printf (file,
  1257. "gdbarch_dump: gdbarch_stap_adjust_register_p() = %d\n",
  1258. gdbarch_stap_adjust_register_p (gdbarch));
  1259. gdb_printf (file,
  1260. "gdbarch_dump: stap_adjust_register = <%s>\n",
  1261. host_address_to_string (gdbarch->stap_adjust_register));
  1262. gdb_printf (file,
  1263. "gdbarch_dump: gdbarch_dtrace_parse_probe_argument_p() = %d\n",
  1264. gdbarch_dtrace_parse_probe_argument_p (gdbarch));
  1265. gdb_printf (file,
  1266. "gdbarch_dump: dtrace_parse_probe_argument = <%s>\n",
  1267. host_address_to_string (gdbarch->dtrace_parse_probe_argument));
  1268. gdb_printf (file,
  1269. "gdbarch_dump: gdbarch_dtrace_probe_is_enabled_p() = %d\n",
  1270. gdbarch_dtrace_probe_is_enabled_p (gdbarch));
  1271. gdb_printf (file,
  1272. "gdbarch_dump: dtrace_probe_is_enabled = <%s>\n",
  1273. host_address_to_string (gdbarch->dtrace_probe_is_enabled));
  1274. gdb_printf (file,
  1275. "gdbarch_dump: gdbarch_dtrace_enable_probe_p() = %d\n",
  1276. gdbarch_dtrace_enable_probe_p (gdbarch));
  1277. gdb_printf (file,
  1278. "gdbarch_dump: dtrace_enable_probe = <%s>\n",
  1279. host_address_to_string (gdbarch->dtrace_enable_probe));
  1280. gdb_printf (file,
  1281. "gdbarch_dump: gdbarch_dtrace_disable_probe_p() = %d\n",
  1282. gdbarch_dtrace_disable_probe_p (gdbarch));
  1283. gdb_printf (file,
  1284. "gdbarch_dump: dtrace_disable_probe = <%s>\n",
  1285. host_address_to_string (gdbarch->dtrace_disable_probe));
  1286. gdb_printf (file,
  1287. "gdbarch_dump: has_global_solist = %s\n",
  1288. plongest (gdbarch->has_global_solist));
  1289. gdb_printf (file,
  1290. "gdbarch_dump: has_global_breakpoints = %s\n",
  1291. plongest (gdbarch->has_global_breakpoints));
  1292. gdb_printf (file,
  1293. "gdbarch_dump: has_shared_address_space = <%s>\n",
  1294. host_address_to_string (gdbarch->has_shared_address_space));
  1295. gdb_printf (file,
  1296. "gdbarch_dump: fast_tracepoint_valid_at = <%s>\n",
  1297. host_address_to_string (gdbarch->fast_tracepoint_valid_at));
  1298. gdb_printf (file,
  1299. "gdbarch_dump: guess_tracepoint_registers = <%s>\n",
  1300. host_address_to_string (gdbarch->guess_tracepoint_registers));
  1301. gdb_printf (file,
  1302. "gdbarch_dump: auto_charset = <%s>\n",
  1303. host_address_to_string (gdbarch->auto_charset));
  1304. gdb_printf (file,
  1305. "gdbarch_dump: auto_wide_charset = <%s>\n",
  1306. host_address_to_string (gdbarch->auto_wide_charset));
  1307. gdb_printf (file,
  1308. "gdbarch_dump: solib_symbols_extension = %s\n",
  1309. pstring (gdbarch->solib_symbols_extension));
  1310. gdb_printf (file,
  1311. "gdbarch_dump: has_dos_based_file_system = %s\n",
  1312. plongest (gdbarch->has_dos_based_file_system));
  1313. gdb_printf (file,
  1314. "gdbarch_dump: gen_return_address = <%s>\n",
  1315. host_address_to_string (gdbarch->gen_return_address));
  1316. gdb_printf (file,
  1317. "gdbarch_dump: gdbarch_info_proc_p() = %d\n",
  1318. gdbarch_info_proc_p (gdbarch));
  1319. gdb_printf (file,
  1320. "gdbarch_dump: info_proc = <%s>\n",
  1321. host_address_to_string (gdbarch->info_proc));
  1322. gdb_printf (file,
  1323. "gdbarch_dump: gdbarch_core_info_proc_p() = %d\n",
  1324. gdbarch_core_info_proc_p (gdbarch));
  1325. gdb_printf (file,
  1326. "gdbarch_dump: core_info_proc = <%s>\n",
  1327. host_address_to_string (gdbarch->core_info_proc));
  1328. gdb_printf (file,
  1329. "gdbarch_dump: iterate_over_objfiles_in_search_order = <%s>\n",
  1330. host_address_to_string (gdbarch->iterate_over_objfiles_in_search_order));
  1331. gdb_printf (file,
  1332. "gdbarch_dump: ravenscar_ops = %s\n",
  1333. host_address_to_string (gdbarch->ravenscar_ops));
  1334. gdb_printf (file,
  1335. "gdbarch_dump: insn_is_call = <%s>\n",
  1336. host_address_to_string (gdbarch->insn_is_call));
  1337. gdb_printf (file,
  1338. "gdbarch_dump: insn_is_ret = <%s>\n",
  1339. host_address_to_string (gdbarch->insn_is_ret));
  1340. gdb_printf (file,
  1341. "gdbarch_dump: insn_is_jump = <%s>\n",
  1342. host_address_to_string (gdbarch->insn_is_jump));
  1343. gdb_printf (file,
  1344. "gdbarch_dump: program_breakpoint_here_p = <%s>\n",
  1345. host_address_to_string (gdbarch->program_breakpoint_here_p));
  1346. gdb_printf (file,
  1347. "gdbarch_dump: gdbarch_auxv_parse_p() = %d\n",
  1348. gdbarch_auxv_parse_p (gdbarch));
  1349. gdb_printf (file,
  1350. "gdbarch_dump: auxv_parse = <%s>\n",
  1351. host_address_to_string (gdbarch->auxv_parse));
  1352. gdb_printf (file,
  1353. "gdbarch_dump: print_auxv_entry = <%s>\n",
  1354. host_address_to_string (gdbarch->print_auxv_entry));
  1355. gdb_printf (file,
  1356. "gdbarch_dump: vsyscall_range = <%s>\n",
  1357. host_address_to_string (gdbarch->vsyscall_range));
  1358. gdb_printf (file,
  1359. "gdbarch_dump: infcall_mmap = <%s>\n",
  1360. host_address_to_string (gdbarch->infcall_mmap));
  1361. gdb_printf (file,
  1362. "gdbarch_dump: infcall_munmap = <%s>\n",
  1363. host_address_to_string (gdbarch->infcall_munmap));
  1364. gdb_printf (file,
  1365. "gdbarch_dump: gcc_target_options = <%s>\n",
  1366. host_address_to_string (gdbarch->gcc_target_options));
  1367. gdb_printf (file,
  1368. "gdbarch_dump: gnu_triplet_regexp = <%s>\n",
  1369. host_address_to_string (gdbarch->gnu_triplet_regexp));
  1370. gdb_printf (file,
  1371. "gdbarch_dump: addressable_memory_unit_size = <%s>\n",
  1372. host_address_to_string (gdbarch->addressable_memory_unit_size));
  1373. gdb_printf (file,
  1374. "gdbarch_dump: disassembler_options_implicit = %s\n",
  1375. pstring (gdbarch->disassembler_options_implicit));
  1376. gdb_printf (file,
  1377. "gdbarch_dump: disassembler_options = %s\n",
  1378. pstring_ptr (gdbarch->disassembler_options));
  1379. gdb_printf (file,
  1380. "gdbarch_dump: valid_disassembler_options = %s\n",
  1381. host_address_to_string (gdbarch->valid_disassembler_options));
  1382. gdb_printf (file,
  1383. "gdbarch_dump: type_align = <%s>\n",
  1384. host_address_to_string (gdbarch->type_align));
  1385. gdb_printf (file,
  1386. "gdbarch_dump: get_pc_address_flags = <%s>\n",
  1387. host_address_to_string (gdbarch->get_pc_address_flags));
  1388. gdb_printf (file,
  1389. "gdbarch_dump: read_core_file_mappings = <%s>\n",
  1390. host_address_to_string (gdbarch->read_core_file_mappings));
  1391. if (gdbarch->dump_tdep != NULL)
  1392. gdbarch->dump_tdep (gdbarch, file);
  1393. }
  1394. const struct bfd_arch_info *
  1395. gdbarch_bfd_arch_info (struct gdbarch *gdbarch)
  1396. {
  1397. gdb_assert (gdbarch != NULL);
  1398. if (gdbarch_debug >= 2)
  1399. gdb_printf (gdb_stdlog, "gdbarch_bfd_arch_info called\n");
  1400. return gdbarch->bfd_arch_info;
  1401. }
  1402. enum bfd_endian
  1403. gdbarch_byte_order (struct gdbarch *gdbarch)
  1404. {
  1405. gdb_assert (gdbarch != NULL);
  1406. if (gdbarch_debug >= 2)
  1407. gdb_printf (gdb_stdlog, "gdbarch_byte_order called\n");
  1408. return gdbarch->byte_order;
  1409. }
  1410. enum bfd_endian
  1411. gdbarch_byte_order_for_code (struct gdbarch *gdbarch)
  1412. {
  1413. gdb_assert (gdbarch != NULL);
  1414. if (gdbarch_debug >= 2)
  1415. gdb_printf (gdb_stdlog, "gdbarch_byte_order_for_code called\n");
  1416. return gdbarch->byte_order_for_code;
  1417. }
  1418. enum gdb_osabi
  1419. gdbarch_osabi (struct gdbarch *gdbarch)
  1420. {
  1421. gdb_assert (gdbarch != NULL);
  1422. if (gdbarch_debug >= 2)
  1423. gdb_printf (gdb_stdlog, "gdbarch_osabi called\n");
  1424. return gdbarch->osabi;
  1425. }
  1426. const struct target_desc *
  1427. gdbarch_target_desc (struct gdbarch *gdbarch)
  1428. {
  1429. gdb_assert (gdbarch != NULL);
  1430. if (gdbarch_debug >= 2)
  1431. gdb_printf (gdb_stdlog, "gdbarch_target_desc called\n");
  1432. return gdbarch->target_desc;
  1433. }
  1434. int
  1435. gdbarch_short_bit (struct gdbarch *gdbarch)
  1436. {
  1437. gdb_assert (gdbarch != NULL);
  1438. /* Skip verify of short_bit, invalid_p == 0 */
  1439. if (gdbarch_debug >= 2)
  1440. gdb_printf (gdb_stdlog, "gdbarch_short_bit called\n");
  1441. return gdbarch->short_bit;
  1442. }
  1443. void
  1444. set_gdbarch_short_bit (struct gdbarch *gdbarch,
  1445. int short_bit)
  1446. {
  1447. gdbarch->short_bit = short_bit;
  1448. }
  1449. int
  1450. gdbarch_int_bit (struct gdbarch *gdbarch)
  1451. {
  1452. gdb_assert (gdbarch != NULL);
  1453. /* Skip verify of int_bit, invalid_p == 0 */
  1454. if (gdbarch_debug >= 2)
  1455. gdb_printf (gdb_stdlog, "gdbarch_int_bit called\n");
  1456. return gdbarch->int_bit;
  1457. }
  1458. void
  1459. set_gdbarch_int_bit (struct gdbarch *gdbarch,
  1460. int int_bit)
  1461. {
  1462. gdbarch->int_bit = int_bit;
  1463. }
  1464. int
  1465. gdbarch_long_bit (struct gdbarch *gdbarch)
  1466. {
  1467. gdb_assert (gdbarch != NULL);
  1468. /* Skip verify of long_bit, invalid_p == 0 */
  1469. if (gdbarch_debug >= 2)
  1470. gdb_printf (gdb_stdlog, "gdbarch_long_bit called\n");
  1471. return gdbarch->long_bit;
  1472. }
  1473. void
  1474. set_gdbarch_long_bit (struct gdbarch *gdbarch,
  1475. int long_bit)
  1476. {
  1477. gdbarch->long_bit = long_bit;
  1478. }
  1479. int
  1480. gdbarch_long_long_bit (struct gdbarch *gdbarch)
  1481. {
  1482. gdb_assert (gdbarch != NULL);
  1483. /* Skip verify of long_long_bit, invalid_p == 0 */
  1484. if (gdbarch_debug >= 2)
  1485. gdb_printf (gdb_stdlog, "gdbarch_long_long_bit called\n");
  1486. return gdbarch->long_long_bit;
  1487. }
  1488. void
  1489. set_gdbarch_long_long_bit (struct gdbarch *gdbarch,
  1490. int long_long_bit)
  1491. {
  1492. gdbarch->long_long_bit = long_long_bit;
  1493. }
  1494. int
  1495. gdbarch_bfloat16_bit (struct gdbarch *gdbarch)
  1496. {
  1497. gdb_assert (gdbarch != NULL);
  1498. /* Skip verify of bfloat16_bit, invalid_p == 0 */
  1499. if (gdbarch_debug >= 2)
  1500. gdb_printf (gdb_stdlog, "gdbarch_bfloat16_bit called\n");
  1501. return gdbarch->bfloat16_bit;
  1502. }
  1503. void
  1504. set_gdbarch_bfloat16_bit (struct gdbarch *gdbarch,
  1505. int bfloat16_bit)
  1506. {
  1507. gdbarch->bfloat16_bit = bfloat16_bit;
  1508. }
  1509. const struct floatformat **
  1510. gdbarch_bfloat16_format (struct gdbarch *gdbarch)
  1511. {
  1512. gdb_assert (gdbarch != NULL);
  1513. if (gdbarch_debug >= 2)
  1514. gdb_printf (gdb_stdlog, "gdbarch_bfloat16_format called\n");
  1515. return gdbarch->bfloat16_format;
  1516. }
  1517. void
  1518. set_gdbarch_bfloat16_format (struct gdbarch *gdbarch,
  1519. const struct floatformat ** bfloat16_format)
  1520. {
  1521. gdbarch->bfloat16_format = bfloat16_format;
  1522. }
  1523. int
  1524. gdbarch_half_bit (struct gdbarch *gdbarch)
  1525. {
  1526. gdb_assert (gdbarch != NULL);
  1527. /* Skip verify of half_bit, invalid_p == 0 */
  1528. if (gdbarch_debug >= 2)
  1529. gdb_printf (gdb_stdlog, "gdbarch_half_bit called\n");
  1530. return gdbarch->half_bit;
  1531. }
  1532. void
  1533. set_gdbarch_half_bit (struct gdbarch *gdbarch,
  1534. int half_bit)
  1535. {
  1536. gdbarch->half_bit = half_bit;
  1537. }
  1538. const struct floatformat **
  1539. gdbarch_half_format (struct gdbarch *gdbarch)
  1540. {
  1541. gdb_assert (gdbarch != NULL);
  1542. if (gdbarch_debug >= 2)
  1543. gdb_printf (gdb_stdlog, "gdbarch_half_format called\n");
  1544. return gdbarch->half_format;
  1545. }
  1546. void
  1547. set_gdbarch_half_format (struct gdbarch *gdbarch,
  1548. const struct floatformat ** half_format)
  1549. {
  1550. gdbarch->half_format = half_format;
  1551. }
  1552. int
  1553. gdbarch_float_bit (struct gdbarch *gdbarch)
  1554. {
  1555. gdb_assert (gdbarch != NULL);
  1556. /* Skip verify of float_bit, invalid_p == 0 */
  1557. if (gdbarch_debug >= 2)
  1558. gdb_printf (gdb_stdlog, "gdbarch_float_bit called\n");
  1559. return gdbarch->float_bit;
  1560. }
  1561. void
  1562. set_gdbarch_float_bit (struct gdbarch *gdbarch,
  1563. int float_bit)
  1564. {
  1565. gdbarch->float_bit = float_bit;
  1566. }
  1567. const struct floatformat **
  1568. gdbarch_float_format (struct gdbarch *gdbarch)
  1569. {
  1570. gdb_assert (gdbarch != NULL);
  1571. if (gdbarch_debug >= 2)
  1572. gdb_printf (gdb_stdlog, "gdbarch_float_format called\n");
  1573. return gdbarch->float_format;
  1574. }
  1575. void
  1576. set_gdbarch_float_format (struct gdbarch *gdbarch,
  1577. const struct floatformat ** float_format)
  1578. {
  1579. gdbarch->float_format = float_format;
  1580. }
  1581. int
  1582. gdbarch_double_bit (struct gdbarch *gdbarch)
  1583. {
  1584. gdb_assert (gdbarch != NULL);
  1585. /* Skip verify of double_bit, invalid_p == 0 */
  1586. if (gdbarch_debug >= 2)
  1587. gdb_printf (gdb_stdlog, "gdbarch_double_bit called\n");
  1588. return gdbarch->double_bit;
  1589. }
  1590. void
  1591. set_gdbarch_double_bit (struct gdbarch *gdbarch,
  1592. int double_bit)
  1593. {
  1594. gdbarch->double_bit = double_bit;
  1595. }
  1596. const struct floatformat **
  1597. gdbarch_double_format (struct gdbarch *gdbarch)
  1598. {
  1599. gdb_assert (gdbarch != NULL);
  1600. if (gdbarch_debug >= 2)
  1601. gdb_printf (gdb_stdlog, "gdbarch_double_format called\n");
  1602. return gdbarch->double_format;
  1603. }
  1604. void
  1605. set_gdbarch_double_format (struct gdbarch *gdbarch,
  1606. const struct floatformat ** double_format)
  1607. {
  1608. gdbarch->double_format = double_format;
  1609. }
  1610. int
  1611. gdbarch_long_double_bit (struct gdbarch *gdbarch)
  1612. {
  1613. gdb_assert (gdbarch != NULL);
  1614. /* Skip verify of long_double_bit, invalid_p == 0 */
  1615. if (gdbarch_debug >= 2)
  1616. gdb_printf (gdb_stdlog, "gdbarch_long_double_bit called\n");
  1617. return gdbarch->long_double_bit;
  1618. }
  1619. void
  1620. set_gdbarch_long_double_bit (struct gdbarch *gdbarch,
  1621. int long_double_bit)
  1622. {
  1623. gdbarch->long_double_bit = long_double_bit;
  1624. }
  1625. const struct floatformat **
  1626. gdbarch_long_double_format (struct gdbarch *gdbarch)
  1627. {
  1628. gdb_assert (gdbarch != NULL);
  1629. if (gdbarch_debug >= 2)
  1630. gdb_printf (gdb_stdlog, "gdbarch_long_double_format called\n");
  1631. return gdbarch->long_double_format;
  1632. }
  1633. void
  1634. set_gdbarch_long_double_format (struct gdbarch *gdbarch,
  1635. const struct floatformat ** long_double_format)
  1636. {
  1637. gdbarch->long_double_format = long_double_format;
  1638. }
  1639. int
  1640. gdbarch_wchar_bit (struct gdbarch *gdbarch)
  1641. {
  1642. gdb_assert (gdbarch != NULL);
  1643. /* Skip verify of wchar_bit, invalid_p == 0 */
  1644. if (gdbarch_debug >= 2)
  1645. gdb_printf (gdb_stdlog, "gdbarch_wchar_bit called\n");
  1646. return gdbarch->wchar_bit;
  1647. }
  1648. void
  1649. set_gdbarch_wchar_bit (struct gdbarch *gdbarch,
  1650. int wchar_bit)
  1651. {
  1652. gdbarch->wchar_bit = wchar_bit;
  1653. }
  1654. int
  1655. gdbarch_wchar_signed (struct gdbarch *gdbarch)
  1656. {
  1657. gdb_assert (gdbarch != NULL);
  1658. /* Check variable changed from pre-default. */
  1659. gdb_assert (gdbarch->wchar_signed != -1);
  1660. if (gdbarch_debug >= 2)
  1661. gdb_printf (gdb_stdlog, "gdbarch_wchar_signed called\n");
  1662. return gdbarch->wchar_signed;
  1663. }
  1664. void
  1665. set_gdbarch_wchar_signed (struct gdbarch *gdbarch,
  1666. int wchar_signed)
  1667. {
  1668. gdbarch->wchar_signed = wchar_signed;
  1669. }
  1670. const struct floatformat **
  1671. gdbarch_floatformat_for_type (struct gdbarch *gdbarch, const char *name, int length)
  1672. {
  1673. gdb_assert (gdbarch != NULL);
  1674. gdb_assert (gdbarch->floatformat_for_type != NULL);
  1675. if (gdbarch_debug >= 2)
  1676. gdb_printf (gdb_stdlog, "gdbarch_floatformat_for_type called\n");
  1677. return gdbarch->floatformat_for_type (gdbarch, name, length);
  1678. }
  1679. void
  1680. set_gdbarch_floatformat_for_type (struct gdbarch *gdbarch,
  1681. gdbarch_floatformat_for_type_ftype floatformat_for_type)
  1682. {
  1683. gdbarch->floatformat_for_type = floatformat_for_type;
  1684. }
  1685. int
  1686. gdbarch_ptr_bit (struct gdbarch *gdbarch)
  1687. {
  1688. gdb_assert (gdbarch != NULL);
  1689. /* Skip verify of ptr_bit, invalid_p == 0 */
  1690. if (gdbarch_debug >= 2)
  1691. gdb_printf (gdb_stdlog, "gdbarch_ptr_bit called\n");
  1692. return gdbarch->ptr_bit;
  1693. }
  1694. void
  1695. set_gdbarch_ptr_bit (struct gdbarch *gdbarch,
  1696. int ptr_bit)
  1697. {
  1698. gdbarch->ptr_bit = ptr_bit;
  1699. }
  1700. int
  1701. gdbarch_addr_bit (struct gdbarch *gdbarch)
  1702. {
  1703. gdb_assert (gdbarch != NULL);
  1704. /* Check variable changed from pre-default. */
  1705. gdb_assert (gdbarch->addr_bit != 0);
  1706. if (gdbarch_debug >= 2)
  1707. gdb_printf (gdb_stdlog, "gdbarch_addr_bit called\n");
  1708. return gdbarch->addr_bit;
  1709. }
  1710. void
  1711. set_gdbarch_addr_bit (struct gdbarch *gdbarch,
  1712. int addr_bit)
  1713. {
  1714. gdbarch->addr_bit = addr_bit;
  1715. }
  1716. int
  1717. gdbarch_dwarf2_addr_size (struct gdbarch *gdbarch)
  1718. {
  1719. gdb_assert (gdbarch != NULL);
  1720. /* Check variable changed from pre-default. */
  1721. gdb_assert (gdbarch->dwarf2_addr_size != 0);
  1722. if (gdbarch_debug >= 2)
  1723. gdb_printf (gdb_stdlog, "gdbarch_dwarf2_addr_size called\n");
  1724. return gdbarch->dwarf2_addr_size;
  1725. }
  1726. void
  1727. set_gdbarch_dwarf2_addr_size (struct gdbarch *gdbarch,
  1728. int dwarf2_addr_size)
  1729. {
  1730. gdbarch->dwarf2_addr_size = dwarf2_addr_size;
  1731. }
  1732. int
  1733. gdbarch_char_signed (struct gdbarch *gdbarch)
  1734. {
  1735. gdb_assert (gdbarch != NULL);
  1736. /* Check variable changed from pre-default. */
  1737. gdb_assert (gdbarch->char_signed != -1);
  1738. if (gdbarch_debug >= 2)
  1739. gdb_printf (gdb_stdlog, "gdbarch_char_signed called\n");
  1740. return gdbarch->char_signed;
  1741. }
  1742. void
  1743. set_gdbarch_char_signed (struct gdbarch *gdbarch,
  1744. int char_signed)
  1745. {
  1746. gdbarch->char_signed = char_signed;
  1747. }
  1748. bool
  1749. gdbarch_read_pc_p (struct gdbarch *gdbarch)
  1750. {
  1751. gdb_assert (gdbarch != NULL);
  1752. return gdbarch->read_pc != NULL;
  1753. }
  1754. CORE_ADDR
  1755. gdbarch_read_pc (struct gdbarch *gdbarch, readable_regcache *regcache)
  1756. {
  1757. gdb_assert (gdbarch != NULL);
  1758. gdb_assert (gdbarch->read_pc != NULL);
  1759. if (gdbarch_debug >= 2)
  1760. gdb_printf (gdb_stdlog, "gdbarch_read_pc called\n");
  1761. return gdbarch->read_pc (regcache);
  1762. }
  1763. void
  1764. set_gdbarch_read_pc (struct gdbarch *gdbarch,
  1765. gdbarch_read_pc_ftype read_pc)
  1766. {
  1767. gdbarch->read_pc = read_pc;
  1768. }
  1769. bool
  1770. gdbarch_write_pc_p (struct gdbarch *gdbarch)
  1771. {
  1772. gdb_assert (gdbarch != NULL);
  1773. return gdbarch->write_pc != NULL;
  1774. }
  1775. void
  1776. gdbarch_write_pc (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR val)
  1777. {
  1778. gdb_assert (gdbarch != NULL);
  1779. gdb_assert (gdbarch->write_pc != NULL);
  1780. if (gdbarch_debug >= 2)
  1781. gdb_printf (gdb_stdlog, "gdbarch_write_pc called\n");
  1782. gdbarch->write_pc (regcache, val);
  1783. }
  1784. void
  1785. set_gdbarch_write_pc (struct gdbarch *gdbarch,
  1786. gdbarch_write_pc_ftype write_pc)
  1787. {
  1788. gdbarch->write_pc = write_pc;
  1789. }
  1790. void
  1791. gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc, int *frame_regnum, LONGEST *frame_offset)
  1792. {
  1793. gdb_assert (gdbarch != NULL);
  1794. gdb_assert (gdbarch->virtual_frame_pointer != NULL);
  1795. if (gdbarch_debug >= 2)
  1796. gdb_printf (gdb_stdlog, "gdbarch_virtual_frame_pointer called\n");
  1797. gdbarch->virtual_frame_pointer (gdbarch, pc, frame_regnum, frame_offset);
  1798. }
  1799. void
  1800. set_gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch,
  1801. gdbarch_virtual_frame_pointer_ftype virtual_frame_pointer)
  1802. {
  1803. gdbarch->virtual_frame_pointer = virtual_frame_pointer;
  1804. }
  1805. bool
  1806. gdbarch_pseudo_register_read_p (struct gdbarch *gdbarch)
  1807. {
  1808. gdb_assert (gdbarch != NULL);
  1809. return gdbarch->pseudo_register_read != NULL;
  1810. }
  1811. enum register_status
  1812. gdbarch_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum, gdb_byte *buf)
  1813. {
  1814. gdb_assert (gdbarch != NULL);
  1815. gdb_assert (gdbarch->pseudo_register_read != NULL);
  1816. if (gdbarch_debug >= 2)
  1817. gdb_printf (gdb_stdlog, "gdbarch_pseudo_register_read called\n");
  1818. return gdbarch->pseudo_register_read (gdbarch, regcache, cookednum, buf);
  1819. }
  1820. void
  1821. set_gdbarch_pseudo_register_read (struct gdbarch *gdbarch,
  1822. gdbarch_pseudo_register_read_ftype pseudo_register_read)
  1823. {
  1824. gdbarch->pseudo_register_read = pseudo_register_read;
  1825. }
  1826. bool
  1827. gdbarch_pseudo_register_read_value_p (struct gdbarch *gdbarch)
  1828. {
  1829. gdb_assert (gdbarch != NULL);
  1830. return gdbarch->pseudo_register_read_value != NULL;
  1831. }
  1832. struct value *
  1833. gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch, readable_regcache *regcache, int cookednum)
  1834. {
  1835. gdb_assert (gdbarch != NULL);
  1836. gdb_assert (gdbarch->pseudo_register_read_value != NULL);
  1837. if (gdbarch_debug >= 2)
  1838. gdb_printf (gdb_stdlog, "gdbarch_pseudo_register_read_value called\n");
  1839. return gdbarch->pseudo_register_read_value (gdbarch, regcache, cookednum);
  1840. }
  1841. void
  1842. set_gdbarch_pseudo_register_read_value (struct gdbarch *gdbarch,
  1843. gdbarch_pseudo_register_read_value_ftype pseudo_register_read_value)
  1844. {
  1845. gdbarch->pseudo_register_read_value = pseudo_register_read_value;
  1846. }
  1847. bool
  1848. gdbarch_pseudo_register_write_p (struct gdbarch *gdbarch)
  1849. {
  1850. gdb_assert (gdbarch != NULL);
  1851. return gdbarch->pseudo_register_write != NULL;
  1852. }
  1853. void
  1854. gdbarch_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const gdb_byte *buf)
  1855. {
  1856. gdb_assert (gdbarch != NULL);
  1857. gdb_assert (gdbarch->pseudo_register_write != NULL);
  1858. if (gdbarch_debug >= 2)
  1859. gdb_printf (gdb_stdlog, "gdbarch_pseudo_register_write called\n");
  1860. gdbarch->pseudo_register_write (gdbarch, regcache, cookednum, buf);
  1861. }
  1862. void
  1863. set_gdbarch_pseudo_register_write (struct gdbarch *gdbarch,
  1864. gdbarch_pseudo_register_write_ftype pseudo_register_write)
  1865. {
  1866. gdbarch->pseudo_register_write = pseudo_register_write;
  1867. }
  1868. int
  1869. gdbarch_num_regs (struct gdbarch *gdbarch)
  1870. {
  1871. gdb_assert (gdbarch != NULL);
  1872. /* Check variable changed from pre-default. */
  1873. gdb_assert (gdbarch->num_regs != -1);
  1874. if (gdbarch_debug >= 2)
  1875. gdb_printf (gdb_stdlog, "gdbarch_num_regs called\n");
  1876. return gdbarch->num_regs;
  1877. }
  1878. void
  1879. set_gdbarch_num_regs (struct gdbarch *gdbarch,
  1880. int num_regs)
  1881. {
  1882. gdbarch->num_regs = num_regs;
  1883. }
  1884. int
  1885. gdbarch_num_pseudo_regs (struct gdbarch *gdbarch)
  1886. {
  1887. gdb_assert (gdbarch != NULL);
  1888. /* Skip verify of num_pseudo_regs, invalid_p == 0 */
  1889. if (gdbarch_debug >= 2)
  1890. gdb_printf (gdb_stdlog, "gdbarch_num_pseudo_regs called\n");
  1891. return gdbarch->num_pseudo_regs;
  1892. }
  1893. void
  1894. set_gdbarch_num_pseudo_regs (struct gdbarch *gdbarch,
  1895. int num_pseudo_regs)
  1896. {
  1897. gdbarch->num_pseudo_regs = num_pseudo_regs;
  1898. }
  1899. bool
  1900. gdbarch_ax_pseudo_register_collect_p (struct gdbarch *gdbarch)
  1901. {
  1902. gdb_assert (gdbarch != NULL);
  1903. return gdbarch->ax_pseudo_register_collect != NULL;
  1904. }
  1905. int
  1906. gdbarch_ax_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int reg)
  1907. {
  1908. gdb_assert (gdbarch != NULL);
  1909. gdb_assert (gdbarch->ax_pseudo_register_collect != NULL);
  1910. if (gdbarch_debug >= 2)
  1911. gdb_printf (gdb_stdlog, "gdbarch_ax_pseudo_register_collect called\n");
  1912. return gdbarch->ax_pseudo_register_collect (gdbarch, ax, reg);
  1913. }
  1914. void
  1915. set_gdbarch_ax_pseudo_register_collect (struct gdbarch *gdbarch,
  1916. gdbarch_ax_pseudo_register_collect_ftype ax_pseudo_register_collect)
  1917. {
  1918. gdbarch->ax_pseudo_register_collect = ax_pseudo_register_collect;
  1919. }
  1920. bool
  1921. gdbarch_ax_pseudo_register_push_stack_p (struct gdbarch *gdbarch)
  1922. {
  1923. gdb_assert (gdbarch != NULL);
  1924. return gdbarch->ax_pseudo_register_push_stack != NULL;
  1925. }
  1926. int
  1927. gdbarch_ax_pseudo_register_push_stack (struct gdbarch *gdbarch, struct agent_expr *ax, int reg)
  1928. {
  1929. gdb_assert (gdbarch != NULL);
  1930. gdb_assert (gdbarch->ax_pseudo_register_push_stack != NULL);
  1931. if (gdbarch_debug >= 2)
  1932. gdb_printf (gdb_stdlog, "gdbarch_ax_pseudo_register_push_stack called\n");
  1933. return gdbarch->ax_pseudo_register_push_stack (gdbarch, ax, reg);
  1934. }
  1935. void
  1936. set_gdbarch_ax_pseudo_register_push_stack (struct gdbarch *gdbarch,
  1937. gdbarch_ax_pseudo_register_push_stack_ftype ax_pseudo_register_push_stack)
  1938. {
  1939. gdbarch->ax_pseudo_register_push_stack = ax_pseudo_register_push_stack;
  1940. }
  1941. bool
  1942. gdbarch_report_signal_info_p (struct gdbarch *gdbarch)
  1943. {
  1944. gdb_assert (gdbarch != NULL);
  1945. return gdbarch->report_signal_info != NULL;
  1946. }
  1947. void
  1948. gdbarch_report_signal_info (struct gdbarch *gdbarch, struct ui_out *uiout, enum gdb_signal siggnal)
  1949. {
  1950. gdb_assert (gdbarch != NULL);
  1951. gdb_assert (gdbarch->report_signal_info != NULL);
  1952. if (gdbarch_debug >= 2)
  1953. gdb_printf (gdb_stdlog, "gdbarch_report_signal_info called\n");
  1954. gdbarch->report_signal_info (gdbarch, uiout, siggnal);
  1955. }
  1956. void
  1957. set_gdbarch_report_signal_info (struct gdbarch *gdbarch,
  1958. gdbarch_report_signal_info_ftype report_signal_info)
  1959. {
  1960. gdbarch->report_signal_info = report_signal_info;
  1961. }
  1962. int
  1963. gdbarch_sp_regnum (struct gdbarch *gdbarch)
  1964. {
  1965. gdb_assert (gdbarch != NULL);
  1966. /* Skip verify of sp_regnum, invalid_p == 0 */
  1967. if (gdbarch_debug >= 2)
  1968. gdb_printf (gdb_stdlog, "gdbarch_sp_regnum called\n");
  1969. return gdbarch->sp_regnum;
  1970. }
  1971. void
  1972. set_gdbarch_sp_regnum (struct gdbarch *gdbarch,
  1973. int sp_regnum)
  1974. {
  1975. gdbarch->sp_regnum = sp_regnum;
  1976. }
  1977. int
  1978. gdbarch_pc_regnum (struct gdbarch *gdbarch)
  1979. {
  1980. gdb_assert (gdbarch != NULL);
  1981. /* Skip verify of pc_regnum, invalid_p == 0 */
  1982. if (gdbarch_debug >= 2)
  1983. gdb_printf (gdb_stdlog, "gdbarch_pc_regnum called\n");
  1984. return gdbarch->pc_regnum;
  1985. }
  1986. void
  1987. set_gdbarch_pc_regnum (struct gdbarch *gdbarch,
  1988. int pc_regnum)
  1989. {
  1990. gdbarch->pc_regnum = pc_regnum;
  1991. }
  1992. int
  1993. gdbarch_ps_regnum (struct gdbarch *gdbarch)
  1994. {
  1995. gdb_assert (gdbarch != NULL);
  1996. /* Skip verify of ps_regnum, invalid_p == 0 */
  1997. if (gdbarch_debug >= 2)
  1998. gdb_printf (gdb_stdlog, "gdbarch_ps_regnum called\n");
  1999. return gdbarch->ps_regnum;
  2000. }
  2001. void
  2002. set_gdbarch_ps_regnum (struct gdbarch *gdbarch,
  2003. int ps_regnum)
  2004. {
  2005. gdbarch->ps_regnum = ps_regnum;
  2006. }
  2007. int
  2008. gdbarch_fp0_regnum (struct gdbarch *gdbarch)
  2009. {
  2010. gdb_assert (gdbarch != NULL);
  2011. /* Skip verify of fp0_regnum, invalid_p == 0 */
  2012. if (gdbarch_debug >= 2)
  2013. gdb_printf (gdb_stdlog, "gdbarch_fp0_regnum called\n");
  2014. return gdbarch->fp0_regnum;
  2015. }
  2016. void
  2017. set_gdbarch_fp0_regnum (struct gdbarch *gdbarch,
  2018. int fp0_regnum)
  2019. {
  2020. gdbarch->fp0_regnum = fp0_regnum;
  2021. }
  2022. int
  2023. gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch, int stab_regnr)
  2024. {
  2025. gdb_assert (gdbarch != NULL);
  2026. gdb_assert (gdbarch->stab_reg_to_regnum != NULL);
  2027. if (gdbarch_debug >= 2)
  2028. gdb_printf (gdb_stdlog, "gdbarch_stab_reg_to_regnum called\n");
  2029. return gdbarch->stab_reg_to_regnum (gdbarch, stab_regnr);
  2030. }
  2031. void
  2032. set_gdbarch_stab_reg_to_regnum (struct gdbarch *gdbarch,
  2033. gdbarch_stab_reg_to_regnum_ftype stab_reg_to_regnum)
  2034. {
  2035. gdbarch->stab_reg_to_regnum = stab_reg_to_regnum;
  2036. }
  2037. int
  2038. gdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch, int ecoff_regnr)
  2039. {
  2040. gdb_assert (gdbarch != NULL);
  2041. gdb_assert (gdbarch->ecoff_reg_to_regnum != NULL);
  2042. if (gdbarch_debug >= 2)
  2043. gdb_printf (gdb_stdlog, "gdbarch_ecoff_reg_to_regnum called\n");
  2044. return gdbarch->ecoff_reg_to_regnum (gdbarch, ecoff_regnr);
  2045. }
  2046. void
  2047. set_gdbarch_ecoff_reg_to_regnum (struct gdbarch *gdbarch,
  2048. gdbarch_ecoff_reg_to_regnum_ftype ecoff_reg_to_regnum)
  2049. {
  2050. gdbarch->ecoff_reg_to_regnum = ecoff_reg_to_regnum;
  2051. }
  2052. int
  2053. gdbarch_sdb_reg_to_regnum (struct gdbarch *gdbarch, int sdb_regnr)
  2054. {
  2055. gdb_assert (gdbarch != NULL);
  2056. gdb_assert (gdbarch->sdb_reg_to_regnum != NULL);
  2057. if (gdbarch_debug >= 2)
  2058. gdb_printf (gdb_stdlog, "gdbarch_sdb_reg_to_regnum called\n");
  2059. return gdbarch->sdb_reg_to_regnum (gdbarch, sdb_regnr);
  2060. }
  2061. void
  2062. set_gdbarch_sdb_reg_to_regnum (struct gdbarch *gdbarch,
  2063. gdbarch_sdb_reg_to_regnum_ftype sdb_reg_to_regnum)
  2064. {
  2065. gdbarch->sdb_reg_to_regnum = sdb_reg_to_regnum;
  2066. }
  2067. int
  2068. gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int dwarf2_regnr)
  2069. {
  2070. gdb_assert (gdbarch != NULL);
  2071. gdb_assert (gdbarch->dwarf2_reg_to_regnum != NULL);
  2072. if (gdbarch_debug >= 2)
  2073. gdb_printf (gdb_stdlog, "gdbarch_dwarf2_reg_to_regnum called\n");
  2074. return gdbarch->dwarf2_reg_to_regnum (gdbarch, dwarf2_regnr);
  2075. }
  2076. void
  2077. set_gdbarch_dwarf2_reg_to_regnum (struct gdbarch *gdbarch,
  2078. gdbarch_dwarf2_reg_to_regnum_ftype dwarf2_reg_to_regnum)
  2079. {
  2080. gdbarch->dwarf2_reg_to_regnum = dwarf2_reg_to_regnum;
  2081. }
  2082. const char *
  2083. gdbarch_register_name (struct gdbarch *gdbarch, int regnr)
  2084. {
  2085. gdb_assert (gdbarch != NULL);
  2086. gdb_assert (gdbarch->register_name != NULL);
  2087. if (gdbarch_debug >= 2)
  2088. gdb_printf (gdb_stdlog, "gdbarch_register_name called\n");
  2089. return gdbarch->register_name (gdbarch, regnr);
  2090. }
  2091. void
  2092. set_gdbarch_register_name (struct gdbarch *gdbarch,
  2093. gdbarch_register_name_ftype register_name)
  2094. {
  2095. gdbarch->register_name = register_name;
  2096. }
  2097. struct type *
  2098. gdbarch_register_type (struct gdbarch *gdbarch, int reg_nr)
  2099. {
  2100. gdb_assert (gdbarch != NULL);
  2101. gdb_assert (gdbarch->register_type != NULL);
  2102. if (gdbarch_debug >= 2)
  2103. gdb_printf (gdb_stdlog, "gdbarch_register_type called\n");
  2104. return gdbarch->register_type (gdbarch, reg_nr);
  2105. }
  2106. void
  2107. set_gdbarch_register_type (struct gdbarch *gdbarch,
  2108. gdbarch_register_type_ftype register_type)
  2109. {
  2110. gdbarch->register_type = register_type;
  2111. }
  2112. struct frame_id
  2113. gdbarch_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
  2114. {
  2115. gdb_assert (gdbarch != NULL);
  2116. gdb_assert (gdbarch->dummy_id != NULL);
  2117. if (gdbarch_debug >= 2)
  2118. gdb_printf (gdb_stdlog, "gdbarch_dummy_id called\n");
  2119. return gdbarch->dummy_id (gdbarch, this_frame);
  2120. }
  2121. void
  2122. set_gdbarch_dummy_id (struct gdbarch *gdbarch,
  2123. gdbarch_dummy_id_ftype dummy_id)
  2124. {
  2125. gdbarch->dummy_id = dummy_id;
  2126. }
  2127. int
  2128. gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch)
  2129. {
  2130. gdb_assert (gdbarch != NULL);
  2131. /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
  2132. if (gdbarch_debug >= 2)
  2133. gdb_printf (gdb_stdlog, "gdbarch_deprecated_fp_regnum called\n");
  2134. return gdbarch->deprecated_fp_regnum;
  2135. }
  2136. void
  2137. set_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch,
  2138. int deprecated_fp_regnum)
  2139. {
  2140. gdbarch->deprecated_fp_regnum = deprecated_fp_regnum;
  2141. }
  2142. bool
  2143. gdbarch_push_dummy_call_p (struct gdbarch *gdbarch)
  2144. {
  2145. gdb_assert (gdbarch != NULL);
  2146. return gdbarch->push_dummy_call != NULL;
  2147. }
  2148. CORE_ADDR
  2149. gdbarch_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, function_call_return_method return_method, CORE_ADDR struct_addr)
  2150. {
  2151. gdb_assert (gdbarch != NULL);
  2152. gdb_assert (gdbarch->push_dummy_call != NULL);
  2153. if (gdbarch_debug >= 2)
  2154. gdb_printf (gdb_stdlog, "gdbarch_push_dummy_call called\n");
  2155. return gdbarch->push_dummy_call (gdbarch, function, regcache, bp_addr, nargs, args, sp, return_method, struct_addr);
  2156. }
  2157. void
  2158. set_gdbarch_push_dummy_call (struct gdbarch *gdbarch,
  2159. gdbarch_push_dummy_call_ftype push_dummy_call)
  2160. {
  2161. gdbarch->push_dummy_call = push_dummy_call;
  2162. }
  2163. int
  2164. gdbarch_call_dummy_location (struct gdbarch *gdbarch)
  2165. {
  2166. gdb_assert (gdbarch != NULL);
  2167. /* Skip verify of call_dummy_location, invalid_p == 0 */
  2168. if (gdbarch_debug >= 2)
  2169. gdb_printf (gdb_stdlog, "gdbarch_call_dummy_location called\n");
  2170. return gdbarch->call_dummy_location;
  2171. }
  2172. void
  2173. set_gdbarch_call_dummy_location (struct gdbarch *gdbarch,
  2174. int call_dummy_location)
  2175. {
  2176. gdbarch->call_dummy_location = call_dummy_location;
  2177. }
  2178. bool
  2179. gdbarch_push_dummy_code_p (struct gdbarch *gdbarch)
  2180. {
  2181. gdb_assert (gdbarch != NULL);
  2182. return gdbarch->push_dummy_code != NULL;
  2183. }
  2184. CORE_ADDR
  2185. gdbarch_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr, struct regcache *regcache)
  2186. {
  2187. gdb_assert (gdbarch != NULL);
  2188. gdb_assert (gdbarch->push_dummy_code != NULL);
  2189. if (gdbarch_debug >= 2)
  2190. gdb_printf (gdb_stdlog, "gdbarch_push_dummy_code called\n");
  2191. return gdbarch->push_dummy_code (gdbarch, sp, funaddr, args, nargs, value_type, real_pc, bp_addr, regcache);
  2192. }
  2193. void
  2194. set_gdbarch_push_dummy_code (struct gdbarch *gdbarch,
  2195. gdbarch_push_dummy_code_ftype push_dummy_code)
  2196. {
  2197. gdbarch->push_dummy_code = push_dummy_code;
  2198. }
  2199. int
  2200. gdbarch_code_of_frame_writable (struct gdbarch *gdbarch, struct frame_info *frame)
  2201. {
  2202. gdb_assert (gdbarch != NULL);
  2203. gdb_assert (gdbarch->code_of_frame_writable != NULL);
  2204. if (gdbarch_debug >= 2)
  2205. gdb_printf (gdb_stdlog, "gdbarch_code_of_frame_writable called\n");
  2206. return gdbarch->code_of_frame_writable (gdbarch, frame);
  2207. }
  2208. void
  2209. set_gdbarch_code_of_frame_writable (struct gdbarch *gdbarch,
  2210. gdbarch_code_of_frame_writable_ftype code_of_frame_writable)
  2211. {
  2212. gdbarch->code_of_frame_writable = code_of_frame_writable;
  2213. }
  2214. void
  2215. gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all)
  2216. {
  2217. gdb_assert (gdbarch != NULL);
  2218. gdb_assert (gdbarch->print_registers_info != NULL);
  2219. if (gdbarch_debug >= 2)
  2220. gdb_printf (gdb_stdlog, "gdbarch_print_registers_info called\n");
  2221. gdbarch->print_registers_info (gdbarch, file, frame, regnum, all);
  2222. }
  2223. void
  2224. set_gdbarch_print_registers_info (struct gdbarch *gdbarch,
  2225. gdbarch_print_registers_info_ftype print_registers_info)
  2226. {
  2227. gdbarch->print_registers_info = print_registers_info;
  2228. }
  2229. void
  2230. gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
  2231. {
  2232. gdb_assert (gdbarch != NULL);
  2233. gdb_assert (gdbarch->print_float_info != NULL);
  2234. if (gdbarch_debug >= 2)
  2235. gdb_printf (gdb_stdlog, "gdbarch_print_float_info called\n");
  2236. gdbarch->print_float_info (gdbarch, file, frame, args);
  2237. }
  2238. void
  2239. set_gdbarch_print_float_info (struct gdbarch *gdbarch,
  2240. gdbarch_print_float_info_ftype print_float_info)
  2241. {
  2242. gdbarch->print_float_info = print_float_info;
  2243. }
  2244. bool
  2245. gdbarch_print_vector_info_p (struct gdbarch *gdbarch)
  2246. {
  2247. gdb_assert (gdbarch != NULL);
  2248. return gdbarch->print_vector_info != NULL;
  2249. }
  2250. void
  2251. gdbarch_print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, const char *args)
  2252. {
  2253. gdb_assert (gdbarch != NULL);
  2254. gdb_assert (gdbarch->print_vector_info != NULL);
  2255. if (gdbarch_debug >= 2)
  2256. gdb_printf (gdb_stdlog, "gdbarch_print_vector_info called\n");
  2257. gdbarch->print_vector_info (gdbarch, file, frame, args);
  2258. }
  2259. void
  2260. set_gdbarch_print_vector_info (struct gdbarch *gdbarch,
  2261. gdbarch_print_vector_info_ftype print_vector_info)
  2262. {
  2263. gdbarch->print_vector_info = print_vector_info;
  2264. }
  2265. int
  2266. gdbarch_register_sim_regno (struct gdbarch *gdbarch, int reg_nr)
  2267. {
  2268. gdb_assert (gdbarch != NULL);
  2269. gdb_assert (gdbarch->register_sim_regno != NULL);
  2270. if (gdbarch_debug >= 2)
  2271. gdb_printf (gdb_stdlog, "gdbarch_register_sim_regno called\n");
  2272. return gdbarch->register_sim_regno (gdbarch, reg_nr);
  2273. }
  2274. void
  2275. set_gdbarch_register_sim_regno (struct gdbarch *gdbarch,
  2276. gdbarch_register_sim_regno_ftype register_sim_regno)
  2277. {
  2278. gdbarch->register_sim_regno = register_sim_regno;
  2279. }
  2280. int
  2281. gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, int regnum)
  2282. {
  2283. gdb_assert (gdbarch != NULL);
  2284. gdb_assert (gdbarch->cannot_fetch_register != NULL);
  2285. if (gdbarch_debug >= 2)
  2286. gdb_printf (gdb_stdlog, "gdbarch_cannot_fetch_register called\n");
  2287. return gdbarch->cannot_fetch_register (gdbarch, regnum);
  2288. }
  2289. void
  2290. set_gdbarch_cannot_fetch_register (struct gdbarch *gdbarch,
  2291. gdbarch_cannot_fetch_register_ftype cannot_fetch_register)
  2292. {
  2293. gdbarch->cannot_fetch_register = cannot_fetch_register;
  2294. }
  2295. int
  2296. gdbarch_cannot_store_register (struct gdbarch *gdbarch, int regnum)
  2297. {
  2298. gdb_assert (gdbarch != NULL);
  2299. gdb_assert (gdbarch->cannot_store_register != NULL);
  2300. if (gdbarch_debug >= 2)
  2301. gdb_printf (gdb_stdlog, "gdbarch_cannot_store_register called\n");
  2302. return gdbarch->cannot_store_register (gdbarch, regnum);
  2303. }
  2304. void
  2305. set_gdbarch_cannot_store_register (struct gdbarch *gdbarch,
  2306. gdbarch_cannot_store_register_ftype cannot_store_register)
  2307. {
  2308. gdbarch->cannot_store_register = cannot_store_register;
  2309. }
  2310. bool
  2311. gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch)
  2312. {
  2313. gdb_assert (gdbarch != NULL);
  2314. return gdbarch->get_longjmp_target != NULL;
  2315. }
  2316. int
  2317. gdbarch_get_longjmp_target (struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR *pc)
  2318. {
  2319. gdb_assert (gdbarch != NULL);
  2320. gdb_assert (gdbarch->get_longjmp_target != NULL);
  2321. if (gdbarch_debug >= 2)
  2322. gdb_printf (gdb_stdlog, "gdbarch_get_longjmp_target called\n");
  2323. return gdbarch->get_longjmp_target (frame, pc);
  2324. }
  2325. void
  2326. set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch,
  2327. gdbarch_get_longjmp_target_ftype get_longjmp_target)
  2328. {
  2329. gdbarch->get_longjmp_target = get_longjmp_target;
  2330. }
  2331. int
  2332. gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch)
  2333. {
  2334. gdb_assert (gdbarch != NULL);
  2335. /* Skip verify of believe_pcc_promotion, invalid_p == 0 */
  2336. if (gdbarch_debug >= 2)
  2337. gdb_printf (gdb_stdlog, "gdbarch_believe_pcc_promotion called\n");
  2338. return gdbarch->believe_pcc_promotion;
  2339. }
  2340. void
  2341. set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch,
  2342. int believe_pcc_promotion)
  2343. {
  2344. gdbarch->believe_pcc_promotion = believe_pcc_promotion;
  2345. }
  2346. int
  2347. gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type)
  2348. {
  2349. gdb_assert (gdbarch != NULL);
  2350. gdb_assert (gdbarch->convert_register_p != NULL);
  2351. if (gdbarch_debug >= 2)
  2352. gdb_printf (gdb_stdlog, "gdbarch_convert_register_p called\n");
  2353. return gdbarch->convert_register_p (gdbarch, regnum, type);
  2354. }
  2355. void
  2356. set_gdbarch_convert_register_p (struct gdbarch *gdbarch,
  2357. gdbarch_convert_register_p_ftype convert_register_p)
  2358. {
  2359. gdbarch->convert_register_p = convert_register_p;
  2360. }
  2361. int
  2362. gdbarch_register_to_value (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, gdb_byte *buf, int *optimizedp, int *unavailablep)
  2363. {
  2364. gdb_assert (gdbarch != NULL);
  2365. gdb_assert (gdbarch->register_to_value != NULL);
  2366. if (gdbarch_debug >= 2)
  2367. gdb_printf (gdb_stdlog, "gdbarch_register_to_value called\n");
  2368. return gdbarch->register_to_value (frame, regnum, type, buf, optimizedp, unavailablep);
  2369. }
  2370. void
  2371. set_gdbarch_register_to_value (struct gdbarch *gdbarch,
  2372. gdbarch_register_to_value_ftype register_to_value)
  2373. {
  2374. gdbarch->register_to_value = register_to_value;
  2375. }
  2376. void
  2377. gdbarch_value_to_register (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, const gdb_byte *buf)
  2378. {
  2379. gdb_assert (gdbarch != NULL);
  2380. gdb_assert (gdbarch->value_to_register != NULL);
  2381. if (gdbarch_debug >= 2)
  2382. gdb_printf (gdb_stdlog, "gdbarch_value_to_register called\n");
  2383. gdbarch->value_to_register (frame, regnum, type, buf);
  2384. }
  2385. void
  2386. set_gdbarch_value_to_register (struct gdbarch *gdbarch,
  2387. gdbarch_value_to_register_ftype value_to_register)
  2388. {
  2389. gdbarch->value_to_register = value_to_register;
  2390. }
  2391. struct value *
  2392. gdbarch_value_from_register (struct gdbarch *gdbarch, struct type *type, int regnum, struct frame_id frame_id)
  2393. {
  2394. gdb_assert (gdbarch != NULL);
  2395. gdb_assert (gdbarch->value_from_register != NULL);
  2396. if (gdbarch_debug >= 2)
  2397. gdb_printf (gdb_stdlog, "gdbarch_value_from_register called\n");
  2398. return gdbarch->value_from_register (gdbarch, type, regnum, frame_id);
  2399. }
  2400. void
  2401. set_gdbarch_value_from_register (struct gdbarch *gdbarch,
  2402. gdbarch_value_from_register_ftype value_from_register)
  2403. {
  2404. gdbarch->value_from_register = value_from_register;
  2405. }
  2406. CORE_ADDR
  2407. gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf)
  2408. {
  2409. gdb_assert (gdbarch != NULL);
  2410. gdb_assert (gdbarch->pointer_to_address != NULL);
  2411. if (gdbarch_debug >= 2)
  2412. gdb_printf (gdb_stdlog, "gdbarch_pointer_to_address called\n");
  2413. return gdbarch->pointer_to_address (gdbarch, type, buf);
  2414. }
  2415. void
  2416. set_gdbarch_pointer_to_address (struct gdbarch *gdbarch,
  2417. gdbarch_pointer_to_address_ftype pointer_to_address)
  2418. {
  2419. gdbarch->pointer_to_address = pointer_to_address;
  2420. }
  2421. void
  2422. gdbarch_address_to_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr)
  2423. {
  2424. gdb_assert (gdbarch != NULL);
  2425. gdb_assert (gdbarch->address_to_pointer != NULL);
  2426. if (gdbarch_debug >= 2)
  2427. gdb_printf (gdb_stdlog, "gdbarch_address_to_pointer called\n");
  2428. gdbarch->address_to_pointer (gdbarch, type, buf, addr);
  2429. }
  2430. void
  2431. set_gdbarch_address_to_pointer (struct gdbarch *gdbarch,
  2432. gdbarch_address_to_pointer_ftype address_to_pointer)
  2433. {
  2434. gdbarch->address_to_pointer = address_to_pointer;
  2435. }
  2436. bool
  2437. gdbarch_integer_to_address_p (struct gdbarch *gdbarch)
  2438. {
  2439. gdb_assert (gdbarch != NULL);
  2440. return gdbarch->integer_to_address != NULL;
  2441. }
  2442. CORE_ADDR
  2443. gdbarch_integer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf)
  2444. {
  2445. gdb_assert (gdbarch != NULL);
  2446. gdb_assert (gdbarch->integer_to_address != NULL);
  2447. if (gdbarch_debug >= 2)
  2448. gdb_printf (gdb_stdlog, "gdbarch_integer_to_address called\n");
  2449. return gdbarch->integer_to_address (gdbarch, type, buf);
  2450. }
  2451. void
  2452. set_gdbarch_integer_to_address (struct gdbarch *gdbarch,
  2453. gdbarch_integer_to_address_ftype integer_to_address)
  2454. {
  2455. gdbarch->integer_to_address = integer_to_address;
  2456. }
  2457. bool
  2458. gdbarch_return_value_p (struct gdbarch *gdbarch)
  2459. {
  2460. gdb_assert (gdbarch != NULL);
  2461. return gdbarch->return_value != NULL;
  2462. }
  2463. enum return_value_convention
  2464. gdbarch_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
  2465. {
  2466. gdb_assert (gdbarch != NULL);
  2467. gdb_assert (gdbarch->return_value != NULL);
  2468. if (gdbarch_debug >= 2)
  2469. gdb_printf (gdb_stdlog, "gdbarch_return_value called\n");
  2470. return gdbarch->return_value (gdbarch, function, valtype, regcache, readbuf, writebuf);
  2471. }
  2472. void
  2473. set_gdbarch_return_value (struct gdbarch *gdbarch,
  2474. gdbarch_return_value_ftype return_value)
  2475. {
  2476. gdbarch->return_value = return_value;
  2477. }
  2478. int
  2479. gdbarch_return_in_first_hidden_param_p (struct gdbarch *gdbarch, struct type *type)
  2480. {
  2481. gdb_assert (gdbarch != NULL);
  2482. gdb_assert (gdbarch->return_in_first_hidden_param_p != NULL);
  2483. if (gdbarch_debug >= 2)
  2484. gdb_printf (gdb_stdlog, "gdbarch_return_in_first_hidden_param_p called\n");
  2485. return gdbarch->return_in_first_hidden_param_p (gdbarch, type);
  2486. }
  2487. void
  2488. set_gdbarch_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
  2489. gdbarch_return_in_first_hidden_param_p_ftype return_in_first_hidden_param_p)
  2490. {
  2491. gdbarch->return_in_first_hidden_param_p = return_in_first_hidden_param_p;
  2492. }
  2493. CORE_ADDR
  2494. gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip)
  2495. {
  2496. gdb_assert (gdbarch != NULL);
  2497. gdb_assert (gdbarch->skip_prologue != NULL);
  2498. if (gdbarch_debug >= 2)
  2499. gdb_printf (gdb_stdlog, "gdbarch_skip_prologue called\n");
  2500. return gdbarch->skip_prologue (gdbarch, ip);
  2501. }
  2502. void
  2503. set_gdbarch_skip_prologue (struct gdbarch *gdbarch,
  2504. gdbarch_skip_prologue_ftype skip_prologue)
  2505. {
  2506. gdbarch->skip_prologue = skip_prologue;
  2507. }
  2508. bool
  2509. gdbarch_skip_main_prologue_p (struct gdbarch *gdbarch)
  2510. {
  2511. gdb_assert (gdbarch != NULL);
  2512. return gdbarch->skip_main_prologue != NULL;
  2513. }
  2514. CORE_ADDR
  2515. gdbarch_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR ip)
  2516. {
  2517. gdb_assert (gdbarch != NULL);
  2518. gdb_assert (gdbarch->skip_main_prologue != NULL);
  2519. if (gdbarch_debug >= 2)
  2520. gdb_printf (gdb_stdlog, "gdbarch_skip_main_prologue called\n");
  2521. return gdbarch->skip_main_prologue (gdbarch, ip);
  2522. }
  2523. void
  2524. set_gdbarch_skip_main_prologue (struct gdbarch *gdbarch,
  2525. gdbarch_skip_main_prologue_ftype skip_main_prologue)
  2526. {
  2527. gdbarch->skip_main_prologue = skip_main_prologue;
  2528. }
  2529. bool
  2530. gdbarch_skip_entrypoint_p (struct gdbarch *gdbarch)
  2531. {
  2532. gdb_assert (gdbarch != NULL);
  2533. return gdbarch->skip_entrypoint != NULL;
  2534. }
  2535. CORE_ADDR
  2536. gdbarch_skip_entrypoint (struct gdbarch *gdbarch, CORE_ADDR ip)
  2537. {
  2538. gdb_assert (gdbarch != NULL);
  2539. gdb_assert (gdbarch->skip_entrypoint != NULL);
  2540. if (gdbarch_debug >= 2)
  2541. gdb_printf (gdb_stdlog, "gdbarch_skip_entrypoint called\n");
  2542. return gdbarch->skip_entrypoint (gdbarch, ip);
  2543. }
  2544. void
  2545. set_gdbarch_skip_entrypoint (struct gdbarch *gdbarch,
  2546. gdbarch_skip_entrypoint_ftype skip_entrypoint)
  2547. {
  2548. gdbarch->skip_entrypoint = skip_entrypoint;
  2549. }
  2550. int
  2551. gdbarch_inner_than (struct gdbarch *gdbarch, CORE_ADDR lhs, CORE_ADDR rhs)
  2552. {
  2553. gdb_assert (gdbarch != NULL);
  2554. gdb_assert (gdbarch->inner_than != NULL);
  2555. if (gdbarch_debug >= 2)
  2556. gdb_printf (gdb_stdlog, "gdbarch_inner_than called\n");
  2557. return gdbarch->inner_than (lhs, rhs);
  2558. }
  2559. void
  2560. set_gdbarch_inner_than (struct gdbarch *gdbarch,
  2561. gdbarch_inner_than_ftype inner_than)
  2562. {
  2563. gdbarch->inner_than = inner_than;
  2564. }
  2565. const gdb_byte *
  2566. gdbarch_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
  2567. {
  2568. gdb_assert (gdbarch != NULL);
  2569. gdb_assert (gdbarch->breakpoint_from_pc != NULL);
  2570. if (gdbarch_debug >= 2)
  2571. gdb_printf (gdb_stdlog, "gdbarch_breakpoint_from_pc called\n");
  2572. return gdbarch->breakpoint_from_pc (gdbarch, pcptr, lenptr);
  2573. }
  2574. void
  2575. set_gdbarch_breakpoint_from_pc (struct gdbarch *gdbarch,
  2576. gdbarch_breakpoint_from_pc_ftype breakpoint_from_pc)
  2577. {
  2578. gdbarch->breakpoint_from_pc = breakpoint_from_pc;
  2579. }
  2580. int
  2581. gdbarch_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr)
  2582. {
  2583. gdb_assert (gdbarch != NULL);
  2584. gdb_assert (gdbarch->breakpoint_kind_from_pc != NULL);
  2585. if (gdbarch_debug >= 2)
  2586. gdb_printf (gdb_stdlog, "gdbarch_breakpoint_kind_from_pc called\n");
  2587. return gdbarch->breakpoint_kind_from_pc (gdbarch, pcptr);
  2588. }
  2589. void
  2590. set_gdbarch_breakpoint_kind_from_pc (struct gdbarch *gdbarch,
  2591. gdbarch_breakpoint_kind_from_pc_ftype breakpoint_kind_from_pc)
  2592. {
  2593. gdbarch->breakpoint_kind_from_pc = breakpoint_kind_from_pc;
  2594. }
  2595. const gdb_byte *
  2596. gdbarch_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size)
  2597. {
  2598. gdb_assert (gdbarch != NULL);
  2599. gdb_assert (gdbarch->sw_breakpoint_from_kind != NULL);
  2600. if (gdbarch_debug >= 2)
  2601. gdb_printf (gdb_stdlog, "gdbarch_sw_breakpoint_from_kind called\n");
  2602. return gdbarch->sw_breakpoint_from_kind (gdbarch, kind, size);
  2603. }
  2604. void
  2605. set_gdbarch_sw_breakpoint_from_kind (struct gdbarch *gdbarch,
  2606. gdbarch_sw_breakpoint_from_kind_ftype sw_breakpoint_from_kind)
  2607. {
  2608. gdbarch->sw_breakpoint_from_kind = sw_breakpoint_from_kind;
  2609. }
  2610. int
  2611. gdbarch_breakpoint_kind_from_current_state (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR *pcptr)
  2612. {
  2613. gdb_assert (gdbarch != NULL);
  2614. gdb_assert (gdbarch->breakpoint_kind_from_current_state != NULL);
  2615. if (gdbarch_debug >= 2)
  2616. gdb_printf (gdb_stdlog, "gdbarch_breakpoint_kind_from_current_state called\n");
  2617. return gdbarch->breakpoint_kind_from_current_state (gdbarch, regcache, pcptr);
  2618. }
  2619. void
  2620. set_gdbarch_breakpoint_kind_from_current_state (struct gdbarch *gdbarch,
  2621. gdbarch_breakpoint_kind_from_current_state_ftype breakpoint_kind_from_current_state)
  2622. {
  2623. gdbarch->breakpoint_kind_from_current_state = breakpoint_kind_from_current_state;
  2624. }
  2625. bool
  2626. gdbarch_adjust_breakpoint_address_p (struct gdbarch *gdbarch)
  2627. {
  2628. gdb_assert (gdbarch != NULL);
  2629. return gdbarch->adjust_breakpoint_address != NULL;
  2630. }
  2631. CORE_ADDR
  2632. gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch, CORE_ADDR bpaddr)
  2633. {
  2634. gdb_assert (gdbarch != NULL);
  2635. gdb_assert (gdbarch->adjust_breakpoint_address != NULL);
  2636. if (gdbarch_debug >= 2)
  2637. gdb_printf (gdb_stdlog, "gdbarch_adjust_breakpoint_address called\n");
  2638. return gdbarch->adjust_breakpoint_address (gdbarch, bpaddr);
  2639. }
  2640. void
  2641. set_gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch,
  2642. gdbarch_adjust_breakpoint_address_ftype adjust_breakpoint_address)
  2643. {
  2644. gdbarch->adjust_breakpoint_address = adjust_breakpoint_address;
  2645. }
  2646. int
  2647. gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
  2648. {
  2649. gdb_assert (gdbarch != NULL);
  2650. gdb_assert (gdbarch->memory_insert_breakpoint != NULL);
  2651. if (gdbarch_debug >= 2)
  2652. gdb_printf (gdb_stdlog, "gdbarch_memory_insert_breakpoint called\n");
  2653. return gdbarch->memory_insert_breakpoint (gdbarch, bp_tgt);
  2654. }
  2655. void
  2656. set_gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch,
  2657. gdbarch_memory_insert_breakpoint_ftype memory_insert_breakpoint)
  2658. {
  2659. gdbarch->memory_insert_breakpoint = memory_insert_breakpoint;
  2660. }
  2661. int
  2662. gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
  2663. {
  2664. gdb_assert (gdbarch != NULL);
  2665. gdb_assert (gdbarch->memory_remove_breakpoint != NULL);
  2666. if (gdbarch_debug >= 2)
  2667. gdb_printf (gdb_stdlog, "gdbarch_memory_remove_breakpoint called\n");
  2668. return gdbarch->memory_remove_breakpoint (gdbarch, bp_tgt);
  2669. }
  2670. void
  2671. set_gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch,
  2672. gdbarch_memory_remove_breakpoint_ftype memory_remove_breakpoint)
  2673. {
  2674. gdbarch->memory_remove_breakpoint = memory_remove_breakpoint;
  2675. }
  2676. CORE_ADDR
  2677. gdbarch_decr_pc_after_break (struct gdbarch *gdbarch)
  2678. {
  2679. gdb_assert (gdbarch != NULL);
  2680. /* Skip verify of decr_pc_after_break, invalid_p == 0 */
  2681. if (gdbarch_debug >= 2)
  2682. gdb_printf (gdb_stdlog, "gdbarch_decr_pc_after_break called\n");
  2683. return gdbarch->decr_pc_after_break;
  2684. }
  2685. void
  2686. set_gdbarch_decr_pc_after_break (struct gdbarch *gdbarch,
  2687. CORE_ADDR decr_pc_after_break)
  2688. {
  2689. gdbarch->decr_pc_after_break = decr_pc_after_break;
  2690. }
  2691. CORE_ADDR
  2692. gdbarch_deprecated_function_start_offset (struct gdbarch *gdbarch)
  2693. {
  2694. gdb_assert (gdbarch != NULL);
  2695. /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */
  2696. if (gdbarch_debug >= 2)
  2697. gdb_printf (gdb_stdlog, "gdbarch_deprecated_function_start_offset called\n");
  2698. return gdbarch->deprecated_function_start_offset;
  2699. }
  2700. void
  2701. set_gdbarch_deprecated_function_start_offset (struct gdbarch *gdbarch,
  2702. CORE_ADDR deprecated_function_start_offset)
  2703. {
  2704. gdbarch->deprecated_function_start_offset = deprecated_function_start_offset;
  2705. }
  2706. int
  2707. gdbarch_remote_register_number (struct gdbarch *gdbarch, int regno)
  2708. {
  2709. gdb_assert (gdbarch != NULL);
  2710. gdb_assert (gdbarch->remote_register_number != NULL);
  2711. if (gdbarch_debug >= 2)
  2712. gdb_printf (gdb_stdlog, "gdbarch_remote_register_number called\n");
  2713. return gdbarch->remote_register_number (gdbarch, regno);
  2714. }
  2715. void
  2716. set_gdbarch_remote_register_number (struct gdbarch *gdbarch,
  2717. gdbarch_remote_register_number_ftype remote_register_number)
  2718. {
  2719. gdbarch->remote_register_number = remote_register_number;
  2720. }
  2721. bool
  2722. gdbarch_fetch_tls_load_module_address_p (struct gdbarch *gdbarch)
  2723. {
  2724. gdb_assert (gdbarch != NULL);
  2725. return gdbarch->fetch_tls_load_module_address != NULL;
  2726. }
  2727. CORE_ADDR
  2728. gdbarch_fetch_tls_load_module_address (struct gdbarch *gdbarch, struct objfile *objfile)
  2729. {
  2730. gdb_assert (gdbarch != NULL);
  2731. gdb_assert (gdbarch->fetch_tls_load_module_address != NULL);
  2732. if (gdbarch_debug >= 2)
  2733. gdb_printf (gdb_stdlog, "gdbarch_fetch_tls_load_module_address called\n");
  2734. return gdbarch->fetch_tls_load_module_address (objfile);
  2735. }
  2736. void
  2737. set_gdbarch_fetch_tls_load_module_address (struct gdbarch *gdbarch,
  2738. gdbarch_fetch_tls_load_module_address_ftype fetch_tls_load_module_address)
  2739. {
  2740. gdbarch->fetch_tls_load_module_address = fetch_tls_load_module_address;
  2741. }
  2742. bool
  2743. gdbarch_get_thread_local_address_p (struct gdbarch *gdbarch)
  2744. {
  2745. gdb_assert (gdbarch != NULL);
  2746. return gdbarch->get_thread_local_address != NULL;
  2747. }
  2748. CORE_ADDR
  2749. gdbarch_get_thread_local_address (struct gdbarch *gdbarch, ptid_t ptid, CORE_ADDR lm_addr, CORE_ADDR offset)
  2750. {
  2751. gdb_assert (gdbarch != NULL);
  2752. gdb_assert (gdbarch->get_thread_local_address != NULL);
  2753. if (gdbarch_debug >= 2)
  2754. gdb_printf (gdb_stdlog, "gdbarch_get_thread_local_address called\n");
  2755. return gdbarch->get_thread_local_address (gdbarch, ptid, lm_addr, offset);
  2756. }
  2757. void
  2758. set_gdbarch_get_thread_local_address (struct gdbarch *gdbarch,
  2759. gdbarch_get_thread_local_address_ftype get_thread_local_address)
  2760. {
  2761. gdbarch->get_thread_local_address = get_thread_local_address;
  2762. }
  2763. CORE_ADDR
  2764. gdbarch_frame_args_skip (struct gdbarch *gdbarch)
  2765. {
  2766. gdb_assert (gdbarch != NULL);
  2767. /* Skip verify of frame_args_skip, invalid_p == 0 */
  2768. if (gdbarch_debug >= 2)
  2769. gdb_printf (gdb_stdlog, "gdbarch_frame_args_skip called\n");
  2770. return gdbarch->frame_args_skip;
  2771. }
  2772. void
  2773. set_gdbarch_frame_args_skip (struct gdbarch *gdbarch,
  2774. CORE_ADDR frame_args_skip)
  2775. {
  2776. gdbarch->frame_args_skip = frame_args_skip;
  2777. }
  2778. CORE_ADDR
  2779. gdbarch_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
  2780. {
  2781. gdb_assert (gdbarch != NULL);
  2782. gdb_assert (gdbarch->unwind_pc != NULL);
  2783. if (gdbarch_debug >= 2)
  2784. gdb_printf (gdb_stdlog, "gdbarch_unwind_pc called\n");
  2785. return gdbarch->unwind_pc (gdbarch, next_frame);
  2786. }
  2787. void
  2788. set_gdbarch_unwind_pc (struct gdbarch *gdbarch,
  2789. gdbarch_unwind_pc_ftype unwind_pc)
  2790. {
  2791. gdbarch->unwind_pc = unwind_pc;
  2792. }
  2793. CORE_ADDR
  2794. gdbarch_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
  2795. {
  2796. gdb_assert (gdbarch != NULL);
  2797. gdb_assert (gdbarch->unwind_sp != NULL);
  2798. if (gdbarch_debug >= 2)
  2799. gdb_printf (gdb_stdlog, "gdbarch_unwind_sp called\n");
  2800. return gdbarch->unwind_sp (gdbarch, next_frame);
  2801. }
  2802. void
  2803. set_gdbarch_unwind_sp (struct gdbarch *gdbarch,
  2804. gdbarch_unwind_sp_ftype unwind_sp)
  2805. {
  2806. gdbarch->unwind_sp = unwind_sp;
  2807. }
  2808. bool
  2809. gdbarch_frame_num_args_p (struct gdbarch *gdbarch)
  2810. {
  2811. gdb_assert (gdbarch != NULL);
  2812. return gdbarch->frame_num_args != NULL;
  2813. }
  2814. int
  2815. gdbarch_frame_num_args (struct gdbarch *gdbarch, struct frame_info *frame)
  2816. {
  2817. gdb_assert (gdbarch != NULL);
  2818. gdb_assert (gdbarch->frame_num_args != NULL);
  2819. if (gdbarch_debug >= 2)
  2820. gdb_printf (gdb_stdlog, "gdbarch_frame_num_args called\n");
  2821. return gdbarch->frame_num_args (frame);
  2822. }
  2823. void
  2824. set_gdbarch_frame_num_args (struct gdbarch *gdbarch,
  2825. gdbarch_frame_num_args_ftype frame_num_args)
  2826. {
  2827. gdbarch->frame_num_args = frame_num_args;
  2828. }
  2829. bool
  2830. gdbarch_frame_align_p (struct gdbarch *gdbarch)
  2831. {
  2832. gdb_assert (gdbarch != NULL);
  2833. return gdbarch->frame_align != NULL;
  2834. }
  2835. CORE_ADDR
  2836. gdbarch_frame_align (struct gdbarch *gdbarch, CORE_ADDR address)
  2837. {
  2838. gdb_assert (gdbarch != NULL);
  2839. gdb_assert (gdbarch->frame_align != NULL);
  2840. if (gdbarch_debug >= 2)
  2841. gdb_printf (gdb_stdlog, "gdbarch_frame_align called\n");
  2842. return gdbarch->frame_align (gdbarch, address);
  2843. }
  2844. void
  2845. set_gdbarch_frame_align (struct gdbarch *gdbarch,
  2846. gdbarch_frame_align_ftype frame_align)
  2847. {
  2848. gdbarch->frame_align = frame_align;
  2849. }
  2850. int
  2851. gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
  2852. {
  2853. gdb_assert (gdbarch != NULL);
  2854. gdb_assert (gdbarch->stabs_argument_has_addr != NULL);
  2855. if (gdbarch_debug >= 2)
  2856. gdb_printf (gdb_stdlog, "gdbarch_stabs_argument_has_addr called\n");
  2857. return gdbarch->stabs_argument_has_addr (gdbarch, type);
  2858. }
  2859. void
  2860. set_gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch,
  2861. gdbarch_stabs_argument_has_addr_ftype stabs_argument_has_addr)
  2862. {
  2863. gdbarch->stabs_argument_has_addr = stabs_argument_has_addr;
  2864. }
  2865. int
  2866. gdbarch_frame_red_zone_size (struct gdbarch *gdbarch)
  2867. {
  2868. gdb_assert (gdbarch != NULL);
  2869. /* Skip verify of frame_red_zone_size, invalid_p == 0 */
  2870. if (gdbarch_debug >= 2)
  2871. gdb_printf (gdb_stdlog, "gdbarch_frame_red_zone_size called\n");
  2872. return gdbarch->frame_red_zone_size;
  2873. }
  2874. void
  2875. set_gdbarch_frame_red_zone_size (struct gdbarch *gdbarch,
  2876. int frame_red_zone_size)
  2877. {
  2878. gdbarch->frame_red_zone_size = frame_red_zone_size;
  2879. }
  2880. CORE_ADDR
  2881. gdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ)
  2882. {
  2883. gdb_assert (gdbarch != NULL);
  2884. gdb_assert (gdbarch->convert_from_func_ptr_addr != NULL);
  2885. if (gdbarch_debug >= 2)
  2886. gdb_printf (gdb_stdlog, "gdbarch_convert_from_func_ptr_addr called\n");
  2887. return gdbarch->convert_from_func_ptr_addr (gdbarch, addr, targ);
  2888. }
  2889. void
  2890. set_gdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch,
  2891. gdbarch_convert_from_func_ptr_addr_ftype convert_from_func_ptr_addr)
  2892. {
  2893. gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr;
  2894. }
  2895. CORE_ADDR
  2896. gdbarch_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr)
  2897. {
  2898. gdb_assert (gdbarch != NULL);
  2899. gdb_assert (gdbarch->addr_bits_remove != NULL);
  2900. if (gdbarch_debug >= 2)
  2901. gdb_printf (gdb_stdlog, "gdbarch_addr_bits_remove called\n");
  2902. return gdbarch->addr_bits_remove (gdbarch, addr);
  2903. }
  2904. void
  2905. set_gdbarch_addr_bits_remove (struct gdbarch *gdbarch,
  2906. gdbarch_addr_bits_remove_ftype addr_bits_remove)
  2907. {
  2908. gdbarch->addr_bits_remove = addr_bits_remove;
  2909. }
  2910. int
  2911. gdbarch_significant_addr_bit (struct gdbarch *gdbarch)
  2912. {
  2913. gdb_assert (gdbarch != NULL);
  2914. /* Skip verify of significant_addr_bit, invalid_p == 0 */
  2915. if (gdbarch_debug >= 2)
  2916. gdb_printf (gdb_stdlog, "gdbarch_significant_addr_bit called\n");
  2917. return gdbarch->significant_addr_bit;
  2918. }
  2919. void
  2920. set_gdbarch_significant_addr_bit (struct gdbarch *gdbarch,
  2921. int significant_addr_bit)
  2922. {
  2923. gdbarch->significant_addr_bit = significant_addr_bit;
  2924. }
  2925. std::string
  2926. gdbarch_memtag_to_string (struct gdbarch *gdbarch, struct value *tag)
  2927. {
  2928. gdb_assert (gdbarch != NULL);
  2929. gdb_assert (gdbarch->memtag_to_string != NULL);
  2930. if (gdbarch_debug >= 2)
  2931. gdb_printf (gdb_stdlog, "gdbarch_memtag_to_string called\n");
  2932. return gdbarch->memtag_to_string (gdbarch, tag);
  2933. }
  2934. void
  2935. set_gdbarch_memtag_to_string (struct gdbarch *gdbarch,
  2936. gdbarch_memtag_to_string_ftype memtag_to_string)
  2937. {
  2938. gdbarch->memtag_to_string = memtag_to_string;
  2939. }
  2940. bool
  2941. gdbarch_tagged_address_p (struct gdbarch *gdbarch, struct value *address)
  2942. {
  2943. gdb_assert (gdbarch != NULL);
  2944. gdb_assert (gdbarch->tagged_address_p != NULL);
  2945. if (gdbarch_debug >= 2)
  2946. gdb_printf (gdb_stdlog, "gdbarch_tagged_address_p called\n");
  2947. return gdbarch->tagged_address_p (gdbarch, address);
  2948. }
  2949. void
  2950. set_gdbarch_tagged_address_p (struct gdbarch *gdbarch,
  2951. gdbarch_tagged_address_p_ftype tagged_address_p)
  2952. {
  2953. gdbarch->tagged_address_p = tagged_address_p;
  2954. }
  2955. bool
  2956. gdbarch_memtag_matches_p (struct gdbarch *gdbarch, struct value *address)
  2957. {
  2958. gdb_assert (gdbarch != NULL);
  2959. gdb_assert (gdbarch->memtag_matches_p != NULL);
  2960. if (gdbarch_debug >= 2)
  2961. gdb_printf (gdb_stdlog, "gdbarch_memtag_matches_p called\n");
  2962. return gdbarch->memtag_matches_p (gdbarch, address);
  2963. }
  2964. void
  2965. set_gdbarch_memtag_matches_p (struct gdbarch *gdbarch,
  2966. gdbarch_memtag_matches_p_ftype memtag_matches_p)
  2967. {
  2968. gdbarch->memtag_matches_p = memtag_matches_p;
  2969. }
  2970. bool
  2971. gdbarch_set_memtags (struct gdbarch *gdbarch, struct value *address, size_t length, const gdb::byte_vector &tags, memtag_type tag_type)
  2972. {
  2973. gdb_assert (gdbarch != NULL);
  2974. gdb_assert (gdbarch->set_memtags != NULL);
  2975. if (gdbarch_debug >= 2)
  2976. gdb_printf (gdb_stdlog, "gdbarch_set_memtags called\n");
  2977. return gdbarch->set_memtags (gdbarch, address, length, tags, tag_type);
  2978. }
  2979. void
  2980. set_gdbarch_set_memtags (struct gdbarch *gdbarch,
  2981. gdbarch_set_memtags_ftype set_memtags)
  2982. {
  2983. gdbarch->set_memtags = set_memtags;
  2984. }
  2985. struct value *
  2986. gdbarch_get_memtag (struct gdbarch *gdbarch, struct value *address, memtag_type tag_type)
  2987. {
  2988. gdb_assert (gdbarch != NULL);
  2989. gdb_assert (gdbarch->get_memtag != NULL);
  2990. if (gdbarch_debug >= 2)
  2991. gdb_printf (gdb_stdlog, "gdbarch_get_memtag called\n");
  2992. return gdbarch->get_memtag (gdbarch, address, tag_type);
  2993. }
  2994. void
  2995. set_gdbarch_get_memtag (struct gdbarch *gdbarch,
  2996. gdbarch_get_memtag_ftype get_memtag)
  2997. {
  2998. gdbarch->get_memtag = get_memtag;
  2999. }
  3000. CORE_ADDR
  3001. gdbarch_memtag_granule_size (struct gdbarch *gdbarch)
  3002. {
  3003. gdb_assert (gdbarch != NULL);
  3004. /* Skip verify of memtag_granule_size, invalid_p == 0 */
  3005. if (gdbarch_debug >= 2)
  3006. gdb_printf (gdb_stdlog, "gdbarch_memtag_granule_size called\n");
  3007. return gdbarch->memtag_granule_size;
  3008. }
  3009. void
  3010. set_gdbarch_memtag_granule_size (struct gdbarch *gdbarch,
  3011. CORE_ADDR memtag_granule_size)
  3012. {
  3013. gdbarch->memtag_granule_size = memtag_granule_size;
  3014. }
  3015. bool
  3016. gdbarch_software_single_step_p (struct gdbarch *gdbarch)
  3017. {
  3018. gdb_assert (gdbarch != NULL);
  3019. return gdbarch->software_single_step != NULL;
  3020. }
  3021. std::vector<CORE_ADDR>
  3022. gdbarch_software_single_step (struct gdbarch *gdbarch, struct regcache *regcache)
  3023. {
  3024. gdb_assert (gdbarch != NULL);
  3025. gdb_assert (gdbarch->software_single_step != NULL);
  3026. if (gdbarch_debug >= 2)
  3027. gdb_printf (gdb_stdlog, "gdbarch_software_single_step called\n");
  3028. return gdbarch->software_single_step (regcache);
  3029. }
  3030. void
  3031. set_gdbarch_software_single_step (struct gdbarch *gdbarch,
  3032. gdbarch_software_single_step_ftype software_single_step)
  3033. {
  3034. gdbarch->software_single_step = software_single_step;
  3035. }
  3036. bool
  3037. gdbarch_single_step_through_delay_p (struct gdbarch *gdbarch)
  3038. {
  3039. gdb_assert (gdbarch != NULL);
  3040. return gdbarch->single_step_through_delay != NULL;
  3041. }
  3042. int
  3043. gdbarch_single_step_through_delay (struct gdbarch *gdbarch, struct frame_info *frame)
  3044. {
  3045. gdb_assert (gdbarch != NULL);
  3046. gdb_assert (gdbarch->single_step_through_delay != NULL);
  3047. if (gdbarch_debug >= 2)
  3048. gdb_printf (gdb_stdlog, "gdbarch_single_step_through_delay called\n");
  3049. return gdbarch->single_step_through_delay (gdbarch, frame);
  3050. }
  3051. void
  3052. set_gdbarch_single_step_through_delay (struct gdbarch *gdbarch,
  3053. gdbarch_single_step_through_delay_ftype single_step_through_delay)
  3054. {
  3055. gdbarch->single_step_through_delay = single_step_through_delay;
  3056. }
  3057. int
  3058. gdbarch_print_insn (struct gdbarch *gdbarch, bfd_vma vma, struct disassemble_info *info)
  3059. {
  3060. gdb_assert (gdbarch != NULL);
  3061. gdb_assert (gdbarch->print_insn != NULL);
  3062. if (gdbarch_debug >= 2)
  3063. gdb_printf (gdb_stdlog, "gdbarch_print_insn called\n");
  3064. return gdbarch->print_insn (vma, info);
  3065. }
  3066. void
  3067. set_gdbarch_print_insn (struct gdbarch *gdbarch,
  3068. gdbarch_print_insn_ftype print_insn)
  3069. {
  3070. gdbarch->print_insn = print_insn;
  3071. }
  3072. CORE_ADDR
  3073. gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR pc)
  3074. {
  3075. gdb_assert (gdbarch != NULL);
  3076. gdb_assert (gdbarch->skip_trampoline_code != NULL);
  3077. if (gdbarch_debug >= 2)
  3078. gdb_printf (gdb_stdlog, "gdbarch_skip_trampoline_code called\n");
  3079. return gdbarch->skip_trampoline_code (frame, pc);
  3080. }
  3081. void
  3082. set_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch,
  3083. gdbarch_skip_trampoline_code_ftype skip_trampoline_code)
  3084. {
  3085. gdbarch->skip_trampoline_code = skip_trampoline_code;
  3086. }
  3087. CORE_ADDR
  3088. gdbarch_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
  3089. {
  3090. gdb_assert (gdbarch != NULL);
  3091. gdb_assert (gdbarch->skip_solib_resolver != NULL);
  3092. if (gdbarch_debug >= 2)
  3093. gdb_printf (gdb_stdlog, "gdbarch_skip_solib_resolver called\n");
  3094. return gdbarch->skip_solib_resolver (gdbarch, pc);
  3095. }
  3096. void
  3097. set_gdbarch_skip_solib_resolver (struct gdbarch *gdbarch,
  3098. gdbarch_skip_solib_resolver_ftype skip_solib_resolver)
  3099. {
  3100. gdbarch->skip_solib_resolver = skip_solib_resolver;
  3101. }
  3102. int
  3103. gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, const char *name)
  3104. {
  3105. gdb_assert (gdbarch != NULL);
  3106. gdb_assert (gdbarch->in_solib_return_trampoline != NULL);
  3107. if (gdbarch_debug >= 2)
  3108. gdb_printf (gdb_stdlog, "gdbarch_in_solib_return_trampoline called\n");
  3109. return gdbarch->in_solib_return_trampoline (gdbarch, pc, name);
  3110. }
  3111. void
  3112. set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch,
  3113. gdbarch_in_solib_return_trampoline_ftype in_solib_return_trampoline)
  3114. {
  3115. gdbarch->in_solib_return_trampoline = in_solib_return_trampoline;
  3116. }
  3117. bool
  3118. gdbarch_in_indirect_branch_thunk (struct gdbarch *gdbarch, CORE_ADDR pc)
  3119. {
  3120. gdb_assert (gdbarch != NULL);
  3121. gdb_assert (gdbarch->in_indirect_branch_thunk != NULL);
  3122. if (gdbarch_debug >= 2)
  3123. gdb_printf (gdb_stdlog, "gdbarch_in_indirect_branch_thunk called\n");
  3124. return gdbarch->in_indirect_branch_thunk (gdbarch, pc);
  3125. }
  3126. void
  3127. set_gdbarch_in_indirect_branch_thunk (struct gdbarch *gdbarch,
  3128. gdbarch_in_indirect_branch_thunk_ftype in_indirect_branch_thunk)
  3129. {
  3130. gdbarch->in_indirect_branch_thunk = in_indirect_branch_thunk;
  3131. }
  3132. int
  3133. gdbarch_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR addr)
  3134. {
  3135. gdb_assert (gdbarch != NULL);
  3136. gdb_assert (gdbarch->stack_frame_destroyed_p != NULL);
  3137. if (gdbarch_debug >= 2)
  3138. gdb_printf (gdb_stdlog, "gdbarch_stack_frame_destroyed_p called\n");
  3139. return gdbarch->stack_frame_destroyed_p (gdbarch, addr);
  3140. }
  3141. void
  3142. set_gdbarch_stack_frame_destroyed_p (struct gdbarch *gdbarch,
  3143. gdbarch_stack_frame_destroyed_p_ftype stack_frame_destroyed_p)
  3144. {
  3145. gdbarch->stack_frame_destroyed_p = stack_frame_destroyed_p;
  3146. }
  3147. bool
  3148. gdbarch_elf_make_msymbol_special_p (struct gdbarch *gdbarch)
  3149. {
  3150. gdb_assert (gdbarch != NULL);
  3151. return gdbarch->elf_make_msymbol_special != NULL;
  3152. }
  3153. void
  3154. gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch, asymbol *sym, struct minimal_symbol *msym)
  3155. {
  3156. gdb_assert (gdbarch != NULL);
  3157. gdb_assert (gdbarch->elf_make_msymbol_special != NULL);
  3158. if (gdbarch_debug >= 2)
  3159. gdb_printf (gdb_stdlog, "gdbarch_elf_make_msymbol_special called\n");
  3160. gdbarch->elf_make_msymbol_special (sym, msym);
  3161. }
  3162. void
  3163. set_gdbarch_elf_make_msymbol_special (struct gdbarch *gdbarch,
  3164. gdbarch_elf_make_msymbol_special_ftype elf_make_msymbol_special)
  3165. {
  3166. gdbarch->elf_make_msymbol_special = elf_make_msymbol_special;
  3167. }
  3168. void
  3169. gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch, int val, struct minimal_symbol *msym)
  3170. {
  3171. gdb_assert (gdbarch != NULL);
  3172. gdb_assert (gdbarch->coff_make_msymbol_special != NULL);
  3173. if (gdbarch_debug >= 2)
  3174. gdb_printf (gdb_stdlog, "gdbarch_coff_make_msymbol_special called\n");
  3175. gdbarch->coff_make_msymbol_special (val, msym);
  3176. }
  3177. void
  3178. set_gdbarch_coff_make_msymbol_special (struct gdbarch *gdbarch,
  3179. gdbarch_coff_make_msymbol_special_ftype coff_make_msymbol_special)
  3180. {
  3181. gdbarch->coff_make_msymbol_special = coff_make_msymbol_special;
  3182. }
  3183. void
  3184. gdbarch_make_symbol_special (struct gdbarch *gdbarch, struct symbol *sym, struct objfile *objfile)
  3185. {
  3186. gdb_assert (gdbarch != NULL);
  3187. gdb_assert (gdbarch->make_symbol_special != NULL);
  3188. if (gdbarch_debug >= 2)
  3189. gdb_printf (gdb_stdlog, "gdbarch_make_symbol_special called\n");
  3190. gdbarch->make_symbol_special (sym, objfile);
  3191. }
  3192. void
  3193. set_gdbarch_make_symbol_special (struct gdbarch *gdbarch,
  3194. gdbarch_make_symbol_special_ftype make_symbol_special)
  3195. {
  3196. gdbarch->make_symbol_special = make_symbol_special;
  3197. }
  3198. CORE_ADDR
  3199. gdbarch_adjust_dwarf2_addr (struct gdbarch *gdbarch, CORE_ADDR pc)
  3200. {
  3201. gdb_assert (gdbarch != NULL);
  3202. gdb_assert (gdbarch->adjust_dwarf2_addr != NULL);
  3203. if (gdbarch_debug >= 2)
  3204. gdb_printf (gdb_stdlog, "gdbarch_adjust_dwarf2_addr called\n");
  3205. return gdbarch->adjust_dwarf2_addr (pc);
  3206. }
  3207. void
  3208. set_gdbarch_adjust_dwarf2_addr (struct gdbarch *gdbarch,
  3209. gdbarch_adjust_dwarf2_addr_ftype adjust_dwarf2_addr)
  3210. {
  3211. gdbarch->adjust_dwarf2_addr = adjust_dwarf2_addr;
  3212. }
  3213. CORE_ADDR
  3214. gdbarch_adjust_dwarf2_line (struct gdbarch *gdbarch, CORE_ADDR addr, int rel)
  3215. {
  3216. gdb_assert (gdbarch != NULL);
  3217. gdb_assert (gdbarch->adjust_dwarf2_line != NULL);
  3218. if (gdbarch_debug >= 2)
  3219. gdb_printf (gdb_stdlog, "gdbarch_adjust_dwarf2_line called\n");
  3220. return gdbarch->adjust_dwarf2_line (addr, rel);
  3221. }
  3222. void
  3223. set_gdbarch_adjust_dwarf2_line (struct gdbarch *gdbarch,
  3224. gdbarch_adjust_dwarf2_line_ftype adjust_dwarf2_line)
  3225. {
  3226. gdbarch->adjust_dwarf2_line = adjust_dwarf2_line;
  3227. }
  3228. int
  3229. gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch)
  3230. {
  3231. gdb_assert (gdbarch != NULL);
  3232. /* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
  3233. if (gdbarch_debug >= 2)
  3234. gdb_printf (gdb_stdlog, "gdbarch_cannot_step_breakpoint called\n");
  3235. return gdbarch->cannot_step_breakpoint;
  3236. }
  3237. void
  3238. set_gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch,
  3239. int cannot_step_breakpoint)
  3240. {
  3241. gdbarch->cannot_step_breakpoint = cannot_step_breakpoint;
  3242. }
  3243. int
  3244. gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch)
  3245. {
  3246. gdb_assert (gdbarch != NULL);
  3247. /* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
  3248. if (gdbarch_debug >= 2)
  3249. gdb_printf (gdb_stdlog, "gdbarch_have_nonsteppable_watchpoint called\n");
  3250. return gdbarch->have_nonsteppable_watchpoint;
  3251. }
  3252. void
  3253. set_gdbarch_have_nonsteppable_watchpoint (struct gdbarch *gdbarch,
  3254. int have_nonsteppable_watchpoint)
  3255. {
  3256. gdbarch->have_nonsteppable_watchpoint = have_nonsteppable_watchpoint;
  3257. }
  3258. bool
  3259. gdbarch_address_class_type_flags_p (struct gdbarch *gdbarch)
  3260. {
  3261. gdb_assert (gdbarch != NULL);
  3262. return gdbarch->address_class_type_flags != NULL;
  3263. }
  3264. type_instance_flags
  3265. gdbarch_address_class_type_flags (struct gdbarch *gdbarch, int byte_size, int dwarf2_addr_class)
  3266. {
  3267. gdb_assert (gdbarch != NULL);
  3268. gdb_assert (gdbarch->address_class_type_flags != NULL);
  3269. if (gdbarch_debug >= 2)
  3270. gdb_printf (gdb_stdlog, "gdbarch_address_class_type_flags called\n");
  3271. return gdbarch->address_class_type_flags (byte_size, dwarf2_addr_class);
  3272. }
  3273. void
  3274. set_gdbarch_address_class_type_flags (struct gdbarch *gdbarch,
  3275. gdbarch_address_class_type_flags_ftype address_class_type_flags)
  3276. {
  3277. gdbarch->address_class_type_flags = address_class_type_flags;
  3278. }
  3279. bool
  3280. gdbarch_address_class_type_flags_to_name_p (struct gdbarch *gdbarch)
  3281. {
  3282. gdb_assert (gdbarch != NULL);
  3283. return gdbarch->address_class_type_flags_to_name != NULL;
  3284. }
  3285. const char *
  3286. gdbarch_address_class_type_flags_to_name (struct gdbarch *gdbarch, type_instance_flags type_flags)
  3287. {
  3288. gdb_assert (gdbarch != NULL);
  3289. gdb_assert (gdbarch->address_class_type_flags_to_name != NULL);
  3290. if (gdbarch_debug >= 2)
  3291. gdb_printf (gdb_stdlog, "gdbarch_address_class_type_flags_to_name called\n");
  3292. return gdbarch->address_class_type_flags_to_name (gdbarch, type_flags);
  3293. }
  3294. void
  3295. set_gdbarch_address_class_type_flags_to_name (struct gdbarch *gdbarch,
  3296. gdbarch_address_class_type_flags_to_name_ftype address_class_type_flags_to_name)
  3297. {
  3298. gdbarch->address_class_type_flags_to_name = address_class_type_flags_to_name;
  3299. }
  3300. bool
  3301. gdbarch_execute_dwarf_cfa_vendor_op (struct gdbarch *gdbarch, gdb_byte op, struct dwarf2_frame_state *fs)
  3302. {
  3303. gdb_assert (gdbarch != NULL);
  3304. gdb_assert (gdbarch->execute_dwarf_cfa_vendor_op != NULL);
  3305. if (gdbarch_debug >= 2)
  3306. gdb_printf (gdb_stdlog, "gdbarch_execute_dwarf_cfa_vendor_op called\n");
  3307. return gdbarch->execute_dwarf_cfa_vendor_op (gdbarch, op, fs);
  3308. }
  3309. void
  3310. set_gdbarch_execute_dwarf_cfa_vendor_op (struct gdbarch *gdbarch,
  3311. gdbarch_execute_dwarf_cfa_vendor_op_ftype execute_dwarf_cfa_vendor_op)
  3312. {
  3313. gdbarch->execute_dwarf_cfa_vendor_op = execute_dwarf_cfa_vendor_op;
  3314. }
  3315. bool
  3316. gdbarch_address_class_name_to_type_flags_p (struct gdbarch *gdbarch)
  3317. {
  3318. gdb_assert (gdbarch != NULL);
  3319. return gdbarch->address_class_name_to_type_flags != NULL;
  3320. }
  3321. bool
  3322. gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch, const char *name, type_instance_flags *type_flags_ptr)
  3323. {
  3324. gdb_assert (gdbarch != NULL);
  3325. gdb_assert (gdbarch->address_class_name_to_type_flags != NULL);
  3326. if (gdbarch_debug >= 2)
  3327. gdb_printf (gdb_stdlog, "gdbarch_address_class_name_to_type_flags called\n");
  3328. return gdbarch->address_class_name_to_type_flags (gdbarch, name, type_flags_ptr);
  3329. }
  3330. void
  3331. set_gdbarch_address_class_name_to_type_flags (struct gdbarch *gdbarch,
  3332. gdbarch_address_class_name_to_type_flags_ftype address_class_name_to_type_flags)
  3333. {
  3334. gdbarch->address_class_name_to_type_flags = address_class_name_to_type_flags;
  3335. }
  3336. int
  3337. gdbarch_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup)
  3338. {
  3339. gdb_assert (gdbarch != NULL);
  3340. gdb_assert (gdbarch->register_reggroup_p != NULL);
  3341. if (gdbarch_debug >= 2)
  3342. gdb_printf (gdb_stdlog, "gdbarch_register_reggroup_p called\n");
  3343. return gdbarch->register_reggroup_p (gdbarch, regnum, reggroup);
  3344. }
  3345. void
  3346. set_gdbarch_register_reggroup_p (struct gdbarch *gdbarch,
  3347. gdbarch_register_reggroup_p_ftype register_reggroup_p)
  3348. {
  3349. gdbarch->register_reggroup_p = register_reggroup_p;
  3350. }
  3351. bool
  3352. gdbarch_fetch_pointer_argument_p (struct gdbarch *gdbarch)
  3353. {
  3354. gdb_assert (gdbarch != NULL);
  3355. return gdbarch->fetch_pointer_argument != NULL;
  3356. }
  3357. CORE_ADDR
  3358. gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch, struct frame_info *frame, int argi, struct type *type)
  3359. {
  3360. gdb_assert (gdbarch != NULL);
  3361. gdb_assert (gdbarch->fetch_pointer_argument != NULL);
  3362. if (gdbarch_debug >= 2)
  3363. gdb_printf (gdb_stdlog, "gdbarch_fetch_pointer_argument called\n");
  3364. return gdbarch->fetch_pointer_argument (frame, argi, type);
  3365. }
  3366. void
  3367. set_gdbarch_fetch_pointer_argument (struct gdbarch *gdbarch,
  3368. gdbarch_fetch_pointer_argument_ftype fetch_pointer_argument)
  3369. {
  3370. gdbarch->fetch_pointer_argument = fetch_pointer_argument;
  3371. }
  3372. bool
  3373. gdbarch_iterate_over_regset_sections_p (struct gdbarch *gdbarch)
  3374. {
  3375. gdb_assert (gdbarch != NULL);
  3376. return gdbarch->iterate_over_regset_sections != NULL;
  3377. }
  3378. void
  3379. gdbarch_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
  3380. {
  3381. gdb_assert (gdbarch != NULL);
  3382. gdb_assert (gdbarch->iterate_over_regset_sections != NULL);
  3383. if (gdbarch_debug >= 2)
  3384. gdb_printf (gdb_stdlog, "gdbarch_iterate_over_regset_sections called\n");
  3385. gdbarch->iterate_over_regset_sections (gdbarch, cb, cb_data, regcache);
  3386. }
  3387. void
  3388. set_gdbarch_iterate_over_regset_sections (struct gdbarch *gdbarch,
  3389. gdbarch_iterate_over_regset_sections_ftype iterate_over_regset_sections)
  3390. {
  3391. gdbarch->iterate_over_regset_sections = iterate_over_regset_sections;
  3392. }
  3393. bool
  3394. gdbarch_make_corefile_notes_p (struct gdbarch *gdbarch)
  3395. {
  3396. gdb_assert (gdbarch != NULL);
  3397. return gdbarch->make_corefile_notes != NULL;
  3398. }
  3399. gdb::unique_xmalloc_ptr<char>
  3400. gdbarch_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
  3401. {
  3402. gdb_assert (gdbarch != NULL);
  3403. gdb_assert (gdbarch->make_corefile_notes != NULL);
  3404. if (gdbarch_debug >= 2)
  3405. gdb_printf (gdb_stdlog, "gdbarch_make_corefile_notes called\n");
  3406. return gdbarch->make_corefile_notes (gdbarch, obfd, note_size);
  3407. }
  3408. void
  3409. set_gdbarch_make_corefile_notes (struct gdbarch *gdbarch,
  3410. gdbarch_make_corefile_notes_ftype make_corefile_notes)
  3411. {
  3412. gdbarch->make_corefile_notes = make_corefile_notes;
  3413. }
  3414. bool
  3415. gdbarch_find_memory_regions_p (struct gdbarch *gdbarch)
  3416. {
  3417. gdb_assert (gdbarch != NULL);
  3418. return gdbarch->find_memory_regions != NULL;
  3419. }
  3420. int
  3421. gdbarch_find_memory_regions (struct gdbarch *gdbarch, find_memory_region_ftype func, void *data)
  3422. {
  3423. gdb_assert (gdbarch != NULL);
  3424. gdb_assert (gdbarch->find_memory_regions != NULL);
  3425. if (gdbarch_debug >= 2)
  3426. gdb_printf (gdb_stdlog, "gdbarch_find_memory_regions called\n");
  3427. return gdbarch->find_memory_regions (gdbarch, func, data);
  3428. }
  3429. void
  3430. set_gdbarch_find_memory_regions (struct gdbarch *gdbarch,
  3431. gdbarch_find_memory_regions_ftype find_memory_regions)
  3432. {
  3433. gdbarch->find_memory_regions = find_memory_regions;
  3434. }
  3435. bool
  3436. gdbarch_core_xfer_shared_libraries_p (struct gdbarch *gdbarch)
  3437. {
  3438. gdb_assert (gdbarch != NULL);
  3439. return gdbarch->core_xfer_shared_libraries != NULL;
  3440. }
  3441. ULONGEST
  3442. gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len)
  3443. {
  3444. gdb_assert (gdbarch != NULL);
  3445. gdb_assert (gdbarch->core_xfer_shared_libraries != NULL);
  3446. if (gdbarch_debug >= 2)
  3447. gdb_printf (gdb_stdlog, "gdbarch_core_xfer_shared_libraries called\n");
  3448. return gdbarch->core_xfer_shared_libraries (gdbarch, readbuf, offset, len);
  3449. }
  3450. void
  3451. set_gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch,
  3452. gdbarch_core_xfer_shared_libraries_ftype core_xfer_shared_libraries)
  3453. {
  3454. gdbarch->core_xfer_shared_libraries = core_xfer_shared_libraries;
  3455. }
  3456. bool
  3457. gdbarch_core_xfer_shared_libraries_aix_p (struct gdbarch *gdbarch)
  3458. {
  3459. gdb_assert (gdbarch != NULL);
  3460. return gdbarch->core_xfer_shared_libraries_aix != NULL;
  3461. }
  3462. ULONGEST
  3463. gdbarch_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len)
  3464. {
  3465. gdb_assert (gdbarch != NULL);
  3466. gdb_assert (gdbarch->core_xfer_shared_libraries_aix != NULL);
  3467. if (gdbarch_debug >= 2)
  3468. gdb_printf (gdb_stdlog, "gdbarch_core_xfer_shared_libraries_aix called\n");
  3469. return gdbarch->core_xfer_shared_libraries_aix (gdbarch, readbuf, offset, len);
  3470. }
  3471. void
  3472. set_gdbarch_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch,
  3473. gdbarch_core_xfer_shared_libraries_aix_ftype core_xfer_shared_libraries_aix)
  3474. {
  3475. gdbarch->core_xfer_shared_libraries_aix = core_xfer_shared_libraries_aix;
  3476. }
  3477. bool
  3478. gdbarch_core_pid_to_str_p (struct gdbarch *gdbarch)
  3479. {
  3480. gdb_assert (gdbarch != NULL);
  3481. return gdbarch->core_pid_to_str != NULL;
  3482. }
  3483. std::string
  3484. gdbarch_core_pid_to_str (struct gdbarch *gdbarch, ptid_t ptid)
  3485. {
  3486. gdb_assert (gdbarch != NULL);
  3487. gdb_assert (gdbarch->core_pid_to_str != NULL);
  3488. if (gdbarch_debug >= 2)
  3489. gdb_printf (gdb_stdlog, "gdbarch_core_pid_to_str called\n");
  3490. return gdbarch->core_pid_to_str (gdbarch, ptid);
  3491. }
  3492. void
  3493. set_gdbarch_core_pid_to_str (struct gdbarch *gdbarch,
  3494. gdbarch_core_pid_to_str_ftype core_pid_to_str)
  3495. {
  3496. gdbarch->core_pid_to_str = core_pid_to_str;
  3497. }
  3498. bool
  3499. gdbarch_core_thread_name_p (struct gdbarch *gdbarch)
  3500. {
  3501. gdb_assert (gdbarch != NULL);
  3502. return gdbarch->core_thread_name != NULL;
  3503. }
  3504. const char *
  3505. gdbarch_core_thread_name (struct gdbarch *gdbarch, struct thread_info *thr)
  3506. {
  3507. gdb_assert (gdbarch != NULL);
  3508. gdb_assert (gdbarch->core_thread_name != NULL);
  3509. if (gdbarch_debug >= 2)
  3510. gdb_printf (gdb_stdlog, "gdbarch_core_thread_name called\n");
  3511. return gdbarch->core_thread_name (gdbarch, thr);
  3512. }
  3513. void
  3514. set_gdbarch_core_thread_name (struct gdbarch *gdbarch,
  3515. gdbarch_core_thread_name_ftype core_thread_name)
  3516. {
  3517. gdbarch->core_thread_name = core_thread_name;
  3518. }
  3519. bool
  3520. gdbarch_core_xfer_siginfo_p (struct gdbarch *gdbarch)
  3521. {
  3522. gdb_assert (gdbarch != NULL);
  3523. return gdbarch->core_xfer_siginfo != NULL;
  3524. }
  3525. LONGEST
  3526. gdbarch_core_xfer_siginfo (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len)
  3527. {
  3528. gdb_assert (gdbarch != NULL);
  3529. gdb_assert (gdbarch->core_xfer_siginfo != NULL);
  3530. if (gdbarch_debug >= 2)
  3531. gdb_printf (gdb_stdlog, "gdbarch_core_xfer_siginfo called\n");
  3532. return gdbarch->core_xfer_siginfo (gdbarch, readbuf, offset, len);
  3533. }
  3534. void
  3535. set_gdbarch_core_xfer_siginfo (struct gdbarch *gdbarch,
  3536. gdbarch_core_xfer_siginfo_ftype core_xfer_siginfo)
  3537. {
  3538. gdbarch->core_xfer_siginfo = core_xfer_siginfo;
  3539. }
  3540. bool
  3541. gdbarch_gcore_bfd_target_p (struct gdbarch *gdbarch)
  3542. {
  3543. gdb_assert (gdbarch != NULL);
  3544. return gdbarch->gcore_bfd_target != 0;
  3545. }
  3546. const char *
  3547. gdbarch_gcore_bfd_target (struct gdbarch *gdbarch)
  3548. {
  3549. gdb_assert (gdbarch != NULL);
  3550. /* Check variable changed from pre-default. */
  3551. gdb_assert (gdbarch->gcore_bfd_target != 0);
  3552. if (gdbarch_debug >= 2)
  3553. gdb_printf (gdb_stdlog, "gdbarch_gcore_bfd_target called\n");
  3554. return gdbarch->gcore_bfd_target;
  3555. }
  3556. void
  3557. set_gdbarch_gcore_bfd_target (struct gdbarch *gdbarch,
  3558. const char * gcore_bfd_target)
  3559. {
  3560. gdbarch->gcore_bfd_target = gcore_bfd_target;
  3561. }
  3562. int
  3563. gdbarch_vtable_function_descriptors (struct gdbarch *gdbarch)
  3564. {
  3565. gdb_assert (gdbarch != NULL);
  3566. /* Skip verify of vtable_function_descriptors, invalid_p == 0 */
  3567. if (gdbarch_debug >= 2)
  3568. gdb_printf (gdb_stdlog, "gdbarch_vtable_function_descriptors called\n");
  3569. return gdbarch->vtable_function_descriptors;
  3570. }
  3571. void
  3572. set_gdbarch_vtable_function_descriptors (struct gdbarch *gdbarch,
  3573. int vtable_function_descriptors)
  3574. {
  3575. gdbarch->vtable_function_descriptors = vtable_function_descriptors;
  3576. }
  3577. int
  3578. gdbarch_vbit_in_delta (struct gdbarch *gdbarch)
  3579. {
  3580. gdb_assert (gdbarch != NULL);
  3581. /* Skip verify of vbit_in_delta, invalid_p == 0 */
  3582. if (gdbarch_debug >= 2)
  3583. gdb_printf (gdb_stdlog, "gdbarch_vbit_in_delta called\n");
  3584. return gdbarch->vbit_in_delta;
  3585. }
  3586. void
  3587. set_gdbarch_vbit_in_delta (struct gdbarch *gdbarch,
  3588. int vbit_in_delta)
  3589. {
  3590. gdbarch->vbit_in_delta = vbit_in_delta;
  3591. }
  3592. void
  3593. gdbarch_skip_permanent_breakpoint (struct gdbarch *gdbarch, struct regcache *regcache)
  3594. {
  3595. gdb_assert (gdbarch != NULL);
  3596. gdb_assert (gdbarch->skip_permanent_breakpoint != NULL);
  3597. if (gdbarch_debug >= 2)
  3598. gdb_printf (gdb_stdlog, "gdbarch_skip_permanent_breakpoint called\n");
  3599. gdbarch->skip_permanent_breakpoint (regcache);
  3600. }
  3601. void
  3602. set_gdbarch_skip_permanent_breakpoint (struct gdbarch *gdbarch,
  3603. gdbarch_skip_permanent_breakpoint_ftype skip_permanent_breakpoint)
  3604. {
  3605. gdbarch->skip_permanent_breakpoint = skip_permanent_breakpoint;
  3606. }
  3607. bool
  3608. gdbarch_max_insn_length_p (struct gdbarch *gdbarch)
  3609. {
  3610. gdb_assert (gdbarch != NULL);
  3611. return gdbarch->max_insn_length != 0;
  3612. }
  3613. ULONGEST
  3614. gdbarch_max_insn_length (struct gdbarch *gdbarch)
  3615. {
  3616. gdb_assert (gdbarch != NULL);
  3617. /* Check variable changed from pre-default. */
  3618. gdb_assert (gdbarch->max_insn_length != 0);
  3619. if (gdbarch_debug >= 2)
  3620. gdb_printf (gdb_stdlog, "gdbarch_max_insn_length called\n");
  3621. return gdbarch->max_insn_length;
  3622. }
  3623. void
  3624. set_gdbarch_max_insn_length (struct gdbarch *gdbarch,
  3625. ULONGEST max_insn_length)
  3626. {
  3627. gdbarch->max_insn_length = max_insn_length;
  3628. }
  3629. bool
  3630. gdbarch_displaced_step_copy_insn_p (struct gdbarch *gdbarch)
  3631. {
  3632. gdb_assert (gdbarch != NULL);
  3633. return gdbarch->displaced_step_copy_insn != NULL;
  3634. }
  3635. displaced_step_copy_insn_closure_up
  3636. gdbarch_displaced_step_copy_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
  3637. {
  3638. gdb_assert (gdbarch != NULL);
  3639. gdb_assert (gdbarch->displaced_step_copy_insn != NULL);
  3640. if (gdbarch_debug >= 2)
  3641. gdb_printf (gdb_stdlog, "gdbarch_displaced_step_copy_insn called\n");
  3642. return gdbarch->displaced_step_copy_insn (gdbarch, from, to, regs);
  3643. }
  3644. void
  3645. set_gdbarch_displaced_step_copy_insn (struct gdbarch *gdbarch,
  3646. gdbarch_displaced_step_copy_insn_ftype displaced_step_copy_insn)
  3647. {
  3648. gdbarch->displaced_step_copy_insn = displaced_step_copy_insn;
  3649. }
  3650. bool
  3651. gdbarch_displaced_step_hw_singlestep (struct gdbarch *gdbarch)
  3652. {
  3653. gdb_assert (gdbarch != NULL);
  3654. gdb_assert (gdbarch->displaced_step_hw_singlestep != NULL);
  3655. if (gdbarch_debug >= 2)
  3656. gdb_printf (gdb_stdlog, "gdbarch_displaced_step_hw_singlestep called\n");
  3657. return gdbarch->displaced_step_hw_singlestep (gdbarch);
  3658. }
  3659. void
  3660. set_gdbarch_displaced_step_hw_singlestep (struct gdbarch *gdbarch,
  3661. gdbarch_displaced_step_hw_singlestep_ftype displaced_step_hw_singlestep)
  3662. {
  3663. gdbarch->displaced_step_hw_singlestep = displaced_step_hw_singlestep;
  3664. }
  3665. bool
  3666. gdbarch_displaced_step_fixup_p (struct gdbarch *gdbarch)
  3667. {
  3668. gdb_assert (gdbarch != NULL);
  3669. return gdbarch->displaced_step_fixup != NULL;
  3670. }
  3671. void
  3672. gdbarch_displaced_step_fixup (struct gdbarch *gdbarch, struct displaced_step_copy_insn_closure *closure, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
  3673. {
  3674. gdb_assert (gdbarch != NULL);
  3675. gdb_assert (gdbarch->displaced_step_fixup != NULL);
  3676. /* Do not check predicate: gdbarch->displaced_step_fixup != NULL, allow call. */
  3677. if (gdbarch_debug >= 2)
  3678. gdb_printf (gdb_stdlog, "gdbarch_displaced_step_fixup called\n");
  3679. gdbarch->displaced_step_fixup (gdbarch, closure, from, to, regs);
  3680. }
  3681. void
  3682. set_gdbarch_displaced_step_fixup (struct gdbarch *gdbarch,
  3683. gdbarch_displaced_step_fixup_ftype displaced_step_fixup)
  3684. {
  3685. gdbarch->displaced_step_fixup = displaced_step_fixup;
  3686. }
  3687. bool
  3688. gdbarch_displaced_step_prepare_p (struct gdbarch *gdbarch)
  3689. {
  3690. gdb_assert (gdbarch != NULL);
  3691. return gdbarch->displaced_step_prepare != NULL;
  3692. }
  3693. displaced_step_prepare_status
  3694. gdbarch_displaced_step_prepare (struct gdbarch *gdbarch, thread_info *thread, CORE_ADDR &displaced_pc)
  3695. {
  3696. gdb_assert (gdbarch != NULL);
  3697. gdb_assert (gdbarch->displaced_step_prepare != NULL);
  3698. if (gdbarch_debug >= 2)
  3699. gdb_printf (gdb_stdlog, "gdbarch_displaced_step_prepare called\n");
  3700. return gdbarch->displaced_step_prepare (gdbarch, thread, displaced_pc);
  3701. }
  3702. void
  3703. set_gdbarch_displaced_step_prepare (struct gdbarch *gdbarch,
  3704. gdbarch_displaced_step_prepare_ftype displaced_step_prepare)
  3705. {
  3706. gdbarch->displaced_step_prepare = displaced_step_prepare;
  3707. }
  3708. displaced_step_finish_status
  3709. gdbarch_displaced_step_finish (struct gdbarch *gdbarch, thread_info *thread, gdb_signal sig)
  3710. {
  3711. gdb_assert (gdbarch != NULL);
  3712. gdb_assert (gdbarch->displaced_step_finish != NULL);
  3713. if (gdbarch_debug >= 2)
  3714. gdb_printf (gdb_stdlog, "gdbarch_displaced_step_finish called\n");
  3715. return gdbarch->displaced_step_finish (gdbarch, thread, sig);
  3716. }
  3717. void
  3718. set_gdbarch_displaced_step_finish (struct gdbarch *gdbarch,
  3719. gdbarch_displaced_step_finish_ftype displaced_step_finish)
  3720. {
  3721. gdbarch->displaced_step_finish = displaced_step_finish;
  3722. }
  3723. bool
  3724. gdbarch_displaced_step_copy_insn_closure_by_addr_p (struct gdbarch *gdbarch)
  3725. {
  3726. gdb_assert (gdbarch != NULL);
  3727. return gdbarch->displaced_step_copy_insn_closure_by_addr != NULL;
  3728. }
  3729. const displaced_step_copy_insn_closure *
  3730. gdbarch_displaced_step_copy_insn_closure_by_addr (struct gdbarch *gdbarch, inferior *inf, CORE_ADDR addr)
  3731. {
  3732. gdb_assert (gdbarch != NULL);
  3733. gdb_assert (gdbarch->displaced_step_copy_insn_closure_by_addr != NULL);
  3734. if (gdbarch_debug >= 2)
  3735. gdb_printf (gdb_stdlog, "gdbarch_displaced_step_copy_insn_closure_by_addr called\n");
  3736. return gdbarch->displaced_step_copy_insn_closure_by_addr (inf, addr);
  3737. }
  3738. void
  3739. set_gdbarch_displaced_step_copy_insn_closure_by_addr (struct gdbarch *gdbarch,
  3740. gdbarch_displaced_step_copy_insn_closure_by_addr_ftype displaced_step_copy_insn_closure_by_addr)
  3741. {
  3742. gdbarch->displaced_step_copy_insn_closure_by_addr = displaced_step_copy_insn_closure_by_addr;
  3743. }
  3744. void
  3745. gdbarch_displaced_step_restore_all_in_ptid (struct gdbarch *gdbarch, inferior *parent_inf, ptid_t child_ptid)
  3746. {
  3747. gdb_assert (gdbarch != NULL);
  3748. gdb_assert (gdbarch->displaced_step_restore_all_in_ptid != NULL);
  3749. if (gdbarch_debug >= 2)
  3750. gdb_printf (gdb_stdlog, "gdbarch_displaced_step_restore_all_in_ptid called\n");
  3751. gdbarch->displaced_step_restore_all_in_ptid (parent_inf, child_ptid);
  3752. }
  3753. void
  3754. set_gdbarch_displaced_step_restore_all_in_ptid (struct gdbarch *gdbarch,
  3755. gdbarch_displaced_step_restore_all_in_ptid_ftype displaced_step_restore_all_in_ptid)
  3756. {
  3757. gdbarch->displaced_step_restore_all_in_ptid = displaced_step_restore_all_in_ptid;
  3758. }
  3759. bool
  3760. gdbarch_relocate_instruction_p (struct gdbarch *gdbarch)
  3761. {
  3762. gdb_assert (gdbarch != NULL);
  3763. return gdbarch->relocate_instruction != NULL;
  3764. }
  3765. void
  3766. gdbarch_relocate_instruction (struct gdbarch *gdbarch, CORE_ADDR *to, CORE_ADDR from)
  3767. {
  3768. gdb_assert (gdbarch != NULL);
  3769. gdb_assert (gdbarch->relocate_instruction != NULL);
  3770. /* Do not check predicate: gdbarch->relocate_instruction != NULL, allow call. */
  3771. if (gdbarch_debug >= 2)
  3772. gdb_printf (gdb_stdlog, "gdbarch_relocate_instruction called\n");
  3773. gdbarch->relocate_instruction (gdbarch, to, from);
  3774. }
  3775. void
  3776. set_gdbarch_relocate_instruction (struct gdbarch *gdbarch,
  3777. gdbarch_relocate_instruction_ftype relocate_instruction)
  3778. {
  3779. gdbarch->relocate_instruction = relocate_instruction;
  3780. }
  3781. bool
  3782. gdbarch_overlay_update_p (struct gdbarch *gdbarch)
  3783. {
  3784. gdb_assert (gdbarch != NULL);
  3785. return gdbarch->overlay_update != NULL;
  3786. }
  3787. void
  3788. gdbarch_overlay_update (struct gdbarch *gdbarch, struct obj_section *osect)
  3789. {
  3790. gdb_assert (gdbarch != NULL);
  3791. gdb_assert (gdbarch->overlay_update != NULL);
  3792. if (gdbarch_debug >= 2)
  3793. gdb_printf (gdb_stdlog, "gdbarch_overlay_update called\n");
  3794. gdbarch->overlay_update (osect);
  3795. }
  3796. void
  3797. set_gdbarch_overlay_update (struct gdbarch *gdbarch,
  3798. gdbarch_overlay_update_ftype overlay_update)
  3799. {
  3800. gdbarch->overlay_update = overlay_update;
  3801. }
  3802. bool
  3803. gdbarch_core_read_description_p (struct gdbarch *gdbarch)
  3804. {
  3805. gdb_assert (gdbarch != NULL);
  3806. return gdbarch->core_read_description != NULL;
  3807. }
  3808. const struct target_desc *
  3809. gdbarch_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
  3810. {
  3811. gdb_assert (gdbarch != NULL);
  3812. gdb_assert (gdbarch->core_read_description != NULL);
  3813. if (gdbarch_debug >= 2)
  3814. gdb_printf (gdb_stdlog, "gdbarch_core_read_description called\n");
  3815. return gdbarch->core_read_description (gdbarch, target, abfd);
  3816. }
  3817. void
  3818. set_gdbarch_core_read_description (struct gdbarch *gdbarch,
  3819. gdbarch_core_read_description_ftype core_read_description)
  3820. {
  3821. gdbarch->core_read_description = core_read_description;
  3822. }
  3823. int
  3824. gdbarch_sofun_address_maybe_missing (struct gdbarch *gdbarch)
  3825. {
  3826. gdb_assert (gdbarch != NULL);
  3827. /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */
  3828. if (gdbarch_debug >= 2)
  3829. gdb_printf (gdb_stdlog, "gdbarch_sofun_address_maybe_missing called\n");
  3830. return gdbarch->sofun_address_maybe_missing;
  3831. }
  3832. void
  3833. set_gdbarch_sofun_address_maybe_missing (struct gdbarch *gdbarch,
  3834. int sofun_address_maybe_missing)
  3835. {
  3836. gdbarch->sofun_address_maybe_missing = sofun_address_maybe_missing;
  3837. }
  3838. bool
  3839. gdbarch_process_record_p (struct gdbarch *gdbarch)
  3840. {
  3841. gdb_assert (gdbarch != NULL);
  3842. return gdbarch->process_record != NULL;
  3843. }
  3844. int
  3845. gdbarch_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr)
  3846. {
  3847. gdb_assert (gdbarch != NULL);
  3848. gdb_assert (gdbarch->process_record != NULL);
  3849. if (gdbarch_debug >= 2)
  3850. gdb_printf (gdb_stdlog, "gdbarch_process_record called\n");
  3851. return gdbarch->process_record (gdbarch, regcache, addr);
  3852. }
  3853. void
  3854. set_gdbarch_process_record (struct gdbarch *gdbarch,
  3855. gdbarch_process_record_ftype process_record)
  3856. {
  3857. gdbarch->process_record = process_record;
  3858. }
  3859. bool
  3860. gdbarch_process_record_signal_p (struct gdbarch *gdbarch)
  3861. {
  3862. gdb_assert (gdbarch != NULL);
  3863. return gdbarch->process_record_signal != NULL;
  3864. }
  3865. int
  3866. gdbarch_process_record_signal (struct gdbarch *gdbarch, struct regcache *regcache, enum gdb_signal signal)
  3867. {
  3868. gdb_assert (gdbarch != NULL);
  3869. gdb_assert (gdbarch->process_record_signal != NULL);
  3870. if (gdbarch_debug >= 2)
  3871. gdb_printf (gdb_stdlog, "gdbarch_process_record_signal called\n");
  3872. return gdbarch->process_record_signal (gdbarch, regcache, signal);
  3873. }
  3874. void
  3875. set_gdbarch_process_record_signal (struct gdbarch *gdbarch,
  3876. gdbarch_process_record_signal_ftype process_record_signal)
  3877. {
  3878. gdbarch->process_record_signal = process_record_signal;
  3879. }
  3880. bool
  3881. gdbarch_gdb_signal_from_target_p (struct gdbarch *gdbarch)
  3882. {
  3883. gdb_assert (gdbarch != NULL);
  3884. return gdbarch->gdb_signal_from_target != NULL;
  3885. }
  3886. enum gdb_signal
  3887. gdbarch_gdb_signal_from_target (struct gdbarch *gdbarch, int signo)
  3888. {
  3889. gdb_assert (gdbarch != NULL);
  3890. gdb_assert (gdbarch->gdb_signal_from_target != NULL);
  3891. if (gdbarch_debug >= 2)
  3892. gdb_printf (gdb_stdlog, "gdbarch_gdb_signal_from_target called\n");
  3893. return gdbarch->gdb_signal_from_target (gdbarch, signo);
  3894. }
  3895. void
  3896. set_gdbarch_gdb_signal_from_target (struct gdbarch *gdbarch,
  3897. gdbarch_gdb_signal_from_target_ftype gdb_signal_from_target)
  3898. {
  3899. gdbarch->gdb_signal_from_target = gdb_signal_from_target;
  3900. }
  3901. bool
  3902. gdbarch_gdb_signal_to_target_p (struct gdbarch *gdbarch)
  3903. {
  3904. gdb_assert (gdbarch != NULL);
  3905. return gdbarch->gdb_signal_to_target != NULL;
  3906. }
  3907. int
  3908. gdbarch_gdb_signal_to_target (struct gdbarch *gdbarch, enum gdb_signal signal)
  3909. {
  3910. gdb_assert (gdbarch != NULL);
  3911. gdb_assert (gdbarch->gdb_signal_to_target != NULL);
  3912. if (gdbarch_debug >= 2)
  3913. gdb_printf (gdb_stdlog, "gdbarch_gdb_signal_to_target called\n");
  3914. return gdbarch->gdb_signal_to_target (gdbarch, signal);
  3915. }
  3916. void
  3917. set_gdbarch_gdb_signal_to_target (struct gdbarch *gdbarch,
  3918. gdbarch_gdb_signal_to_target_ftype gdb_signal_to_target)
  3919. {
  3920. gdbarch->gdb_signal_to_target = gdb_signal_to_target;
  3921. }
  3922. bool
  3923. gdbarch_get_siginfo_type_p (struct gdbarch *gdbarch)
  3924. {
  3925. gdb_assert (gdbarch != NULL);
  3926. return gdbarch->get_siginfo_type != NULL;
  3927. }
  3928. struct type *
  3929. gdbarch_get_siginfo_type (struct gdbarch *gdbarch)
  3930. {
  3931. gdb_assert (gdbarch != NULL);
  3932. gdb_assert (gdbarch->get_siginfo_type != NULL);
  3933. if (gdbarch_debug >= 2)
  3934. gdb_printf (gdb_stdlog, "gdbarch_get_siginfo_type called\n");
  3935. return gdbarch->get_siginfo_type (gdbarch);
  3936. }
  3937. void
  3938. set_gdbarch_get_siginfo_type (struct gdbarch *gdbarch,
  3939. gdbarch_get_siginfo_type_ftype get_siginfo_type)
  3940. {
  3941. gdbarch->get_siginfo_type = get_siginfo_type;
  3942. }
  3943. bool
  3944. gdbarch_record_special_symbol_p (struct gdbarch *gdbarch)
  3945. {
  3946. gdb_assert (gdbarch != NULL);
  3947. return gdbarch->record_special_symbol != NULL;
  3948. }
  3949. void
  3950. gdbarch_record_special_symbol (struct gdbarch *gdbarch, struct objfile *objfile, asymbol *sym)
  3951. {
  3952. gdb_assert (gdbarch != NULL);
  3953. gdb_assert (gdbarch->record_special_symbol != NULL);
  3954. if (gdbarch_debug >= 2)
  3955. gdb_printf (gdb_stdlog, "gdbarch_record_special_symbol called\n");
  3956. gdbarch->record_special_symbol (gdbarch, objfile, sym);
  3957. }
  3958. void
  3959. set_gdbarch_record_special_symbol (struct gdbarch *gdbarch,
  3960. gdbarch_record_special_symbol_ftype record_special_symbol)
  3961. {
  3962. gdbarch->record_special_symbol = record_special_symbol;
  3963. }
  3964. bool
  3965. gdbarch_get_syscall_number_p (struct gdbarch *gdbarch)
  3966. {
  3967. gdb_assert (gdbarch != NULL);
  3968. return gdbarch->get_syscall_number != NULL;
  3969. }
  3970. LONGEST
  3971. gdbarch_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread)
  3972. {
  3973. gdb_assert (gdbarch != NULL);
  3974. gdb_assert (gdbarch->get_syscall_number != NULL);
  3975. if (gdbarch_debug >= 2)
  3976. gdb_printf (gdb_stdlog, "gdbarch_get_syscall_number called\n");
  3977. return gdbarch->get_syscall_number (gdbarch, thread);
  3978. }
  3979. void
  3980. set_gdbarch_get_syscall_number (struct gdbarch *gdbarch,
  3981. gdbarch_get_syscall_number_ftype get_syscall_number)
  3982. {
  3983. gdbarch->get_syscall_number = get_syscall_number;
  3984. }
  3985. const char *
  3986. gdbarch_xml_syscall_file (struct gdbarch *gdbarch)
  3987. {
  3988. gdb_assert (gdbarch != NULL);
  3989. /* Skip verify of xml_syscall_file, invalid_p == 0 */
  3990. if (gdbarch_debug >= 2)
  3991. gdb_printf (gdb_stdlog, "gdbarch_xml_syscall_file called\n");
  3992. return gdbarch->xml_syscall_file;
  3993. }
  3994. void
  3995. set_gdbarch_xml_syscall_file (struct gdbarch *gdbarch,
  3996. const char * xml_syscall_file)
  3997. {
  3998. gdbarch->xml_syscall_file = xml_syscall_file;
  3999. }
  4000. struct syscalls_info *
  4001. gdbarch_syscalls_info (struct gdbarch *gdbarch)
  4002. {
  4003. gdb_assert (gdbarch != NULL);
  4004. /* Skip verify of syscalls_info, invalid_p == 0 */
  4005. if (gdbarch_debug >= 2)
  4006. gdb_printf (gdb_stdlog, "gdbarch_syscalls_info called\n");
  4007. return gdbarch->syscalls_info;
  4008. }
  4009. void
  4010. set_gdbarch_syscalls_info (struct gdbarch *gdbarch,
  4011. struct syscalls_info * syscalls_info)
  4012. {
  4013. gdbarch->syscalls_info = syscalls_info;
  4014. }
  4015. const char *const *
  4016. gdbarch_stap_integer_prefixes (struct gdbarch *gdbarch)
  4017. {
  4018. gdb_assert (gdbarch != NULL);
  4019. /* Skip verify of stap_integer_prefixes, invalid_p == 0 */
  4020. if (gdbarch_debug >= 2)
  4021. gdb_printf (gdb_stdlog, "gdbarch_stap_integer_prefixes called\n");
  4022. return gdbarch->stap_integer_prefixes;
  4023. }
  4024. void
  4025. set_gdbarch_stap_integer_prefixes (struct gdbarch *gdbarch,
  4026. const char *const * stap_integer_prefixes)
  4027. {
  4028. gdbarch->stap_integer_prefixes = stap_integer_prefixes;
  4029. }
  4030. const char *const *
  4031. gdbarch_stap_integer_suffixes (struct gdbarch *gdbarch)
  4032. {
  4033. gdb_assert (gdbarch != NULL);
  4034. /* Skip verify of stap_integer_suffixes, invalid_p == 0 */
  4035. if (gdbarch_debug >= 2)
  4036. gdb_printf (gdb_stdlog, "gdbarch_stap_integer_suffixes called\n");
  4037. return gdbarch->stap_integer_suffixes;
  4038. }
  4039. void
  4040. set_gdbarch_stap_integer_suffixes (struct gdbarch *gdbarch,
  4041. const char *const * stap_integer_suffixes)
  4042. {
  4043. gdbarch->stap_integer_suffixes = stap_integer_suffixes;
  4044. }
  4045. const char *const *
  4046. gdbarch_stap_register_prefixes (struct gdbarch *gdbarch)
  4047. {
  4048. gdb_assert (gdbarch != NULL);
  4049. /* Skip verify of stap_register_prefixes, invalid_p == 0 */
  4050. if (gdbarch_debug >= 2)
  4051. gdb_printf (gdb_stdlog, "gdbarch_stap_register_prefixes called\n");
  4052. return gdbarch->stap_register_prefixes;
  4053. }
  4054. void
  4055. set_gdbarch_stap_register_prefixes (struct gdbarch *gdbarch,
  4056. const char *const * stap_register_prefixes)
  4057. {
  4058. gdbarch->stap_register_prefixes = stap_register_prefixes;
  4059. }
  4060. const char *const *
  4061. gdbarch_stap_register_suffixes (struct gdbarch *gdbarch)
  4062. {
  4063. gdb_assert (gdbarch != NULL);
  4064. /* Skip verify of stap_register_suffixes, invalid_p == 0 */
  4065. if (gdbarch_debug >= 2)
  4066. gdb_printf (gdb_stdlog, "gdbarch_stap_register_suffixes called\n");
  4067. return gdbarch->stap_register_suffixes;
  4068. }
  4069. void
  4070. set_gdbarch_stap_register_suffixes (struct gdbarch *gdbarch,
  4071. const char *const * stap_register_suffixes)
  4072. {
  4073. gdbarch->stap_register_suffixes = stap_register_suffixes;
  4074. }
  4075. const char *const *
  4076. gdbarch_stap_register_indirection_prefixes (struct gdbarch *gdbarch)
  4077. {
  4078. gdb_assert (gdbarch != NULL);
  4079. /* Skip verify of stap_register_indirection_prefixes, invalid_p == 0 */
  4080. if (gdbarch_debug >= 2)
  4081. gdb_printf (gdb_stdlog, "gdbarch_stap_register_indirection_prefixes called\n");
  4082. return gdbarch->stap_register_indirection_prefixes;
  4083. }
  4084. void
  4085. set_gdbarch_stap_register_indirection_prefixes (struct gdbarch *gdbarch,
  4086. const char *const * stap_register_indirection_prefixes)
  4087. {
  4088. gdbarch->stap_register_indirection_prefixes = stap_register_indirection_prefixes;
  4089. }
  4090. const char *const *
  4091. gdbarch_stap_register_indirection_suffixes (struct gdbarch *gdbarch)
  4092. {
  4093. gdb_assert (gdbarch != NULL);
  4094. /* Skip verify of stap_register_indirection_suffixes, invalid_p == 0 */
  4095. if (gdbarch_debug >= 2)
  4096. gdb_printf (gdb_stdlog, "gdbarch_stap_register_indirection_suffixes called\n");
  4097. return gdbarch->stap_register_indirection_suffixes;
  4098. }
  4099. void
  4100. set_gdbarch_stap_register_indirection_suffixes (struct gdbarch *gdbarch,
  4101. const char *const * stap_register_indirection_suffixes)
  4102. {
  4103. gdbarch->stap_register_indirection_suffixes = stap_register_indirection_suffixes;
  4104. }
  4105. const char *
  4106. gdbarch_stap_gdb_register_prefix (struct gdbarch *gdbarch)
  4107. {
  4108. gdb_assert (gdbarch != NULL);
  4109. /* Skip verify of stap_gdb_register_prefix, invalid_p == 0 */
  4110. if (gdbarch_debug >= 2)
  4111. gdb_printf (gdb_stdlog, "gdbarch_stap_gdb_register_prefix called\n");
  4112. return gdbarch->stap_gdb_register_prefix;
  4113. }
  4114. void
  4115. set_gdbarch_stap_gdb_register_prefix (struct gdbarch *gdbarch,
  4116. const char * stap_gdb_register_prefix)
  4117. {
  4118. gdbarch->stap_gdb_register_prefix = stap_gdb_register_prefix;
  4119. }
  4120. const char *
  4121. gdbarch_stap_gdb_register_suffix (struct gdbarch *gdbarch)
  4122. {
  4123. gdb_assert (gdbarch != NULL);
  4124. /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */
  4125. if (gdbarch_debug >= 2)
  4126. gdb_printf (gdb_stdlog, "gdbarch_stap_gdb_register_suffix called\n");
  4127. return gdbarch->stap_gdb_register_suffix;
  4128. }
  4129. void
  4130. set_gdbarch_stap_gdb_register_suffix (struct gdbarch *gdbarch,
  4131. const char * stap_gdb_register_suffix)
  4132. {
  4133. gdbarch->stap_gdb_register_suffix = stap_gdb_register_suffix;
  4134. }
  4135. bool
  4136. gdbarch_stap_is_single_operand_p (struct gdbarch *gdbarch)
  4137. {
  4138. gdb_assert (gdbarch != NULL);
  4139. return gdbarch->stap_is_single_operand != NULL;
  4140. }
  4141. int
  4142. gdbarch_stap_is_single_operand (struct gdbarch *gdbarch, const char *s)
  4143. {
  4144. gdb_assert (gdbarch != NULL);
  4145. gdb_assert (gdbarch->stap_is_single_operand != NULL);
  4146. if (gdbarch_debug >= 2)
  4147. gdb_printf (gdb_stdlog, "gdbarch_stap_is_single_operand called\n");
  4148. return gdbarch->stap_is_single_operand (gdbarch, s);
  4149. }
  4150. void
  4151. set_gdbarch_stap_is_single_operand (struct gdbarch *gdbarch,
  4152. gdbarch_stap_is_single_operand_ftype stap_is_single_operand)
  4153. {
  4154. gdbarch->stap_is_single_operand = stap_is_single_operand;
  4155. }
  4156. bool
  4157. gdbarch_stap_parse_special_token_p (struct gdbarch *gdbarch)
  4158. {
  4159. gdb_assert (gdbarch != NULL);
  4160. return gdbarch->stap_parse_special_token != NULL;
  4161. }
  4162. expr::operation_up
  4163. gdbarch_stap_parse_special_token (struct gdbarch *gdbarch, struct stap_parse_info *p)
  4164. {
  4165. gdb_assert (gdbarch != NULL);
  4166. gdb_assert (gdbarch->stap_parse_special_token != NULL);
  4167. if (gdbarch_debug >= 2)
  4168. gdb_printf (gdb_stdlog, "gdbarch_stap_parse_special_token called\n");
  4169. return gdbarch->stap_parse_special_token (gdbarch, p);
  4170. }
  4171. void
  4172. set_gdbarch_stap_parse_special_token (struct gdbarch *gdbarch,
  4173. gdbarch_stap_parse_special_token_ftype stap_parse_special_token)
  4174. {
  4175. gdbarch->stap_parse_special_token = stap_parse_special_token;
  4176. }
  4177. bool
  4178. gdbarch_stap_adjust_register_p (struct gdbarch *gdbarch)
  4179. {
  4180. gdb_assert (gdbarch != NULL);
  4181. return gdbarch->stap_adjust_register != NULL;
  4182. }
  4183. std::string
  4184. gdbarch_stap_adjust_register (struct gdbarch *gdbarch, struct stap_parse_info *p, const std::string &regname, int regnum)
  4185. {
  4186. gdb_assert (gdbarch != NULL);
  4187. gdb_assert (gdbarch->stap_adjust_register != NULL);
  4188. if (gdbarch_debug >= 2)
  4189. gdb_printf (gdb_stdlog, "gdbarch_stap_adjust_register called\n");
  4190. return gdbarch->stap_adjust_register (gdbarch, p, regname, regnum);
  4191. }
  4192. void
  4193. set_gdbarch_stap_adjust_register (struct gdbarch *gdbarch,
  4194. gdbarch_stap_adjust_register_ftype stap_adjust_register)
  4195. {
  4196. gdbarch->stap_adjust_register = stap_adjust_register;
  4197. }
  4198. bool
  4199. gdbarch_dtrace_parse_probe_argument_p (struct gdbarch *gdbarch)
  4200. {
  4201. gdb_assert (gdbarch != NULL);
  4202. return gdbarch->dtrace_parse_probe_argument != NULL;
  4203. }
  4204. expr::operation_up
  4205. gdbarch_dtrace_parse_probe_argument (struct gdbarch *gdbarch, int narg)
  4206. {
  4207. gdb_assert (gdbarch != NULL);
  4208. gdb_assert (gdbarch->dtrace_parse_probe_argument != NULL);
  4209. if (gdbarch_debug >= 2)
  4210. gdb_printf (gdb_stdlog, "gdbarch_dtrace_parse_probe_argument called\n");
  4211. return gdbarch->dtrace_parse_probe_argument (gdbarch, narg);
  4212. }
  4213. void
  4214. set_gdbarch_dtrace_parse_probe_argument (struct gdbarch *gdbarch,
  4215. gdbarch_dtrace_parse_probe_argument_ftype dtrace_parse_probe_argument)
  4216. {
  4217. gdbarch->dtrace_parse_probe_argument = dtrace_parse_probe_argument;
  4218. }
  4219. bool
  4220. gdbarch_dtrace_probe_is_enabled_p (struct gdbarch *gdbarch)
  4221. {
  4222. gdb_assert (gdbarch != NULL);
  4223. return gdbarch->dtrace_probe_is_enabled != NULL;
  4224. }
  4225. int
  4226. gdbarch_dtrace_probe_is_enabled (struct gdbarch *gdbarch, CORE_ADDR addr)
  4227. {
  4228. gdb_assert (gdbarch != NULL);
  4229. gdb_assert (gdbarch->dtrace_probe_is_enabled != NULL);
  4230. if (gdbarch_debug >= 2)
  4231. gdb_printf (gdb_stdlog, "gdbarch_dtrace_probe_is_enabled called\n");
  4232. return gdbarch->dtrace_probe_is_enabled (gdbarch, addr);
  4233. }
  4234. void
  4235. set_gdbarch_dtrace_probe_is_enabled (struct gdbarch *gdbarch,
  4236. gdbarch_dtrace_probe_is_enabled_ftype dtrace_probe_is_enabled)
  4237. {
  4238. gdbarch->dtrace_probe_is_enabled = dtrace_probe_is_enabled;
  4239. }
  4240. bool
  4241. gdbarch_dtrace_enable_probe_p (struct gdbarch *gdbarch)
  4242. {
  4243. gdb_assert (gdbarch != NULL);
  4244. return gdbarch->dtrace_enable_probe != NULL;
  4245. }
  4246. void
  4247. gdbarch_dtrace_enable_probe (struct gdbarch *gdbarch, CORE_ADDR addr)
  4248. {
  4249. gdb_assert (gdbarch != NULL);
  4250. gdb_assert (gdbarch->dtrace_enable_probe != NULL);
  4251. if (gdbarch_debug >= 2)
  4252. gdb_printf (gdb_stdlog, "gdbarch_dtrace_enable_probe called\n");
  4253. gdbarch->dtrace_enable_probe (gdbarch, addr);
  4254. }
  4255. void
  4256. set_gdbarch_dtrace_enable_probe (struct gdbarch *gdbarch,
  4257. gdbarch_dtrace_enable_probe_ftype dtrace_enable_probe)
  4258. {
  4259. gdbarch->dtrace_enable_probe = dtrace_enable_probe;
  4260. }
  4261. bool
  4262. gdbarch_dtrace_disable_probe_p (struct gdbarch *gdbarch)
  4263. {
  4264. gdb_assert (gdbarch != NULL);
  4265. return gdbarch->dtrace_disable_probe != NULL;
  4266. }
  4267. void
  4268. gdbarch_dtrace_disable_probe (struct gdbarch *gdbarch, CORE_ADDR addr)
  4269. {
  4270. gdb_assert (gdbarch != NULL);
  4271. gdb_assert (gdbarch->dtrace_disable_probe != NULL);
  4272. if (gdbarch_debug >= 2)
  4273. gdb_printf (gdb_stdlog, "gdbarch_dtrace_disable_probe called\n");
  4274. gdbarch->dtrace_disable_probe (gdbarch, addr);
  4275. }
  4276. void
  4277. set_gdbarch_dtrace_disable_probe (struct gdbarch *gdbarch,
  4278. gdbarch_dtrace_disable_probe_ftype dtrace_disable_probe)
  4279. {
  4280. gdbarch->dtrace_disable_probe = dtrace_disable_probe;
  4281. }
  4282. int
  4283. gdbarch_has_global_solist (struct gdbarch *gdbarch)
  4284. {
  4285. gdb_assert (gdbarch != NULL);
  4286. /* Skip verify of has_global_solist, invalid_p == 0 */
  4287. if (gdbarch_debug >= 2)
  4288. gdb_printf (gdb_stdlog, "gdbarch_has_global_solist called\n");
  4289. return gdbarch->has_global_solist;
  4290. }
  4291. void
  4292. set_gdbarch_has_global_solist (struct gdbarch *gdbarch,
  4293. int has_global_solist)
  4294. {
  4295. gdbarch->has_global_solist = has_global_solist;
  4296. }
  4297. int
  4298. gdbarch_has_global_breakpoints (struct gdbarch *gdbarch)
  4299. {
  4300. gdb_assert (gdbarch != NULL);
  4301. /* Skip verify of has_global_breakpoints, invalid_p == 0 */
  4302. if (gdbarch_debug >= 2)
  4303. gdb_printf (gdb_stdlog, "gdbarch_has_global_breakpoints called\n");
  4304. return gdbarch->has_global_breakpoints;
  4305. }
  4306. void
  4307. set_gdbarch_has_global_breakpoints (struct gdbarch *gdbarch,
  4308. int has_global_breakpoints)
  4309. {
  4310. gdbarch->has_global_breakpoints = has_global_breakpoints;
  4311. }
  4312. int
  4313. gdbarch_has_shared_address_space (struct gdbarch *gdbarch)
  4314. {
  4315. gdb_assert (gdbarch != NULL);
  4316. gdb_assert (gdbarch->has_shared_address_space != NULL);
  4317. if (gdbarch_debug >= 2)
  4318. gdb_printf (gdb_stdlog, "gdbarch_has_shared_address_space called\n");
  4319. return gdbarch->has_shared_address_space (gdbarch);
  4320. }
  4321. void
  4322. set_gdbarch_has_shared_address_space (struct gdbarch *gdbarch,
  4323. gdbarch_has_shared_address_space_ftype has_shared_address_space)
  4324. {
  4325. gdbarch->has_shared_address_space = has_shared_address_space;
  4326. }
  4327. int
  4328. gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr, std::string *msg)
  4329. {
  4330. gdb_assert (gdbarch != NULL);
  4331. gdb_assert (gdbarch->fast_tracepoint_valid_at != NULL);
  4332. if (gdbarch_debug >= 2)
  4333. gdb_printf (gdb_stdlog, "gdbarch_fast_tracepoint_valid_at called\n");
  4334. return gdbarch->fast_tracepoint_valid_at (gdbarch, addr, msg);
  4335. }
  4336. void
  4337. set_gdbarch_fast_tracepoint_valid_at (struct gdbarch *gdbarch,
  4338. gdbarch_fast_tracepoint_valid_at_ftype fast_tracepoint_valid_at)
  4339. {
  4340. gdbarch->fast_tracepoint_valid_at = fast_tracepoint_valid_at;
  4341. }
  4342. void
  4343. gdbarch_guess_tracepoint_registers (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr)
  4344. {
  4345. gdb_assert (gdbarch != NULL);
  4346. gdb_assert (gdbarch->guess_tracepoint_registers != NULL);
  4347. if (gdbarch_debug >= 2)
  4348. gdb_printf (gdb_stdlog, "gdbarch_guess_tracepoint_registers called\n");
  4349. gdbarch->guess_tracepoint_registers (gdbarch, regcache, addr);
  4350. }
  4351. void
  4352. set_gdbarch_guess_tracepoint_registers (struct gdbarch *gdbarch,
  4353. gdbarch_guess_tracepoint_registers_ftype guess_tracepoint_registers)
  4354. {
  4355. gdbarch->guess_tracepoint_registers = guess_tracepoint_registers;
  4356. }
  4357. const char *
  4358. gdbarch_auto_charset (struct gdbarch *gdbarch)
  4359. {
  4360. gdb_assert (gdbarch != NULL);
  4361. gdb_assert (gdbarch->auto_charset != NULL);
  4362. if (gdbarch_debug >= 2)
  4363. gdb_printf (gdb_stdlog, "gdbarch_auto_charset called\n");
  4364. return gdbarch->auto_charset ();
  4365. }
  4366. void
  4367. set_gdbarch_auto_charset (struct gdbarch *gdbarch,
  4368. gdbarch_auto_charset_ftype auto_charset)
  4369. {
  4370. gdbarch->auto_charset = auto_charset;
  4371. }
  4372. const char *
  4373. gdbarch_auto_wide_charset (struct gdbarch *gdbarch)
  4374. {
  4375. gdb_assert (gdbarch != NULL);
  4376. gdb_assert (gdbarch->auto_wide_charset != NULL);
  4377. if (gdbarch_debug >= 2)
  4378. gdb_printf (gdb_stdlog, "gdbarch_auto_wide_charset called\n");
  4379. return gdbarch->auto_wide_charset ();
  4380. }
  4381. void
  4382. set_gdbarch_auto_wide_charset (struct gdbarch *gdbarch,
  4383. gdbarch_auto_wide_charset_ftype auto_wide_charset)
  4384. {
  4385. gdbarch->auto_wide_charset = auto_wide_charset;
  4386. }
  4387. const char *
  4388. gdbarch_solib_symbols_extension (struct gdbarch *gdbarch)
  4389. {
  4390. gdb_assert (gdbarch != NULL);
  4391. /* Skip verify of solib_symbols_extension, invalid_p == 0 */
  4392. if (gdbarch_debug >= 2)
  4393. gdb_printf (gdb_stdlog, "gdbarch_solib_symbols_extension called\n");
  4394. return gdbarch->solib_symbols_extension;
  4395. }
  4396. void
  4397. set_gdbarch_solib_symbols_extension (struct gdbarch *gdbarch,
  4398. const char * solib_symbols_extension)
  4399. {
  4400. gdbarch->solib_symbols_extension = solib_symbols_extension;
  4401. }
  4402. int
  4403. gdbarch_has_dos_based_file_system (struct gdbarch *gdbarch)
  4404. {
  4405. gdb_assert (gdbarch != NULL);
  4406. /* Skip verify of has_dos_based_file_system, invalid_p == 0 */
  4407. if (gdbarch_debug >= 2)
  4408. gdb_printf (gdb_stdlog, "gdbarch_has_dos_based_file_system called\n");
  4409. return gdbarch->has_dos_based_file_system;
  4410. }
  4411. void
  4412. set_gdbarch_has_dos_based_file_system (struct gdbarch *gdbarch,
  4413. int has_dos_based_file_system)
  4414. {
  4415. gdbarch->has_dos_based_file_system = has_dos_based_file_system;
  4416. }
  4417. void
  4418. gdbarch_gen_return_address (struct gdbarch *gdbarch, struct agent_expr *ax, struct axs_value *value, CORE_ADDR scope)
  4419. {
  4420. gdb_assert (gdbarch != NULL);
  4421. gdb_assert (gdbarch->gen_return_address != NULL);
  4422. if (gdbarch_debug >= 2)
  4423. gdb_printf (gdb_stdlog, "gdbarch_gen_return_address called\n");
  4424. gdbarch->gen_return_address (gdbarch, ax, value, scope);
  4425. }
  4426. void
  4427. set_gdbarch_gen_return_address (struct gdbarch *gdbarch,
  4428. gdbarch_gen_return_address_ftype gen_return_address)
  4429. {
  4430. gdbarch->gen_return_address = gen_return_address;
  4431. }
  4432. bool
  4433. gdbarch_info_proc_p (struct gdbarch *gdbarch)
  4434. {
  4435. gdb_assert (gdbarch != NULL);
  4436. return gdbarch->info_proc != NULL;
  4437. }
  4438. void
  4439. gdbarch_info_proc (struct gdbarch *gdbarch, const char *args, enum info_proc_what what)
  4440. {
  4441. gdb_assert (gdbarch != NULL);
  4442. gdb_assert (gdbarch->info_proc != NULL);
  4443. if (gdbarch_debug >= 2)
  4444. gdb_printf (gdb_stdlog, "gdbarch_info_proc called\n");
  4445. gdbarch->info_proc (gdbarch, args, what);
  4446. }
  4447. void
  4448. set_gdbarch_info_proc (struct gdbarch *gdbarch,
  4449. gdbarch_info_proc_ftype info_proc)
  4450. {
  4451. gdbarch->info_proc = info_proc;
  4452. }
  4453. bool
  4454. gdbarch_core_info_proc_p (struct gdbarch *gdbarch)
  4455. {
  4456. gdb_assert (gdbarch != NULL);
  4457. return gdbarch->core_info_proc != NULL;
  4458. }
  4459. void
  4460. gdbarch_core_info_proc (struct gdbarch *gdbarch, const char *args, enum info_proc_what what)
  4461. {
  4462. gdb_assert (gdbarch != NULL);
  4463. gdb_assert (gdbarch->core_info_proc != NULL);
  4464. if (gdbarch_debug >= 2)
  4465. gdb_printf (gdb_stdlog, "gdbarch_core_info_proc called\n");
  4466. gdbarch->core_info_proc (gdbarch, args, what);
  4467. }
  4468. void
  4469. set_gdbarch_core_info_proc (struct gdbarch *gdbarch,
  4470. gdbarch_core_info_proc_ftype core_info_proc)
  4471. {
  4472. gdbarch->core_info_proc = core_info_proc;
  4473. }
  4474. void
  4475. gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch *gdbarch, iterate_over_objfiles_in_search_order_cb_ftype *cb, void *cb_data, struct objfile *current_objfile)
  4476. {
  4477. gdb_assert (gdbarch != NULL);
  4478. gdb_assert (gdbarch->iterate_over_objfiles_in_search_order != NULL);
  4479. if (gdbarch_debug >= 2)
  4480. gdb_printf (gdb_stdlog, "gdbarch_iterate_over_objfiles_in_search_order called\n");
  4481. gdbarch->iterate_over_objfiles_in_search_order (gdbarch, cb, cb_data, current_objfile);
  4482. }
  4483. void
  4484. set_gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch *gdbarch,
  4485. gdbarch_iterate_over_objfiles_in_search_order_ftype iterate_over_objfiles_in_search_order)
  4486. {
  4487. gdbarch->iterate_over_objfiles_in_search_order = iterate_over_objfiles_in_search_order;
  4488. }
  4489. struct ravenscar_arch_ops *
  4490. gdbarch_ravenscar_ops (struct gdbarch *gdbarch)
  4491. {
  4492. gdb_assert (gdbarch != NULL);
  4493. /* Skip verify of ravenscar_ops, invalid_p == 0 */
  4494. if (gdbarch_debug >= 2)
  4495. gdb_printf (gdb_stdlog, "gdbarch_ravenscar_ops called\n");
  4496. return gdbarch->ravenscar_ops;
  4497. }
  4498. void
  4499. set_gdbarch_ravenscar_ops (struct gdbarch *gdbarch,
  4500. struct ravenscar_arch_ops * ravenscar_ops)
  4501. {
  4502. gdbarch->ravenscar_ops = ravenscar_ops;
  4503. }
  4504. int
  4505. gdbarch_insn_is_call (struct gdbarch *gdbarch, CORE_ADDR addr)
  4506. {
  4507. gdb_assert (gdbarch != NULL);
  4508. gdb_assert (gdbarch->insn_is_call != NULL);
  4509. if (gdbarch_debug >= 2)
  4510. gdb_printf (gdb_stdlog, "gdbarch_insn_is_call called\n");
  4511. return gdbarch->insn_is_call (gdbarch, addr);
  4512. }
  4513. void
  4514. set_gdbarch_insn_is_call (struct gdbarch *gdbarch,
  4515. gdbarch_insn_is_call_ftype insn_is_call)
  4516. {
  4517. gdbarch->insn_is_call = insn_is_call;
  4518. }
  4519. int
  4520. gdbarch_insn_is_ret (struct gdbarch *gdbarch, CORE_ADDR addr)
  4521. {
  4522. gdb_assert (gdbarch != NULL);
  4523. gdb_assert (gdbarch->insn_is_ret != NULL);
  4524. if (gdbarch_debug >= 2)
  4525. gdb_printf (gdb_stdlog, "gdbarch_insn_is_ret called\n");
  4526. return gdbarch->insn_is_ret (gdbarch, addr);
  4527. }
  4528. void
  4529. set_gdbarch_insn_is_ret (struct gdbarch *gdbarch,
  4530. gdbarch_insn_is_ret_ftype insn_is_ret)
  4531. {
  4532. gdbarch->insn_is_ret = insn_is_ret;
  4533. }
  4534. int
  4535. gdbarch_insn_is_jump (struct gdbarch *gdbarch, CORE_ADDR addr)
  4536. {
  4537. gdb_assert (gdbarch != NULL);
  4538. gdb_assert (gdbarch->insn_is_jump != NULL);
  4539. if (gdbarch_debug >= 2)
  4540. gdb_printf (gdb_stdlog, "gdbarch_insn_is_jump called\n");
  4541. return gdbarch->insn_is_jump (gdbarch, addr);
  4542. }
  4543. void
  4544. set_gdbarch_insn_is_jump (struct gdbarch *gdbarch,
  4545. gdbarch_insn_is_jump_ftype insn_is_jump)
  4546. {
  4547. gdbarch->insn_is_jump = insn_is_jump;
  4548. }
  4549. bool
  4550. gdbarch_program_breakpoint_here_p (struct gdbarch *gdbarch, CORE_ADDR address)
  4551. {
  4552. gdb_assert (gdbarch != NULL);
  4553. gdb_assert (gdbarch->program_breakpoint_here_p != NULL);
  4554. if (gdbarch_debug >= 2)
  4555. gdb_printf (gdb_stdlog, "gdbarch_program_breakpoint_here_p called\n");
  4556. return gdbarch->program_breakpoint_here_p (gdbarch, address);
  4557. }
  4558. void
  4559. set_gdbarch_program_breakpoint_here_p (struct gdbarch *gdbarch,
  4560. gdbarch_program_breakpoint_here_p_ftype program_breakpoint_here_p)
  4561. {
  4562. gdbarch->program_breakpoint_here_p = program_breakpoint_here_p;
  4563. }
  4564. bool
  4565. gdbarch_auxv_parse_p (struct gdbarch *gdbarch)
  4566. {
  4567. gdb_assert (gdbarch != NULL);
  4568. return gdbarch->auxv_parse != NULL;
  4569. }
  4570. int
  4571. gdbarch_auxv_parse (struct gdbarch *gdbarch, gdb_byte **readptr, gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
  4572. {
  4573. gdb_assert (gdbarch != NULL);
  4574. gdb_assert (gdbarch->auxv_parse != NULL);
  4575. if (gdbarch_debug >= 2)
  4576. gdb_printf (gdb_stdlog, "gdbarch_auxv_parse called\n");
  4577. return gdbarch->auxv_parse (gdbarch, readptr, endptr, typep, valp);
  4578. }
  4579. void
  4580. set_gdbarch_auxv_parse (struct gdbarch *gdbarch,
  4581. gdbarch_auxv_parse_ftype auxv_parse)
  4582. {
  4583. gdbarch->auxv_parse = auxv_parse;
  4584. }
  4585. void
  4586. gdbarch_print_auxv_entry (struct gdbarch *gdbarch, struct ui_file *file, CORE_ADDR type, CORE_ADDR val)
  4587. {
  4588. gdb_assert (gdbarch != NULL);
  4589. gdb_assert (gdbarch->print_auxv_entry != NULL);
  4590. if (gdbarch_debug >= 2)
  4591. gdb_printf (gdb_stdlog, "gdbarch_print_auxv_entry called\n");
  4592. gdbarch->print_auxv_entry (gdbarch, file, type, val);
  4593. }
  4594. void
  4595. set_gdbarch_print_auxv_entry (struct gdbarch *gdbarch,
  4596. gdbarch_print_auxv_entry_ftype print_auxv_entry)
  4597. {
  4598. gdbarch->print_auxv_entry = print_auxv_entry;
  4599. }
  4600. int
  4601. gdbarch_vsyscall_range (struct gdbarch *gdbarch, struct mem_range *range)
  4602. {
  4603. gdb_assert (gdbarch != NULL);
  4604. gdb_assert (gdbarch->vsyscall_range != NULL);
  4605. if (gdbarch_debug >= 2)
  4606. gdb_printf (gdb_stdlog, "gdbarch_vsyscall_range called\n");
  4607. return gdbarch->vsyscall_range (gdbarch, range);
  4608. }
  4609. void
  4610. set_gdbarch_vsyscall_range (struct gdbarch *gdbarch,
  4611. gdbarch_vsyscall_range_ftype vsyscall_range)
  4612. {
  4613. gdbarch->vsyscall_range = vsyscall_range;
  4614. }
  4615. CORE_ADDR
  4616. gdbarch_infcall_mmap (struct gdbarch *gdbarch, CORE_ADDR size, unsigned prot)
  4617. {
  4618. gdb_assert (gdbarch != NULL);
  4619. gdb_assert (gdbarch->infcall_mmap != NULL);
  4620. if (gdbarch_debug >= 2)
  4621. gdb_printf (gdb_stdlog, "gdbarch_infcall_mmap called\n");
  4622. return gdbarch->infcall_mmap (size, prot);
  4623. }
  4624. void
  4625. set_gdbarch_infcall_mmap (struct gdbarch *gdbarch,
  4626. gdbarch_infcall_mmap_ftype infcall_mmap)
  4627. {
  4628. gdbarch->infcall_mmap = infcall_mmap;
  4629. }
  4630. void
  4631. gdbarch_infcall_munmap (struct gdbarch *gdbarch, CORE_ADDR addr, CORE_ADDR size)
  4632. {
  4633. gdb_assert (gdbarch != NULL);
  4634. gdb_assert (gdbarch->infcall_munmap != NULL);
  4635. if (gdbarch_debug >= 2)
  4636. gdb_printf (gdb_stdlog, "gdbarch_infcall_munmap called\n");
  4637. gdbarch->infcall_munmap (addr, size);
  4638. }
  4639. void
  4640. set_gdbarch_infcall_munmap (struct gdbarch *gdbarch,
  4641. gdbarch_infcall_munmap_ftype infcall_munmap)
  4642. {
  4643. gdbarch->infcall_munmap = infcall_munmap;
  4644. }
  4645. std::string
  4646. gdbarch_gcc_target_options (struct gdbarch *gdbarch)
  4647. {
  4648. gdb_assert (gdbarch != NULL);
  4649. gdb_assert (gdbarch->gcc_target_options != NULL);
  4650. if (gdbarch_debug >= 2)
  4651. gdb_printf (gdb_stdlog, "gdbarch_gcc_target_options called\n");
  4652. return gdbarch->gcc_target_options (gdbarch);
  4653. }
  4654. void
  4655. set_gdbarch_gcc_target_options (struct gdbarch *gdbarch,
  4656. gdbarch_gcc_target_options_ftype gcc_target_options)
  4657. {
  4658. gdbarch->gcc_target_options = gcc_target_options;
  4659. }
  4660. const char *
  4661. gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch)
  4662. {
  4663. gdb_assert (gdbarch != NULL);
  4664. gdb_assert (gdbarch->gnu_triplet_regexp != NULL);
  4665. if (gdbarch_debug >= 2)
  4666. gdb_printf (gdb_stdlog, "gdbarch_gnu_triplet_regexp called\n");
  4667. return gdbarch->gnu_triplet_regexp (gdbarch);
  4668. }
  4669. void
  4670. set_gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch,
  4671. gdbarch_gnu_triplet_regexp_ftype gnu_triplet_regexp)
  4672. {
  4673. gdbarch->gnu_triplet_regexp = gnu_triplet_regexp;
  4674. }
  4675. int
  4676. gdbarch_addressable_memory_unit_size (struct gdbarch *gdbarch)
  4677. {
  4678. gdb_assert (gdbarch != NULL);
  4679. gdb_assert (gdbarch->addressable_memory_unit_size != NULL);
  4680. if (gdbarch_debug >= 2)
  4681. gdb_printf (gdb_stdlog, "gdbarch_addressable_memory_unit_size called\n");
  4682. return gdbarch->addressable_memory_unit_size (gdbarch);
  4683. }
  4684. void
  4685. set_gdbarch_addressable_memory_unit_size (struct gdbarch *gdbarch,
  4686. gdbarch_addressable_memory_unit_size_ftype addressable_memory_unit_size)
  4687. {
  4688. gdbarch->addressable_memory_unit_size = addressable_memory_unit_size;
  4689. }
  4690. const char *
  4691. gdbarch_disassembler_options_implicit (struct gdbarch *gdbarch)
  4692. {
  4693. gdb_assert (gdbarch != NULL);
  4694. /* Skip verify of disassembler_options_implicit, invalid_p == 0 */
  4695. if (gdbarch_debug >= 2)
  4696. gdb_printf (gdb_stdlog, "gdbarch_disassembler_options_implicit called\n");
  4697. return gdbarch->disassembler_options_implicit;
  4698. }
  4699. void
  4700. set_gdbarch_disassembler_options_implicit (struct gdbarch *gdbarch,
  4701. const char * disassembler_options_implicit)
  4702. {
  4703. gdbarch->disassembler_options_implicit = disassembler_options_implicit;
  4704. }
  4705. char **
  4706. gdbarch_disassembler_options (struct gdbarch *gdbarch)
  4707. {
  4708. gdb_assert (gdbarch != NULL);
  4709. /* Skip verify of disassembler_options, invalid_p == 0 */
  4710. if (gdbarch_debug >= 2)
  4711. gdb_printf (gdb_stdlog, "gdbarch_disassembler_options called\n");
  4712. return gdbarch->disassembler_options;
  4713. }
  4714. void
  4715. set_gdbarch_disassembler_options (struct gdbarch *gdbarch,
  4716. char ** disassembler_options)
  4717. {
  4718. gdbarch->disassembler_options = disassembler_options;
  4719. }
  4720. const disasm_options_and_args_t *
  4721. gdbarch_valid_disassembler_options (struct gdbarch *gdbarch)
  4722. {
  4723. gdb_assert (gdbarch != NULL);
  4724. /* Skip verify of valid_disassembler_options, invalid_p == 0 */
  4725. if (gdbarch_debug >= 2)
  4726. gdb_printf (gdb_stdlog, "gdbarch_valid_disassembler_options called\n");
  4727. return gdbarch->valid_disassembler_options;
  4728. }
  4729. void
  4730. set_gdbarch_valid_disassembler_options (struct gdbarch *gdbarch,
  4731. const disasm_options_and_args_t * valid_disassembler_options)
  4732. {
  4733. gdbarch->valid_disassembler_options = valid_disassembler_options;
  4734. }
  4735. ULONGEST
  4736. gdbarch_type_align (struct gdbarch *gdbarch, struct type *type)
  4737. {
  4738. gdb_assert (gdbarch != NULL);
  4739. gdb_assert (gdbarch->type_align != NULL);
  4740. if (gdbarch_debug >= 2)
  4741. gdb_printf (gdb_stdlog, "gdbarch_type_align called\n");
  4742. return gdbarch->type_align (gdbarch, type);
  4743. }
  4744. void
  4745. set_gdbarch_type_align (struct gdbarch *gdbarch,
  4746. gdbarch_type_align_ftype type_align)
  4747. {
  4748. gdbarch->type_align = type_align;
  4749. }
  4750. std::string
  4751. gdbarch_get_pc_address_flags (struct gdbarch *gdbarch, frame_info *frame, CORE_ADDR pc)
  4752. {
  4753. gdb_assert (gdbarch != NULL);
  4754. gdb_assert (gdbarch->get_pc_address_flags != NULL);
  4755. if (gdbarch_debug >= 2)
  4756. gdb_printf (gdb_stdlog, "gdbarch_get_pc_address_flags called\n");
  4757. return gdbarch->get_pc_address_flags (frame, pc);
  4758. }
  4759. void
  4760. set_gdbarch_get_pc_address_flags (struct gdbarch *gdbarch,
  4761. gdbarch_get_pc_address_flags_ftype get_pc_address_flags)
  4762. {
  4763. gdbarch->get_pc_address_flags = get_pc_address_flags;
  4764. }
  4765. void
  4766. gdbarch_read_core_file_mappings (struct gdbarch *gdbarch, struct bfd *cbfd, read_core_file_mappings_pre_loop_ftype pre_loop_cb, read_core_file_mappings_loop_ftype loop_cb)
  4767. {
  4768. gdb_assert (gdbarch != NULL);
  4769. gdb_assert (gdbarch->read_core_file_mappings != NULL);
  4770. if (gdbarch_debug >= 2)
  4771. gdb_printf (gdb_stdlog, "gdbarch_read_core_file_mappings called\n");
  4772. gdbarch->read_core_file_mappings (gdbarch, cbfd, pre_loop_cb, loop_cb);
  4773. }
  4774. void
  4775. set_gdbarch_read_core_file_mappings (struct gdbarch *gdbarch,
  4776. gdbarch_read_core_file_mappings_ftype read_core_file_mappings)
  4777. {
  4778. gdbarch->read_core_file_mappings = read_core_file_mappings;
  4779. }