@@ -66,6 +66,14 @@ static void errnoAndExit(const char *message) {
6666 abort ();
6767}
6868
69+ #if 0
70+ #include <inttypes.h>
71+ #define DEBUG_LOG (fmt , ...) fprintf(stderr, "%s: " fmt "\n",\
72+ __func__, __VA_ARGS__)
73+ #else
74+ #define DEBUG_LOG (fmt , ...) (void)0
75+ #endif
76+
6977static const size_t ReadEnd = 0 ;
7078static const size_t WriteEnd = 1 ;
7179
@@ -143,6 +151,8 @@ const void *PipeMemoryReader_readBytes(void *Context, swift_addr_t Address,
143151 const PipeMemoryReader * Reader = (const PipeMemoryReader * )Context ;
144152 uintptr_t TargetAddress = Address ;
145153 size_t TargetSize = (size_t )Size ;
154+ DEBUG_LOG ("Requesting read of %zu bytes from 0x%" PRIxPTR ,
155+ TargetSize , TargetAddress );
146156 int WriteFD = PipeMemoryReader_getParentWriteFD (Reader );
147157 write (WriteFD , REQUEST_READ_BYTES , 2 );
148158 write (WriteFD , & TargetAddress , sizeof (TargetAddress ));
@@ -162,12 +172,14 @@ swift_addr_t PipeMemoryReader_getSymbolAddress(void *Context,
162172 uint64_t Length ) {
163173 const PipeMemoryReader * Reader = (const PipeMemoryReader * )Context ;
164174 uintptr_t Address = 0 ;
175+ DEBUG_LOG ("Requesting address of symbol %s" , SymbolName );
165176 int WriteFD = PipeMemoryReader_getParentWriteFD (Reader );
166177 write (WriteFD , REQUEST_SYMBOL_ADDRESS , 2 );
167178 write (WriteFD , SymbolName , Length );
168179 write (WriteFD , "\n" , 1 );
169180 PipeMemoryReader_collectBytesFromPipe (Reader , (uint8_t * )& Address ,
170181 sizeof (Address ));
182+ DEBUG_LOG ("Address of %s is 0x%" PRIxPTR , SymbolName , Address );
171183 return (uintptr_t )Address ;
172184}
173185
@@ -177,6 +189,7 @@ PipeMemoryReader_receiveInstanceKind(const PipeMemoryReader *Reader) {
177189 write (WriteFD , REQUEST_INSTANCE_KIND , 2 );
178190 uint8_t KindValue = 0 ;
179191 PipeMemoryReader_collectBytesFromPipe (Reader , & KindValue , sizeof (KindValue ));
192+ DEBUG_LOG ("Requested instance kind is %u" , KindValue );
180193 return KindValue ;
181194}
182195
@@ -187,6 +200,7 @@ PipeMemoryReader_receiveInstanceAddress(const PipeMemoryReader *Reader) {
187200 uintptr_t InstanceAddress = 0 ;
188201 PipeMemoryReader_collectBytesFromPipe (Reader , (uint8_t * )& InstanceAddress ,
189202 sizeof (InstanceAddress ));
203+ DEBUG_LOG ("Requested instance address is 0x%" PRIxPTR , InstanceAddress );
190204 return InstanceAddress ;
191205}
192206
@@ -222,6 +236,7 @@ PipeMemoryReader_receiveImages(SwiftReflectionContextRef RC,
222236 size_t NumReflectionInfos ;
223237 PipeMemoryReader_collectBytesFromPipe (Reader , & NumReflectionInfos ,
224238 sizeof (NumReflectionInfos ));
239+ DEBUG_LOG ("Receiving %z images from child" , NumReflectionInfos );
225240
226241 if (NumReflectionInfos == 0 )
227242 return ;
@@ -232,6 +247,7 @@ PipeMemoryReader_receiveImages(SwiftReflectionContextRef RC,
232247 NumReflectionInfos * sizeof (* Images ));
233248
234249 for (size_t i = 0 ; i < NumReflectionInfos ; ++ i ) {
250+ DEBUG_LOG ("Adding image at 0x%" PRIxPTR , Images [i ].Start );
235251 swift_reflection_addImage (RC , Images [i ].Start );
236252 }
237253
0 commit comments