This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Certainly not a typo in binuti


On Mar 30, 2011, at 6:21 PM, Philippe Vouters wrote:

> The VMS port of the Intel's assembler is freely downloadable by HP
> partners but is only accessible by HP customers through their HP
> partner. The HP OpenVMS group which ported this Intel's assembler
> seems to have added the -Nvms_upcase option to it and when not
> specified all global names are uppercased. This matches the default
> behavior of all HP compilers.
> 
> The GNU assembler on VMS processes global symbols as is. This matches
> most GNU compilers default behavior, except gfortran which processes
> all global names as lowercase characters adding a trailing underscore
> unless -fno-underscoring option. The Adacore's GNAT Ada Pro product on
> VMS product have an /UPPERCASE_EXTERNAL option to fit with HP
> compilers generated code. I did not check calling GNAT Ada Pro VMS/Ada
> code from HP Fortran for OpenVMS, focusing on this casing aspect. More
> narrowing this casing problem, I did not check whether
> /UPPERCASE_EXTERNAL also means /UPPERCASE_GLOBALS.
> 
> A perhaps suggestion to the binutils GNU assembler developers would be
> to add a VMS specific --uppercase-globals so that assembly routines
> may be called from case insensitive HP compilers such as Cobol,
> Fortran, Basic, Pascal or, when no /names=(as_is) added qualifier, by
> the HP C and HP C++ compilers.

Honestly I am a bit skeptical about this feature.  The primary purpose of gas is to
assemble what gcc generates and IMHO uppercasing would better be done by gcc.

In particular uppercasing is somewhat ambiguous:  should all symbols be converted or
only the exported one ?

Tristan.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]