When compiling a file using a new version of Informix-4GL it launches the following command link the generated object into a executable.
cc -qchars=signed -D_H_LOCALEDEF -DASIAN -DAIX_43 -DAIX_53 -DUSE_PROTOTYPES \
-Dsigflag=ix_os_sigflag -DTERMINFO -bh:8 -s -brtl -DASIAN \
-qarch=com -qchars=signed -D_H_LOCALEDEF -DINFX_ANSI -DASIAN \
-s -DAIX_43 -DAIX_53 \
-o teste -s teste.o \
-lm -lbsd -lc_r -ldl -ltli_r -lm_r
If there are an undefined symbol, it gives an error, but generates the file teste
, although without execution permission. This behaviour is different from the previous versions and it does not go well with make: if I do make 2 times, the first time it gives the undef error, but in the second time it does nothing, because the executable already exists.
If I take out the -bh:8
option, it works as before (does not generate the exec file).
Does anyone knows this option/flag: -bh:8
? I could not find it in the cc documentaion.
I believe
-bh
is short for-bhalt
, which specifies the maximum error level that is allowed before the linker command halts.