diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1b7a7434ab7..7ed91d14955 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-12-16 Tristan Gingold + + * config/vms/vms.c (VMS_CRTL_GLOBAL): Define. + (vms_patch_builtins): Handle. + * config/vms/vms-crtlmap.map: Add an entry for environ. + 2011-12-16 Jakub Jelinek PR debug/51557 diff --git a/gcc/config/vms/vms-crtlmap.map b/gcc/config/vms/vms-crtlmap.map index 4f2755e2c82..47520de0377 100644 --- a/gcc/config/vms/vms-crtlmap.map +++ b/gcc/config/vms/vms-crtlmap.map @@ -63,6 +63,7 @@ ctermid 64 ctime dup dup2 +environ GLOBAL exit exp FLOAT fabs FLOAT diff --git a/gcc/config/vms/vms.c b/gcc/config/vms/vms.c index ab37f827f83..63ca9319090 100644 --- a/gcc/config/vms/vms.c +++ b/gcc/config/vms/vms.c @@ -45,6 +45,9 @@ along with GCC; see the file COPYING3. If not see /* Prepend x before the name for printf like functions. */ #define VMS_CRTL_PRNTF (1 << 4) +/* Prepend ga_ for global data. */ +#define VMS_CRTL_GLOBAL (1 << 5) + struct vms_crtl_name { /* The standard C name. */ @@ -123,6 +126,12 @@ vms_patch_builtins (void) rlen += 9; } + if (n->flags & VMS_CRTL_GLOBAL) + { + memcpy (res + rlen, "ga_", 3); + rlen += 3; + } + if (n->flags & VMS_CRTL_FLOAT) res[rlen++] = 't';