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)