Skip to content

Commit 86f2886

Browse files
committed
swift-reflection-test: Send target-specific sizes
There were some unconditional 64-bit values getting sent which was hanging up on the 32-bit iOS simulator.
1 parent 9fac540 commit 86f2886

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

tools/swift-reflection-test/swift-reflection-test.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,11 @@ int PipeMemoryReader_readBytes(void *Context,
171171
addr_t Address, void *Dest, uint64_t Size) {
172172
const PipeMemoryReader *Reader = (const PipeMemoryReader *)Context;
173173
uintptr_t TargetAddress = Address;
174+
size_t TargetSize = (size_t)Size;
174175
int WriteFD = PipeMemoryReader_getParentWriteFD(Reader);
175176
write(WriteFD, REQUEST_READ_BYTES, 2);
176177
write(WriteFD, &TargetAddress, sizeof(TargetAddress));
177-
write(WriteFD, &Size, sizeof(size_t));
178+
write(WriteFD, &TargetSize, sizeof(size_t));
178179
PipeMemoryReader_collectBytesFromPipe(Reader, Dest, Size);
179180
return 1;
180181
}
@@ -303,8 +304,9 @@ PipeMemoryReader_receiveReflectionInfo(SwiftReflectionContextRef RC,
303304
uint64_t PipeMemoryReader_getStringLength(void *Context, addr_t Address) {
304305
const PipeMemoryReader *Reader = (const PipeMemoryReader *)Context;
305306
int WriteFD = PipeMemoryReader_getParentWriteFD(Reader);
307+
uintptr_t TargetAddress = (uintptr_t)Address;
306308
write(WriteFD, REQUEST_STRING_LENGTH, 2);
307-
write(WriteFD, &Address, sizeof(Address));
309+
write(WriteFD, &TargetAddress, sizeof(TargetAddress));
308310
uintptr_t Length = 0;
309311
PipeMemoryReader_collectBytesFromPipe(Reader, &Length, sizeof(Length));
310312
return Length;

0 commit comments

Comments
 (0)