@@ -84,7 +84,7 @@ swift::remote::RemoteAddress
8484LLDBMemoryReader::getSymbolAddress (const std::string &name) {
8585 lldbassert (!name.empty ());
8686 if (name.empty ())
87- return swift::remote::RemoteAddress (nullptr );
87+ return swift::remote::RemoteAddress ();
8888
8989 Log *log = GetLog (LLDBLog::Types);
9090
@@ -97,7 +97,7 @@ LLDBMemoryReader::getSymbolAddress(const std::string &name) {
9797 name_cs, lldb::eSymbolTypeAny, sc_list);
9898 if (!sc_list.GetSize ()) {
9999 LLDB_LOGV (log, " [MemoryReader] symbol resolution failed {0}" , name);
100- return swift::remote::RemoteAddress (nullptr );
100+ return swift::remote::RemoteAddress ();
101101 }
102102
103103 SymbolContext sym_ctx;
@@ -118,14 +118,15 @@ LLDBMemoryReader::getSymbolAddress(const std::string &name) {
118118 if (sym_ctx.symbol ) {
119119 auto load_addr = sym_ctx.symbol ->GetLoadAddress (&m_process.GetTarget ());
120120 LLDB_LOGV (log, " [MemoryReader] symbol resolved to {0:x}" , load_addr);
121- return swift::remote::RemoteAddress (load_addr);
121+ return swift::remote::RemoteAddress (
122+ load_addr, swift::remote::RemoteAddress::DefaultAddressSpace);
122123 }
123124 }
124125
125126 // Empty list, resolution failed.
126127 if (sc_list.GetSize () == 0 ) {
127128 LLDB_LOGV (log, " [MemoryReader] symbol resolution failed {0}" , name);
128- return swift::remote::RemoteAddress (nullptr );
129+ return swift::remote::RemoteAddress ();
129130 }
130131
131132 // If there's a single symbol, then we're golden. If there's more than
@@ -140,11 +141,12 @@ LLDBMemoryReader::getSymbolAddress(const std::string &name) {
140141 load_addr, m_process.GetAddressByteSize (), 0 , error, true );
141142 if (sym_value != other_sym_value) {
142143 LLDB_LOGV (log, " [MemoryReader] symbol resolution failed {0}" , name);
143- return swift::remote::RemoteAddress (nullptr );
144+ return swift::remote::RemoteAddress ();
144145 }
145146 }
146147 LLDB_LOGV (log, " [MemoryReader] symbol resolved to {0}" , load_addr);
147- return swift::remote::RemoteAddress (load_addr);
148+ return swift::remote::RemoteAddress (
149+ load_addr, swift::remote::RemoteAddress::DefaultAddressSpace);
148150}
149151
150152static std::unique_ptr<swift::SwiftObjectFileFormat>
@@ -180,7 +182,7 @@ LLDBMemoryReader::resolvePointerAsSymbol(swift::remote::RemoteAddress address) {
180182 return {};
181183
182184 std::optional<Address> maybeAddr =
183- resolveRemoteAddress (address.getAddressData ());
185+ resolveRemoteAddress (address.getRawAddress ());
184186 // This is not an assert, but should never happen.
185187 if (!maybeAddr)
186188 return {};
@@ -191,7 +193,7 @@ LLDBMemoryReader::resolvePointerAsSymbol(swift::remote::RemoteAddress address) {
191193 addr = *maybeAddr;
192194 } else {
193195 // `address` is a real load address.
194- if (!target.ResolveLoadAddress (address.getAddressData (), addr))
196+ if (!target.ResolveLoadAddress (address.getRawAddress (), addr))
195197 return {};
196198 }
197199
@@ -229,23 +231,24 @@ LLDBMemoryReader::resolvePointer(swift::remote::RemoteAddress address,
229231 // to a tagged address so further memory reads originating from it benefit
230232 // from the file-cache optimization.
231233 swift::remote::RemoteAbsolutePointer process_pointer{
232- swift::remote::RemoteAddress{readValue}};
234+ swift::remote::RemoteAddress{
235+ readValue, swift::remote::RemoteAddress::DefaultAddressSpace}};
233236
234237 if (!readMetadataFromFileCacheEnabled ())
235238 return process_pointer;
236239
237240 // Try to strip the pointer before checking if we have it mapped.
238241 auto strippedPointer = signedPointerStripper (process_pointer);
239242 if (auto resolved = strippedPointer.getResolvedAddress ())
240- readValue = resolved.getAddressData ();
243+ readValue = resolved.getRawAddress ();
241244
242245 auto &target = m_process.GetTarget ();
243246 Address addr;
244247 if (!target.ResolveLoadAddress (readValue, addr)) {
245248 LLDB_LOGV (log,
246249 " [MemoryReader] Could not resolve load address of pointer {0:x} "
247250 " read from {1:x}." ,
248- readValue, address.getAddressData ());
251+ readValue, address.getRawAddress ());
249252 return process_pointer;
250253 }
251254
@@ -263,7 +266,7 @@ LLDBMemoryReader::resolvePointer(swift::remote::RemoteAddress address,
263266 LLDB_LOG (log,
264267 " [MemoryReader] Could not resolve find module containing pointer "
265268 " {0:x} read from {1:x}." ,
266- readValue, address.getAddressData ());
269+ readValue, address.getRawAddress ());
267270 return process_pointer;
268271 }
269272
@@ -290,16 +293,17 @@ LLDBMemoryReader::resolvePointer(swift::remote::RemoteAddress address,
290293 LLDB_LOG (log,
291294 " [MemoryReader] Pointer {0:x} read from {1:x} resolved to tagged "
292295 " address {2:x}, which is outside its image address space." ,
293- readValue, address.getAddressData (), tagged_address);
296+ readValue, address.getRawAddress (), tagged_address);
294297 return process_pointer;
295298 }
296299
297300 swift::remote::RemoteAbsolutePointer tagged_pointer{
298- swift::remote::RemoteAddress{tagged_address}};
301+ swift::remote::RemoteAddress{
302+ tagged_address, swift::remote::RemoteAddress::DefaultAddressSpace}};
299303
300304 if (tagged_address != (uint64_t )signedPointerStripper (tagged_pointer)
301305 .getResolvedAddress ()
302- .getAddressData ()) {
306+ .getRawAddress ()) {
303307 lldbassert (false &&
304308 " Tagged pointer runs into pointer authentication mask!" );
305309 return process_pointer;
@@ -308,7 +312,7 @@ LLDBMemoryReader::resolvePointer(swift::remote::RemoteAddress address,
308312 LLDB_LOGV (log,
309313 " [MemoryReader] Successfully resolved pointer {0:x} read from "
310314 " {1:x} to tagged address {2:x}." ,
311- readValue, address.getAddressData (), tagged_address);
315+ readValue, address.getRawAddress (), tagged_address);
312316 return tagged_pointer;
313317}
314318
@@ -317,7 +321,7 @@ bool LLDBMemoryReader::readBytes(swift::remote::RemoteAddress address,
317321 Log *log = GetLog (LLDBLog::Types);
318322 if (m_local_buffer) {
319323 bool overflow = false ;
320- auto addr = address.getAddressData ();
324+ auto addr = address.getRawAddress ();
321325 auto end = llvm::SaturatingAdd (addr, size, &overflow);
322326 if (overflow) {
323327 LLDB_LOGV (log, " [MemoryReader] address {0:x} + size {1} overflows" , addr,
@@ -335,16 +339,16 @@ bool LLDBMemoryReader::readBytes(swift::remote::RemoteAddress address,
335339 }
336340
337341 LLDB_LOGV (log, " [MemoryReader] asked to read {0} bytes at address {1:x}" ,
338- size, address.getAddressData ());
342+ size, address.getRawAddress ());
339343 std::optional<Address> maybeAddr =
340- resolveRemoteAddressFromSymbolObjectFile (address.getAddressData ());
344+ resolveRemoteAddressFromSymbolObjectFile (address.getRawAddress ());
341345
342346 if (!maybeAddr)
343- maybeAddr = resolveRemoteAddress (address.getAddressData ());
347+ maybeAddr = resolveRemoteAddress (address.getRawAddress ());
344348
345349 if (!maybeAddr) {
346350 LLDB_LOGV (log, " [MemoryReader] could not resolve address {0:x}" ,
347- address.getAddressData ());
351+ address.getRawAddress ());
348352 return false ;
349353 }
350354 auto addr = *maybeAddr;
@@ -411,17 +415,17 @@ bool LLDBMemoryReader::readString(swift::remote::RemoteAddress address,
411415 return std::string (stream.GetData ());
412416 };
413417 LLDB_LOGV (log, " [MemoryReader] asked to read string data at address {0:x}" ,
414- address.getAddressData ());
418+ address.getRawAddress ());
415419
416420 std::optional<Address> maybeAddr =
417- resolveRemoteAddressFromSymbolObjectFile (address.getAddressData ());
421+ resolveRemoteAddressFromSymbolObjectFile (address.getRawAddress ());
418422
419423 if (!maybeAddr)
420- maybeAddr = resolveRemoteAddress (address.getAddressData ());
424+ maybeAddr = resolveRemoteAddress (address.getRawAddress ());
421425
422426 if (!maybeAddr) {
423427 LLDB_LOGV (log, " [MemoryReader] could not resolve address {0:x}" ,
424- address.getAddressData ());
428+ address.getRawAddress ());
425429 return false ;
426430 }
427431 auto addr = *maybeAddr;
@@ -539,10 +543,11 @@ LLDBMemoryReader::addModuleToAddressMap(ModuleSP module,
539543
540544 if (module_end_address !=
541545 signedPointerStripper (
542- swift::remote::RemoteAbsolutePointer{
543- swift::remote::RemoteAddress{module_end_address}})
546+ swift::remote::RemoteAbsolutePointer{swift::remote::RemoteAddress{
547+ module_end_address,
548+ swift::reflection::RemoteAddress::DefaultAddressSpace}})
544549 .getResolvedAddress ()
545- .getAddressData ()) {
550+ .getRawAddress ()) {
546551 LLDB_LOG (GetLog (LLDBLog::Types),
547552 " [MemoryReader] module to address map ran into pointer "
548553 " authentication mask!" );
@@ -615,12 +620,12 @@ std::optional<swift::reflection::RemoteAddress>
615620LLDBMemoryReader::resolveRemoteAddress (
616621 swift::reflection::RemoteAddress address) const {
617622 std::optional<Address> lldb_address =
618- LLDBMemoryReader::resolveRemoteAddress (address.getAddressData ());
623+ LLDBMemoryReader::resolveRemoteAddress (address.getRawAddress ());
619624 if (!lldb_address)
620625 return {};
621626 lldb::addr_t addr = lldb_address->GetLoadAddress (&m_process.GetTarget ());
622627 if (addr != LLDB_INVALID_ADDRESS)
623- return swift::reflection::RemoteAddress (addr);
628+ return swift::reflection::RemoteAddress (addr, swift::reflection::RemoteAddress::DefaultAddressSpace );
624629 return {};
625630}
626631
0 commit comments