#define TE_VMS #include "obj-format.h" extern int vms_file_stats_name (const char *, long long *, long *, char *, int *); /* VMS debugger expects a separator. */ #define DWARF2_DIR_SHOULD_END_WITH_SEPARATOR 1 /* VMS debugger needs the file timestamp. */ #define DWARF2_FILE_TIME_NAME(FILENAME,DIRNAME) \ ({ \ long long cdt; \ char *filename = (char *) alloca (strlen (FILENAME) + strlen (DIRNAME) + 1);\ strcpy (filename, DIRNAME); \ strcat (filename, FILENAME); \ ((vms_file_stats_name (filename, &cdt, 0, 0, 0) == 0) ? cdt : 0); \ }) /* VMS debugger needs the file size. */ #define DWARF2_FILE_SIZE_NAME(FILENAME,DIRNAME) \ ({ \ long siz; \ char *filename = (char *) alloca (strlen (FILENAME) + strlen (DIRNAME) + 1);\ strcpy (filename, DIRNAME); \ strcat (filename, FILENAME); \ ((vms_file_stats_name (filename, 0, &siz, 0, 0) == 0) ? siz : 0); \ }) /* VMS debugger needs the filename with version appended. */ /* Longest filename on VMS is 255 characters. Largest version is 32768. */ #define DWARF2_FILE_NAME(FILENAME,DIRNAME) \ ({ \ int ver; \ char buff [255 + 7]; \ char *filename = (char *) alloca (strlen (FILENAME) + strlen (DIRNAME) + 1);\ strcpy (filename, DIRNAME); \ strcat (filename, FILENAME); \ vms_file_stats_name (filename, 0, 0, 0, &ver); \ snprintf (buff, 255 + 7, "%s;%d", FILENAME, ver); \ buff; \ })