Thread View: gnu.gcc.bug
1 messages
1 total messages
Started by angel li
Tue, 20 Sep 1988 14:04
patches to GAS for VMS
Author: angel li
Date: Tue, 20 Sep 1988 14:04
Date: Tue, 20 Sep 1988 14:04
140 lines
4786 bytes
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