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

 
 

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

Submitted by:  John Malmberg <wb8tyw>
Submitted on:  Mon 03 Mar 2014 12:16:43 AM UTC  
 
Severity: 3 - NormalItem Group: Bug
Status: FixedPrivacy: Public
Assigned to: NoneOpen/Closed: Closed
Component Version: 4.0Operating System: VMS
Fixed Release: SCMTriage Status: None

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission 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>
Project 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.

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 File(s):
   
   
Comment:
   

Attached Files
file #31514:  0001-Fix-archive-support-for-VMS-take-2.patch added by wb8tyw (30kB - application/octet-stream - Revised patch based on feedback.)
file #31374:  0001-Fix-archive-support-for-VMS.patch added by wb8tyw (26kB - application/octet-stream)
file #31296:  library added by wb8tyw (2kB - application/octet-stream - scripts/vms/library and default.c patch for shared image library and test)
file #31297:  default_c.gdiff added by wb8tyw (5kB - application/octet-stream - scripts/vms/library and default.c patch for shared image library and test)
file #31277:  default.gdiff added by wb8tyw (5kB - 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 (1kB - 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 (5kB - 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 (4kB - 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 (6kB - 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
  • -unavailable- added by psmith (Posted a comment)
  • -unavailable- added by wb8tyw (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 12 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 20 Oct 2014 05:34:13 AM UTCpsmithStatusNone=>Fixed
      Open/ClosedOpen=>Closed
      Fixed ReleaseNone=>SCM
    Fri 06 Jun 2014 03:15:53 AM UTCwb8tywAttached File-=>Added 0001-Fix-archive-support-for-VMS-take-2.patch, #31514
    Thu 15 May 2014 03:51:36 AM UTCwb8tywAttached File-=>Added 0001-Fix-archive-support-for-VMS.patch, #31374
    Fri 02 May 2014 03:44:39 AM UTCwb8tywAttached File-=>Added library, #31296
      Attached File-=>Added default_c.gdiff, #31297
    Wed 30 Apr 2014 04:22:13 AM UTCwb8tywAttached File-=>Added default.gdiff, #31277
      Attached File-=>Added library, #31278
      Attached File-=>Added features_archives.gdiff, #31279
    Fri 25 Apr 2014 10:42:25 PM UTCwb8tywAttached File-=>Added default_c.gdiff, #31252
      Attached File-=>Added features_archives.gdiff, #31253

    Back to the top


    Powered by Savane 3.1-cleanup