$header "const char *chkr_message[]"
$declare "const char *chkr_message[];"
$format "chkr_message[%d]"

######## for parse-args.c
M_UNKNOWN_OP		"Checker doesn't know this option: %s\n"
M_PRGNAME_NOT_FOUND	"Can't find program name.\n"
M_ARGV0_IS		"My name (given by argv[0]) is %s\n"
M_STOPPING_MYSELF	"Stop before main(). To cont, try 'fg' or 'kill -%d %d'\n"
M_ALREADY_INIT		"Crt0.o has already been executed: strange loop. Abort\n"
######## for chkr-syscall.c
M_IOCTL_UNIMPLEMENT	"Sorry, this ioctl is not implemented.\n"
M_FCNTL_UNIMPLEMENT	"Sorry, this fcntl is not implemented.\n"
M_SYSCALL_UNIMPLEM	"Sorry, this syscall is not implemented.\n"
M_IPC_UNIMPLEMENT	"Sorry, ipc syscalls not implemented.\n"
M_SEND_DESCRIPTION	"Please, send a description of it to the author.\n"
######### for symtab.c
M_STACK_FRAMES_ARE	"Stack frames are:\n"
M_CANT_FIND_MAIN	"Can't find main() frame, you lose!\n"
M_CANT_F_GOOD_INFO	"Can't find good information in the binary file.\n"
M_PC___IN___AT_		"\tpc=0x%08x in %s() at %s:%d\n"
M_UNKNOWN		"Unknown"
M_BAD_STR		"<bad string table index>"
######### for checker.c
M_C_FB_OR_LB_BAD	"_firstblock or _lastblock is bad\n"
M_C_NO_BLOCKS		"No blocks. Sorry.\n"
M_C_FBLOCK_BAD		"_firstblock is bad.\n"
M_C_LBLOCK_BAD		"_lastblock is bad.\n"
M_C_BAD_LINEARITY	"Bad linearity detected with blocks %u and %u.\n"
M_C_BAD_PLINK		"prev link of block %u is bad.\n"
M_C_BAD_BLOCK_SIZE	"Size of block 0x%x is bad\n"
M_C_BAD_LAST_BLOCK	"The last block is not really the last one...\n"
M_C_STOP_HERE		"Stop here.\n"
M_C_U_AGED_BLOCK	"Block %u is an unknown aged block.\n"
M_C_BAD_PL_YOUNGB	"Bad prev link for the younger block %u\n"
M_C_NON_AGED_BLOCK	"Non aged block %u in aged list.\n"
M_C_BAD_NUM_AGED_B	"Bad number of aged block (%d instead of %d).\n"
M_C_TOO_AGED_BLOCK	"Found too many old blocks (%d instead of %d).\n"
M_C_BAD_PL_F_FREEB	"Bad prev link in first free block %u.\n"
M_C_FREEB_BAD_STAT	"Free block 0x%x has a bad state.\nAbort\n"
M_C_BLOCK_BAD_LIST	"Block 0x%x in bad list.\n"
M_C_BAD_PLIN_FREEB	"Bad prev link in free block %u.\n"
M_C_BAD_HEAPINDEX	"_heapindex is bad.\n"
M_C_UNKNOWN_FREEB	"Block %u is an unknown free block.\n"
M_C_FREE_AND_FREE	"Free block 0x%x is followed by another free block\n"
M_C_NO_BUSY_BLOCK	"There is no busy block.\n"
M_C_BUSY_BLOCK_ARE	"Busy blocks are:\n"
M_C_BLOC_N_IS_BUSY	"Block (addr: 0x%x), size %u kb is busy.\n"
M_C_BLOCK_SIZ_LESS	"Block of size less than %d bytes.\n"
M_C_BLOCK_AT_SIZE	"Block at 0x%x, size %dKb\n"
######### for free.c
M_BAD_NLINK_4BLOCK	"Bad next link for block %u.\n"
M_FOUND_AGED_BLOCK	"Found non aged block %u in aged list.\n"
######### for garbage.c
M_NO_LEAK		"There is no leak.\n"
M_ONE_LEAK		"There is 1 leak with %d potentiel leak.\n"
M_NBR_LEAKS		"There are %d leaks with %d potentiel leak(s).\n"
M_LEAKS_USE_N_BYTE	"Leaks use %u bytes (%u Kb) / %u Kb.\n"
M_P_MEM_IS_LOST		"So, %2d.%02d%% of the memory is lost.\n"
M_FOUND_N2_BYTES	"Checker found %u * %u bytes.\n"
M_LOST_IS_PTR		"Lost is ptr=0x%x\n"
M_CANT_USE_SYMTAB	"Can't access to the symbol table.\n"
######### for memalign.c
M_NULL_ALIGN		"memalign is called with a null aligment. Changed to 1.\n"
######### for maccess.c
M_NO_BM_4ADDRESS	"No bitmap for this address.\n"
M_BO_NOT_ALIGNED	"Hmmm, bit_offset is not lined up !! Ignore.\n"
M_ERR_SET_RIGHT		"Error while chkr_set_right\n"
M_BAD_LEN_IN_SR		"len > bitmem.length or len == 0\n"
M_SRC_IN_CP_BM		"Error with src in chkr_copy_bm\n"
M_DEST_IN_CP_BM		"Error with dest in chkr_copy_bm\n"
M_ALIGN_IN_CP_BM	"Bad alignment in chkr_copy_bm\n"
M_PROF_INFO_HERE	"Here are profile informations:\n"
M_HANDLED_N_TIME	"The %s was handled (addressed) %d time%s.\n"
M_HANDLED_MEM		"Your program handles %u times the memory.\n"
M_BM_CALLED		"The stack limit was adjusted %u times\n"
M_NULL_ZONE		"NULL zone"
M_TEXT_SEGMENT		"text segment"
M_DATA_SEGMENT		"data segment"
M_HEAP_SEGMENT		"heap"
M_STACK_SEGMENT		"stack"
M_BLOCK_ALLO_FRM	"The block was allocated from:\n"
M_KNOW_STACK_LIM	"known stack limit= 0x%p\n"
M_STACK_BITMAPED	"stack bitmaped 0x%p\n"
M_INSIDE_FBLOCK		"inside a free block.\n"
M_BLOCK_ID		"The block is %u bytes length and starts at 0x%x\n"
M_BEFORE_BLOCK		"%d bytes before the begin of the block\n"
M_INSIDE_BLOCK		"%d bytes after the begin of the block\n"
M_AFTER_BLOCK		"%d bytes after the end of the block\n"
M_N_FREE_CALLED		"free() was called %d time(s) since this block was freed by:\n"
M_MEM_ACCESS_ERR	"Memory access error\n"
M_ACC_ERR_WHERE		"When %s %d byte(s) at address 0x%p, inside the %s.\n"
M_USE_NULL_PTR		"You probably use a NULL pointer.\n"
M_PROD_SEG_FAULT	"THIS SHOULD PRODUCE A SEGMENTATION FAULT.\n"
M_CANT_MODIFY_IT	"You may not modify it.\n"
