bugmake - Bugs: bug #41758, VMS Make incorrectly reports...

 
 

bug #41758: VMS Make incorrectly reports archives support present.

Submitter:  John Malmberg <wb8tyw>
Submitted:  Mon 03 Mar 2014 12:16:43 AM UTC
   
 
Severity:  3 - Normal Item Group:  Bug
Status:  Fixed Privacy:  Public
Assigned to:  None Open/Closed:  Closed
Component Version:  4.0 Operating System:  VMS
Fixed Release:  4.2 Triage Status:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 20 Oct 2014 05:34:13 AM UTC, comment #6: 

I applied and pushed John's fix for this.

Paul D. Smith <psmith>
Group administrator
Fri 06 Jun 2014 03:15:53 AM UTC, comment #5: 

Previous patch was not tested on VAX.  When tested on VAX this exposed a bug in the lbr$set_module() that needed to be worked around.

Small clean up of comments and code based on feedback from Hartmut Becker.

Copyright assignment is now on file with FSF for GNU Make.

(file #31514)

John Malmberg <wb8tyw>
Thu 15 May 2014 03:51:36 AM UTC, comment #4: 

Patch uploaded:

Fix archive support for VMS for wildcard and VPATH.
Add VMS library support for all VMS library types.

ar.c:
   struct ar_glob_state: Save suffix for VMS.
   (ar_glob_match): Use saved suffix on VMS.
   (ar_glob): Save suffix for VMS.

arscan.c:
    VMS variable names now match usage.
    Quick fix to build as standalone image with TEST macro set.
    (VMS_get_member_info): Handles saved arg parameter correctly,
    Use some constants to better document the paramters including
    the ones currently unused by GNU make.
    Remove #if __DECC test, GCC should use the same RTL as DECC
    for VMS 5.5-2 and later, and build procedure will not support
    that old.
    (ar_scan VMS variant): Convert library path to VMS format,
    Correct return codes.
    (ar_name_equal): Ignore vms suffix on compare.

default.c:
     Fix VMS archive rules to create library if not existing.
     VMS should have almost all Unix suffixes + VMS ones.
     Fix RCCS VMS specific rules.

tests/scripts/features/archives:
     Fix tests to use VMS rules and answers when running on VMS
     and not using a Bash shell.

tests/scripts/vms/library: (New)
     Test the VMS library rules that are not tested by existing
     tests.


(file #31374)

John Malmberg <wb8tyw>
Fri 02 May 2014 03:44:39 AM UTC, comment #3: 

Updated default.c patch with fixed shared image library rule.

Added shared image library to tests/scripts/vms/library.


(file #31296, file #31297)

John Malmberg <wb8tyw>
Wed 30 Apr 2014 04:22:13 AM UTC, comment #2: 

Updated diff for default.c to suppress messages about VMS library creation if not existing.

Updated the library creation to create the correct library type for the known library file suffixes for VMS/Unix.

Updated archives test for VMS library creation messages no longer present in the output.

Will need to add .olb and .exe suffixes to the library tests.


Problem with wildcard test has been identified.  The VMS specific library code needs to be changed to do what the comments state it should be doing.

(file #31277, file #31278, file #31279)

John Malmberg <wb8tyw>
Fri 25 Apr 2014 10:42:25 PM UTC, comment #1: 

I have attached a preliminary patch to the default.c module that fixes the library rules as follows:

1. Create the library if it does not exist when inserting a module into the library.

2. Support all the types of library that VMS does.  Tests still need to be written for that.

3. Fixes the rcs rules so they have a chance of working.  Of course since no-one noticed that they did not work due to a syntax error, it might be time to just remove them.

4. Add a bunch of missing rules.  VMS should have almost all the same rules as Unix plus some more for VMS specific file extensions and commands.


The features/archive preliminary patch now allows passing of 8 out of 10 test cases.

The failures are:

  •   The libxxx(a3.o *.o) test.  I still need to investigate

    that issue.

  •   The bug #32442 test.  I suspect that the vpath is

    not being honored for VMS library lookups.

(file #31252, file #31253)

John Malmberg <wb8tyw>
Mon 03 Mar 2014 12:16:43 AM UTC, original submission:  

When you ask VMS Make what features it supports, "archives" is in the list.

EAGLE> bash -c  "echo '\$(info \$(.FEATURES))' | make -f- 2>/dev/null"
\target-specific order-only second-expansion else-if shortest-stem undefine oneshell archives
%NONAME-E-NOMSG, Message number 00000002


When you run the features/archives test, it fails.

features/archives .......................................
run_command_with_output(/lcl_root/make/tests/work/features/archives.log,): make
-f /lcl_root/make/tests/work/features/archives.mk
/EAGLE$DQA0/alpha_root/gnv/make/make.exe.1: * [libxx.a(a1.o)] Error 0x1086109c
/EAGLE$DQA0/alpha_root/gnv/make/make.exe.1: unable to open library 'libxx.a' to
lookup member 'a1.o'
/EAGLE$DQA0/alpha_root/gnv/make/make.exe.1: * Archive member 'libxx.a(a1.o)' m
ay be bogus; not deleted

* Test died (features/archives): Command failed: Cannot execute make -f /lcl_r
oot/make/tests/work/features/archives.mk


According to the readme.vms file, this support is not yet implemented.


Running the test driver on VMS requires patches that have not yet been submitted.

I plan to implement archives support as part of the GNV merge, ticket #41611 in a way that is compatible with the VMS librarian utility.


Two other bugs are visible in this output and will be handled separately by what should be minor fixes.

1. arv[0] is reported differently by VMS.  A patch from one of the Bash 4.2.45, Coreutils 8.22, or gawk 4.1 ports should fix this.

2. Exit status is reported wrong.  This same bug was recently fixed in GNU Awk 4.1 so a similar fix should work here.

John Malmberg <wb8tyw>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #31514:  0001-Fix-archive-support-for-VMS-take-2.patch added by wb8tyw (30KiB - application/octet-stream - Revised patch based on feedback.)
file #31374:  0001-Fix-archive-support-for-VMS.patch added by wb8tyw (26KiB - application/octet-stream)
file #31296:  library added by wb8tyw (2KiB - application/octet-stream - scripts/vms/library and default.c patch for shared image library and test)
file #31297:  default_c.gdiff added by wb8tyw (5KiB - application/octet-stream - scripts/vms/library and default.c patch for shared image library and test)
file #31277:  default.gdiff added by wb8tyw (5KiB - application/octet-stream - Revised default.c patch and matching archives test. New file tests/scripts/vms/library to test new VMS library functionality.)
file #31278:  library added by wb8tyw (1KiB - application/octet-stream - Revised default.c patch and matching archives test. New file tests/scripts/vms/library to test new VMS library functionality.)
file #31279:  features_archives.gdiff added by wb8tyw (5KiB - application/octet-stream - Revised default.c patch and matching archives test. New file tests/scripts/vms/library to test new VMS library functionality.)
file #31252:  default_c.gdiff added by wb8tyw (4KiB - application/octet-stream - Updated default.c with fixed rules for archives and other missing rules, and update to archive test for VMS needed syntax.)
file #31253:  features_archives.gdiff added by wb8tyw (6KiB - application/octet-stream - Updated default.c with fixed rules for archives and other missing rules, and update to archive test for VMS needed syntax.)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by psmith (Posted a comment)
  • -email is unavailable- added by wb8tyw (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 12 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2014-10-20 psmith StatusNone Fixed
        Open/ClosedOpen Closed
        Fixed ReleaseNone 4.2
    2014-06-06 wb8tyw Attached File- Added 0001-Fix-archive-support-for-VMS-take-2.patch, #31514
    2014-05-15 wb8tyw Attached File- Added 0001-Fix-archive-support-for-VMS.patch, #31374
    2014-05-02 wb8tyw Attached File- Added library, #31296
        Attached File- Added default_c.gdiff, #31297
    2014-04-30 wb8tyw Attached File- Added default.gdiff, #31277
        Attached File- Added library, #31278
        Attached File- Added features_archives.gdiff, #31279
    2014-04-25 wb8tyw Attached File- Added default_c.gdiff, #31252
        Attached File- Added features_archives.gdiff, #31253

    Back to the top

    Powered by Savane 3.13-cf05.
    Corresponding source code