🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by angel li Tue, 20 Sep 1988 14:04
patches to GAS for VMS
#1701
Author: angel li
Date: Tue, 20 Sep 1988 14:04
140 lines
4786 bytes
Here are some diffs for a GAS module that fixes problems with GCC on VMS.
It is now possible to create shareable images from files compiled with
GCC.  These fixes were obtained from kashtan@iu.ai.sri.com and apply to
version 1.24 of GAS.

Angel Li
University of Miami/RSMAS Remote Sensing Group

Internet: angel@flipper.miami.edu			UUCP: ncar!umigw!angel



*** write.c_orig	Tue Sep 20 09:39:09 1988
--- write.c	Tue Sep 20 09:39:06 1988
***************
*** 154,169
  #define SUB_SEGMENT_ALIGN (2)
    for ( frchainP=frchain_root; frchainP; frchainP=frchainP->frch_next )
      {
! #ifdef VMS
! 	/*
! 	 *	Under VAX/VMS, the linker (and PSECT specifications)
! 	 *	take care of correctly aligning the segments.
! 	 *	Doing the alignment here (on initialized data) can
! 	 *	mess up the calculation of global data PSECT sizes.
! 	 */
! 	if(frchainP->frch_seg == SEG_DATA)
! 		continue;
! #endif
        subseg_new (frchainP -> frch_seg, frchainP -> frch_subseg);
        frag_align (SUB_SEGMENT_ALIGN, 0);
  				/* frag_align will have left a new frag. */

--- 154,169 -----
  #define SUB_SEGMENT_ALIGN (2)
    for ( frchainP=frchain_root; frchainP; frchainP=frchainP->frch_next )
      {
! #ifdef	VMS
!       /*
!        *	Under VAX/VMS, the linker (and PSECT specifications)
!        *	take care of correctly aligning the segments.
!        *	Doing the alignment here (on initialized data) can
!        *	mess up the calculation of global data PSECT sizes.
!        */
! #undef	SUB_SEGMENT_ALIGN
! #define	SUB_SEGMENT_ALIGN ((frchainP->frch_seg != SEG_DATA) ? 2 : 0)
! #endif	/* VMS */
        subseg_new (frchainP -> frch_seg, frchainP -> frch_subseg);
        frag_align (SUB_SEGMENT_ALIGN, 0);
  				/* frag_align will have left a new frag. */
***************
*** 327,333
  	   used instead of 128. */
  		/* JF the \001 bit is to make sure that local labels
  		   ( 1: - 9: don't make it into the symtable either */
! #ifndef VMS
  	if ( !name || (symbolP->sy_nlist.n_type&N_STAB)
  	    || (name[0]!='\001' && (flagseen ['L'] || name [0] != 'L' )))
  #endif	/* not VMS */

--- 327,333 -----
  	   used instead of 128. */
  		/* JF the \001 bit is to make sure that local labels
  		   ( 1: - 9: don't make it into the symtable either */
! #ifndef	VMS	/* Under VMS we need to keep local symbols */
  	if ( !name || (symbolP->sy_nlist.n_type&N_STAB)
  	    || (name[0]!='\001' && (flagseen ['L'] || name [0] != 'L' )))
  #endif	/* not VMS */
***************
*** 333,339
  #endif	/* not VMS */
  	  {
  	    symbolP -> sy_number = symbol_number ++;
! #ifndef VMS
  	    if (name)
  	      {			/* Ordinary case. */
  		symbolP -> sy_name_offset = string_byte_count;

--- 333,339 -----
  #endif	/* not VMS */
  	  {
  	    symbolP -> sy_number = symbol_number ++;
! #ifndef	VMS
  	    if (name)
  	      {			/* Ordinary case. */
  		symbolP -> sy_name_offset = string_byte_count;
***************
*** 344,350
  		symbolP -> sy_name_offset = 0;
  	    symbolPP = & (symbolP -> sy_next);
  	  }
! #ifndef VMS
  	else
  	    * symbolPP = symbolP -> sy_next;
  #endif	/* not VMS */

--- 344,350 -----
  		symbolP -> sy_name_offset = 0;
  	    symbolPP = & (symbolP -> sy_next);
  	  }
! #ifndef	VMS
  	else
  	    * symbolPP = symbolP -> sy_next;
  #endif	/* not VMS */
***************
*** 397,403
  	}			/* switch (fr_type) */
      }				/* for each frag. */
  
! #ifndef VMS
    /*
     * Scan every FixS performing fixups. We had to wait until now to do
     * this because md_convert_frag() may have made some fixSs.

--- 397,403 -----
  	}			/* switch (fr_type) */
      }				/* for each frag. */
  
! #ifndef	VMS
    /*
     * Scan every FixS performing fixups. We had to wait until now to do
     * this because md_convert_frag() may have made some fixSs.
***************
*** 531,537
   * within the segment. Since segments live in different file addresses,
   * these frag addresses may not be the same as final object-file addresses.
   */
! #ifndef VMS
  static
  #endif	/* not VMS */
  void

--- 531,537 -----
   * within the segment. Since segments live in different file addresses,
   * these frag addresses may not be the same as final object-file addresses.
   */
! #ifndef	VMS
  static
  #endif	/* not VMS */
  void
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads