+ if ( _armLo16Locations.size() != 0 ) {
+ this->_encodedData.append_byte(6);
+ //fprintf(stderr, "type 6:\n");
+ std::sort(_armLo16Locations.begin(), _armLo16Locations.end());
+ this->uleb128EncodeAddresses(_armLo16Locations);
+ this->_encodedData.append_byte(0); // terminator
+ }
+
+ for (uint32_t i=0; i < 16; ++i) {
+ if ( _thumbHi16Locations[i].size() != 0 ) {
+ this->_encodedData.append_byte(16+i);
+ //fprintf(stderr, "type 16+%d:\n", i);
+ std::sort(_thumbHi16Locations[i].begin(), _thumbHi16Locations[i].end());
+ this->uleb128EncodeAddresses(_thumbHi16Locations[i]);
+ this->_encodedData.append_byte(0); // terminator
+ }
+ }
+
+ for (uint32_t i=0; i < 16; ++i) {
+ if ( _armHi16Locations[i].size() != 0 ) {
+ this->_encodedData.append_byte(32+i);
+ //fprintf(stderr, "type 32+%d:\n", i);
+ std::sort(_armHi16Locations[i].begin(), _armHi16Locations[i].end());
+ this->uleb128EncodeAddresses(_armHi16Locations[i]);
+ this->_encodedData.append_byte(0); // terminator
+ }
+ }
+