Comment faire pour compiler ça :
short result;
do {
result = PARSE_CMDLINE(&CMDLINE, g, FirstPassSwitches,
DummyCallback,
SwitchFlags,
SwitchHelp,
SwitchVersion,
SwitchSwap,
SwitchConfig,
SwitchTrace,
SwitchVerbose);
if (result == PDTLIB_EMPTY_SWITCH) {
FPRINTF(STDERR, "blabla1\n");
longjmp(SETJMP_BUF, ERROR_EMPTY_SWITCH);
}
#ifndef NDEBUG
if ((result == PDTLIB_PARSING_STOPPED) || (result == PDTLIB_WRONG_RETURN_VALUE)) {
FPRINTF(STDERR, "blabla2\n", GET_CURRENT_ARG(&CMDLINE));
longjmp(SETJMP_BUF, ERROR_WRONG_RETURN_VALUE);
}
#endif // NDEBUG
} while (result != PDTLIB_END_OF_PARSING);en ça :CLIFirstPass:
.L13:
pea SwitchVerbose
pea SwitchTrace
pea SwitchConfig
pea SwitchSwap
pea SwitchVersion
pea SwitchHelp
pea SwitchFlags
pea DummyCallback
pea FirstPassSwitches
move.l %a4,-(%sp)
pea 146(%a4)
move.l 54(%a4),%a0
jbsr (%a0)
lea (44,%sp),%sp
cmp.w #3,%d0
jbne .L4
jbra .L16
.L15:
pea SwitchVerbose
pea SwitchTrace
pea SwitchConfig
pea SwitchSwap
pea SwitchVersion
pea SwitchHelp
pea SwitchFlags
pea DummyCallback
pea FirstPassSwitches
move.l %a4,-(%sp)
pea 146(%a4)
move.l 54(%a4),%a0
jbsr (%a0)
lea (44,%sp),%sp
cmp.w #3,%d0
jbne .L4
.L16:
pea .LC0
move.l 78(%a4),-(%sp)
move.l 82(%a4),%a0
jbsr (%a0)
move.w #7,-(%sp)
pea 90(%a4)
.word _F_LINE+0x267
lea (14,%sp),%sp
jbra .L13
.L4:
tst.w %d0
jbne .L15
rts
.section .data.FirstPassSwitches,"d"
FirstPassSwitches:
.ascii "fflags\0hhelp\0Vversion\0\0swap\0gconfig\0ttrace\0vverbose\0\0\0"C'est dingue quand même 
Au passage, il se peut qu'il y ait deux relocs absolus là-dedans, si ça vous saute aux yeux faites-moi signe, perso j'en vois pas (si le linker fait bien son boulot évidemment)



