Changes between Initial Version and Version 1 of Ticket #58677, comment 41
- Timestamp:
- Sep 19, 2021, 9:23:45 PM (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #58677, comment 41
initial v1 1 I think what might possibly be happenning here is that a file includes <stdlib.h> and gets our redefinitions all set up properly, but then later includes <assert.h> which includes <sys/cdefs.h> and then that redefines these back to the originals again: 1 I think what might possibly be happening here is that <assert.h> first includes <sys/cdefs.h> and then <stdlib.h> 2 {{{ 3 #include <sys/cdefs.h> 4 #ifdef __cplusplus 5 #include <stdlib.h> 6 #endif /* __cplusplus */ 7 }}} 8 9 and so when we try to process <stdlib.h> in legacysupport to redefine some asm tags, they have already been defined before we got there. 10 2 11 {{{ 3 12 #define __DARWIN_EXTSN(sym) __asm("_" __STRING(sym) __DARWIN_SUF_EXTSN) … … 5 14 }}} 6 15 7 Not sure just why <sys/cdefs.h> would be run through a second time at the moment, nor am I100% sure this is exactly what is happening, but it seems plausible as a place to look for how to fix this.16 I and not 100% sure this is exactly what is happening, but it seems plausible as a place to look for how to fix this. 8 17 9 18 A complete redo of our method of redefining symbols would be moderate work.