job000023 #7

  • //
  • spec/
  • job/
  • job000023
  • View
  • Commits
  • Open Download .zip Download (4 KB)
# Perforce Public Depot Jobs
#
#  Job:           The job name. 'new' generates a sequenced job number.
#  Status:        Job status; [open/closed/suspended].  Required
#  Project:       The project this job is for [none/cdsp4/jam/p4hl]  Optional.
#  Severity:      [A/B/C] (A is highest)  Required.
#  ReportedBy     The user who created the job. Can be changed.
#  ReportedDate:  The date the job was created.  Automatic.
#  ModifiedBy:    The user who last modified this job. Automatic.
#  ModifiedDate:  The date this job was last modified. Automatic.
#  OwnedBy:       The owner, responsible for doing the job. Optional.
#  Description:   Description of the job.  Required.
#  DevNotes:      Developer's comments.  Optional.

Job:	job000023

Status:	open

Project:	jam

Severity:	B

ReportedBy:	[email protected]

ReportedDate:	2002/12/19 08:35:45

ModifiedBy:	shawn_hladky

ModifiedDate:	2008/04/13 13:00:54

Description:
	Jam and ar archive format issues on AIX 4.3
	
	This was brought to my attention during the Jam 2.5
	release work; what follows is taken from
	
	  http://maillist.perforce.com/pipermail/jamming/2000-June/000958.html
	
	  - rmg 12/19/2002
	
	-----
	
	Roesler, Randy [email protected] write:
	
	AIX 4.3 changed the format of ar archives. They
	refer to the new format as AR_BIG, it extends ths
	size of the file names which can be stored in the
	main part of the archive header to 20 bytes (from 16).
	
	All AIX 4.3 commands ONLY produce archives in the=20
	big format (they can read the older "SMALL" format
	as well).
	
	Otherwise, the archive header has not changed.
	
	The problem is that the header file, by default,
	selects the AR_SMALL format.
	
	Here is the two pathes to get Jam to work with=20
	the big farmat archives.  I've assumed that
	Jam does not need to be able to handle the small
	archive format, as Jam really only needs to
	parse/scan/timestamp libraries which it itself
	has created.
	
	(There was a very small change in Jamfile for Jam
	itself, the line
	
	if $(OS)(OSVER) =3D AIX43 { CFLAGS +=3D -D_AIX43 ; }
	
	needs to be added.)
	
	Randy Roesler
	Software Architect
	MDSI Mobile Data Solutions
	10271 Shellbridge Way
	
	*** ../../orginal/src/jam.h	Thu Sep 16 21:06:13 1999
	--- jam.h	Wed Jun  7 13:21:23 2000
	***************
	*** 151,160 ****
	--- 151,164 ----
	
	  # ifdef _AIX
	  # define unix
	+ # ifdef _AIX43
	+ # define OSSYMS "UNIX=true","OS=AIX","OSVER=43"
	+ # else
	  # ifdef _AIX41
	  # define OSSYMS "UNIX=true","OS=AIX","OSVER=41"
	  # else
	  # define OSSYMS "UNIX=true","OS=AIX","OSVER=32"
	+ # endif
	  # endif
	  # endif
	
	*** ../../orginal/src/fileunix.c	Thu Sep 16 21:06:01 1999
	--- fileunix.c	Wed Jun  7 15:22:46 2000
	***************
	*** 44,49 ****
	--- 44,53 ----
	
	  # else
	  # if !defined( __QNX__ ) && !defined( __BEOS__ )
	+ # ifdef _AIX43
	+ /* AIX 43 ar SUPPORTs only __AR_BIG__ */ 
	+ # define __AR_BIG__ 
	+ # endif
	  # include <ar.h>
	  # endif /* QNX */
	  # endif /* MVS */
	***************
	*** 274,282 ****
	  	if( ( fd = open( archive, O_RDONLY, 0 ) ) < 0 )
	  	    return;
	
	! 	if( read( fd, (char *)&fl_hdr, FL_HSZ ) != FL_HSZ ||
	  	    strncmp( AIAMAG, fl_hdr.fl_magic, SAIAMAG ) )
	  	{
	  	    close( fd );
	  	    return;
	  	}
	--- 278,291 ----
	  	if( ( fd = open( archive, O_RDONLY, 0 ) ) < 0 )
	  	    return;
	
	!         if( read( fd, (char *)&fl_hdr, FL_HSZ ) != FL_HSZ ||
	! #ifdef _AIX43
	! 	    strncmp( AIAMAGBIG, fl_hdr.fl_magic, SAIAMAG ) )
	! #else
	  	    strncmp( AIAMAG, fl_hdr.fl_magic, SAIAMAG ) )
	+ #endif
	  	{
	+ printf( "magic number wrong on %s\n", archive );
	  	    close( fd );
	  	    return;
	  	}
# Change User Description Committed
#7 default
#6 default
#5 default
#4 default
#3 default
#2 default
#1 default