4c4
< * Copyright (c) 2010, 2013, 2016 ARM Limited
---
> * Copyright (c) 2010, 2013, 2016, 2018 ARM Limited
152a153,158
> #include "blobs/gdb_xml_aarch64_core.hh"
> #include "blobs/gdb_xml_aarch64_fpu.hh"
> #include "blobs/gdb_xml_aarch64_target.hh"
> #include "blobs/gdb_xml_arm_core.hh"
> #include "blobs/gdb_xml_arm_target.hh"
> #include "blobs/gdb_xml_arm_vfpv3.hh"
213a220,221
> r.fpsr = context->readMiscRegNoEffect(MISCREG_FPSR);
> r.fpcr = context->readMiscRegNoEffect(MISCREG_FPCR);
240a249,250
> context->setMiscRegNoEffect(MISCREG_FPSR, r.fpsr);
> context->setMiscRegNoEffect(MISCREG_FPCR, r.fpcr);
263a274
> r.cpsr = context->readMiscRegNoEffect(MISCREG_CPSR);
266c277,278
< for (int i=0; i<8*3; i++) r.fpr[i] = 0;
---
> for (int i = 0; i < 32; i++)
> r.fpr[i] = 0;
269d280
< r.cpsr = context->readMiscRegNoEffect(MISCREG_CPSR);
301a313,337
> bool
> RemoteGDB::getXferFeaturesRead(const std::string &annex, std::string &output)
> {
> #define GDB_XML(x, s) \
> { x, std::string(reinterpret_cast<const char *>(Blobs::s), \
> Blobs::s ## _len) }
> static const std::map<std::string, std::string> annexMap32{
> GDB_XML("target.xml", gdb_xml_arm_target),
> GDB_XML("arm-core.xml", gdb_xml_arm_core),
> GDB_XML("arm-vfpv3.xml", gdb_xml_arm_vfpv3),
> };
> static const std::map<std::string, std::string> annexMap64{
> GDB_XML("target.xml", gdb_xml_aarch64_target),
> GDB_XML("aarch64-core.xml", gdb_xml_aarch64_core),
> GDB_XML("aarch64-fpu.xml", gdb_xml_aarch64_fpu),
> };
> #undef GDB_XML
> auto& annexMap = inAArch64(context()) ? annexMap64 : annexMap32;
> auto it = annexMap.find(annex);
> if (it == annexMap.end())
> return false;
> output = it->second;
> return true;
> }
>