Changes between Initial Version and Version 1 of Ticket #58677, comment 41


Ignore:
Timestamp:
Sep 19, 2021, 9:23:45 PM (3 years ago)
Author:
kencu (Ken)
Comment:

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:
     1I 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
     9and 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
    211{{{
    312#define __DARWIN_EXTSN(sym)             __asm("_" __STRING(sym) __DARWIN_SUF_EXTSN)
     
    514}}}
    615
    7 Not sure just why <sys/cdefs.h> would be run through a second time at the moment, nor am I 100% sure this is exactly what is happening, but it seems plausible as a place to look for how to fix this.
     16I and not 100% sure this is exactly what is happening, but it seems plausible as a place to look for how to fix this.
    817
    918A complete redo of our method of redefining symbols would be moderate work.