[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bash 4.2.39 now available for OpenVMS Alpha/I64

From: John E. Malmberg
Subject: Re: Bash 4.2.39 now available for OpenVMS Alpha/I64
Date: Thu, 20 Dec 2012 12:02:55 -0600
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1

On 12/20/2012 9:36 AM, Chet Ramey wrote:
On 12/16/12 10:51 AM, John E. Malmberg wrote:

For those that want to look at the source, you can examine or check out the
OpenVMS specific changes in the http://gnv.cvs.sourceforge.net/gnv/ cvs
tree from the gnu_vms/bash tree with the cvs tag gnv-bash-V0402-39e0.  At
this time that is the same as latest version of the files.

These changes are done in conjunction with the actual GNU bash sources, a
copy of these are in cvs for GNV project in the gnu/bash tree with the cvs
tag gnv-bash-V0402-39e0.

How can I get a copy of the source files with the VMS-specific patches
already applied?

I just posted them to:


These are just the files generated by the build procedure, not the additional VMS modules.

The gnv$*.c_first are pre-pended by the compiler to the source module that is being compiled. In many cases it allows me to make VMS look more like Unix with out having to modify the code.

The files with $ in their names are renamed as part of the build procedure because the $ tends to cause problems in Unix based change control systems.

VMS has a registry of xxx$ prefixes that can be reserved for projects to prevent conflicts. The gnv$ prefix is officially reserved for the GNV project that includes the port of bash. The pcsi$ prefix is reserved for files used for creating installation kits.

Y_TAB.C needed to be renamed and have the "#line" directives stripped for compatibility with the VMS debugger. I cannot currently generate the y.tab.c from source on VMS. I am not sure that the ancient port of Bison is up to it.

mkbuiltins.c needed some fixup with the #includes, and also needed the "#line" directives stripped from the output files as it interferes with the VMS debugger.

bashline.c has a hardcoded definition for tputs that conflicts with the usage in lib/readline, and as I used a global wrapper to supply a tputs() routine, it causes a compile issue.

In redir.c, VMS needs special file options, namely to delete on close when the file is being read. Prevents a race condition on unlink.

trap.c needed VMS to be able to retrieve and set the signal modes for fake fork context handling.

unwind_prot.c needed VMS to see the *unwind_protect_list for fake fork context handling.

variables.c adds some environment variables that VMS does not supply to C programs by default, but a bash user would expect to be there.
And VMS uses the "INCLUDE_UNUSED" routines.

nojobs.c has code to simulate a fake fork and set of fake pids.

execute_cmd.c and subst.c have a lot of changes to support the saving and restoring the the fake fork context.

Personal Opinion Only

reply via email to

[Prev in Thread] Current Thread [Next in Thread]