force all files to end in "/* end of filename"
This commit is contained in:
parent
1d63ba3ba0
commit
8b228fe958
54 changed files with 4140 additions and 4095 deletions
|
@ -506,4 +506,4 @@ int * sizeP;
|
|||
return (kind_of_float ? "" : "Bad call to md_atof()");
|
||||
} /* md_atof() */
|
||||
|
||||
/* end of atof_vax.c */
|
||||
/* end of atof-vax.c */
|
||||
|
|
|
@ -59,4 +59,4 @@ extern int toupper();
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end of ho-sun4.h */
|
||||
/* end of ho-sunos.h */
|
||||
|
|
|
@ -512,4 +512,4 @@ extern SCNHDR text_section_header;
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end of obj-coff.h */
|
||||
/* end of obj-coffbfd.h */
|
||||
|
|
|
@ -23,3 +23,5 @@ int lineno_rootP;
|
|||
|
||||
|
||||
#define IEEE_STYLE
|
||||
|
||||
/* end of obj-ieee.h */
|
||||
|
|
|
@ -15,3 +15,5 @@ struct ranlib {
|
|||
} ran_un;
|
||||
off_t ran_off; /* library member at this offset */
|
||||
};
|
||||
|
||||
/* end of ranlib.h */
|
||||
|
|
|
@ -39,3 +39,5 @@ int sig_number ();
|
|||
void psignal ();
|
||||
|
||||
#endif
|
||||
|
||||
/* end of signame.h */
|
||||
|
|
|
@ -14,3 +14,5 @@
|
|||
#undef __define_stab
|
||||
|
||||
#endif /* __GNU_STAB_ */
|
||||
|
||||
/* end of stab.h */
|
||||
|
|
|
@ -33,4 +33,5 @@
|
|||
on the h8, this is allways true, since no fixup is done
|
||||
*/
|
||||
#define TC_COUNT_RELOC(x) (x->fx_addsy)
|
||||
|
||||
/* end of tc-a29k.h */
|
||||
|
|
|
@ -1291,3 +1291,5 @@ bfd_vma base;
|
|||
|
||||
|
||||
}
|
||||
|
||||
/* end of tc-h8300.c */
|
||||
|
|
|
@ -14,3 +14,5 @@
|
|||
#define DO_NOT_STRIP 1
|
||||
#define DO_STRIP 0
|
||||
#define LISTING_HEADER "Hitachi H8/300 GAS "
|
||||
|
||||
/* end of tc-h8300.h */
|
||||
|
|
|
@ -1232,4 +1232,4 @@ long val;
|
|||
* comment-column: 0
|
||||
*/
|
||||
|
||||
/* end of i860.c */
|
||||
/* end of tc-i860.c */
|
||||
|
|
|
@ -2756,4 +2756,4 @@ symbolS *symbolP;
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end of i960.c */
|
||||
/* end of tc-i960.c */
|
||||
|
|
|
@ -267,6 +267,7 @@ void tc_set_bal_of_call();
|
|||
|
||||
char *_tc_get_bal_of_call(); /* this is really symbolS *tc_get_bal_of_call(symbolS *callP). */
|
||||
#define tc_get_bal_of_call(c) ((symbolS *) _tc_get_bal_of_call(c))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
|
@ -275,5 +276,4 @@ char *_tc_get_bal_of_call(); /* this is really symbolS *tc_get_bal_of_call(symbo
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end of tp-i960.h */
|
||||
#endif
|
||||
/* end of tc-i960.h */
|
||||
|
|
|
@ -281,4 +281,5 @@
|
|||
{"pvalid", two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s" },
|
||||
|
||||
#endif /* m68851 */
|
||||
/* end pmmu.h */
|
||||
|
||||
/* end of tc-m68851.h */
|
||||
|
|
|
@ -4508,4 +4508,4 @@ void s_chip()
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end of tc-m68k.c */
|
||||
/* end of tc-m68kmote.c */
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
if (aim==0 && this_state== 4) { /* hard encoded from tc-m68k.c */ \
|
||||
aim=this_type->rlx_forward+1; /* Force relaxation into word mode */ \
|
||||
}
|
||||
#define MRI
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
|
@ -40,6 +41,4 @@
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end of tc-m68k.h */
|
||||
|
||||
#define MRI
|
||||
/* end of tc-m68kmote.h */
|
||||
|
|
|
@ -1796,4 +1796,4 @@ void tc_aout_pre_write_hook(headers)
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end of tp-sparc.c */
|
||||
/* end of tc-sparc.c */
|
||||
|
|
|
@ -31,15 +31,16 @@
|
|||
|
||||
#define AOUT_MACHTYPE 3
|
||||
|
||||
#define tc_headers_hook(a) ; /* don't need it. */
|
||||
#define tc_crawl_symbol_chain(a) ; /* don't need it. */
|
||||
#define tc_headers_hook(a) {;} /* don't need it. */
|
||||
#define tc_crawl_symbol_chain(a) {;} /* don't need it. */
|
||||
|
||||
#define LISTING_HEADER "SPARC GAS "
|
||||
/*
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
* comment-column: 0
|
||||
* fill-column: 131
|
||||
* End:
|
||||
*/
|
||||
|
||||
/* end of tp-sparc.h */
|
||||
/* end of tc-sparc.h */
|
||||
|
|
|
@ -3334,3 +3334,5 @@ fixS *fixP;
|
|||
{
|
||||
return fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address;
|
||||
}
|
||||
|
||||
/* end of tc-vax.c */
|
||||
|
|
|
@ -5,3 +5,4 @@
|
|||
/* The magic number is not the usual MC68MAGIC. */
|
||||
#define FILE_HEADER_MAGIC MC68KBCSMAGIC
|
||||
|
||||
/* end of te-dpx2.h */
|
||||
|
|
|
@ -3,3 +3,5 @@
|
|||
|
||||
/* Return true if s (a non null string pointer), points to a local variable name. */
|
||||
#define LOCAL_LABEL(n) ((n)[0] == '.' && (n)[1] == 'L')
|
||||
|
||||
/* end of te-sco386.h */
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
/* Remove leading underscore from the gcc generated symbol names */
|
||||
#define STRIP_UNDERSCORE
|
||||
|
||||
/* end of te-sysv32.h */
|
||||
|
|
|
@ -74,4 +74,4 @@ struct vit /* vax instruction tree */
|
|||
char * vit_error; /* "" or error text */
|
||||
};
|
||||
|
||||
/* end: vax-inst.h */
|
||||
/* end of vax-inst.h */
|
||||
|
|
|
@ -12,7 +12,7 @@ struct OBJREC {
|
|||
unsigned char obj$b_mhd_strlv;
|
||||
unsigned char obj$b_mhd_recsz[2];
|
||||
unsigned char obj$t_mhd_name[1];
|
||||
};
|
||||
};
|
||||
|
||||
#define OBJ$C_HDR 0
|
||||
#define OBJ$C_HDR_MHD 0
|
||||
|
@ -253,3 +253,5 @@ struct OBJREC {
|
|||
*/
|
||||
#define DBG$C_FUNCTION_PARAMETER 0xc9
|
||||
#define DBG$C_LOCAL_SYM 0xd9
|
||||
|
||||
/* end of objrecdef.h */
|
||||
|
|
|
@ -23,7 +23,7 @@ struct VMS_Symbol {
|
|||
int Size;
|
||||
int Psect_Index;
|
||||
int Psect_Offset;
|
||||
};
|
||||
};
|
||||
extern struct VMS_Symbol *VMS_Symbols;
|
||||
|
||||
enum advanced_type {BASIC,POINTER,ARRAY,ENUM,STRUCT,UNION,FUNCTION,VOID,UNKNOWN};
|
||||
|
@ -51,29 +51,29 @@ struct VMS_DBG_Symbol{
|
|||
|
||||
struct VMS_DBG_Symbol *VMS_Symbol_type_list={(struct VMS_DBG_Symbol*) NULL};
|
||||
|
||||
/* we need this structure to keep track of forward references to
|
||||
/* we need this structure to keep track of forward references to
|
||||
* struct/union/enum that have not been defined yet. When they are ultimately
|
||||
* defined, then we can go back and generate the TIR commands to make a back
|
||||
* reference.
|
||||
*/
|
||||
|
||||
struct forward_ref{
|
||||
struct forward_ref{
|
||||
struct forward_ref * next;
|
||||
int dbx_type;
|
||||
int struc_numb;
|
||||
char resolved;
|
||||
};
|
||||
|
||||
struct forward_ref * f_ref_root={(struct forward_ref*) NULL};
|
||||
struct forward_ref * f_ref_root={(struct forward_ref*) NULL};
|
||||
|
||||
static char * symbol_name;
|
||||
static structure_count=0;
|
||||
static char * symbol_name;
|
||||
static structure_count=0;
|
||||
|
||||
/* this routine converts a number string into an integer, and stops when it
|
||||
/* this routine converts a number string into an integer, and stops when it
|
||||
* sees an invalid character the return value is the address of the character
|
||||
* just past the last character read. No error is generated.
|
||||
*/
|
||||
static char * cvt_integer(char* str,int * rtn){
|
||||
static char * cvt_integer(char* str,int * rtn){
|
||||
int ival, neg;
|
||||
neg = *str == '-' ? ++str, -1 : 1;
|
||||
ival=0; /* first get the number of the type for dbx */
|
||||
|
@ -81,30 +81,30 @@ static char * cvt_integer(char* str,int * rtn){
|
|||
ival = 10*ival + *str++ -'0';
|
||||
*rtn = neg*ival;
|
||||
return str;
|
||||
}
|
||||
}
|
||||
|
||||
/* this routine fixes the names that are generated by C++, ".this" is a good
|
||||
/* this routine fixes the names that are generated by C++, ".this" is a good
|
||||
* example. The period does not work for the debugger, since it looks like
|
||||
* the syntax for a structure element, and thus it gets mightily confused
|
||||
*/
|
||||
static fix_name(char* pnt){
|
||||
static fix_name(char* pnt){
|
||||
for( ;*pnt != 0; pnt++){
|
||||
if(*pnt == '.') *pnt = '$';
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* this routine is used to compare the names of certain types to various
|
||||
/* this routine is used to compare the names of certain types to various
|
||||
* fixed types that are known by the debugger.
|
||||
*/
|
||||
#define type_check(x) !strcmp( symbol_name , x )
|
||||
|
||||
/* When defining a structure, this routine is called to find the name of
|
||||
/* When defining a structure, this routine is called to find the name of
|
||||
* the actual structure. It is assumed that str points to the equal sign
|
||||
* in the definition, and it moves backward until it finds the start of the
|
||||
* name. If it finds a 0, then it knows that this structure def is in the
|
||||
* outermost level, and thus symbol_name points to the symbol name.
|
||||
*/
|
||||
static char* get_struct_name(char* str){
|
||||
static char* get_struct_name(char* str){
|
||||
char* pnt;
|
||||
pnt=str;
|
||||
while((*pnt != ':') && (*pnt != '\0')) pnt--;
|
||||
|
@ -115,9 +115,9 @@ static char* get_struct_name(char* str){
|
|||
while((*pnt < '0') || (*pnt > '9')) pnt++;
|
||||
while((*pnt >= '0') && (*pnt <= '9')) pnt++;
|
||||
return pnt;
|
||||
}
|
||||
/* search symbol list for type number dbx_type. Return a pointer to struct */
|
||||
static struct VMS_DBG_Symbol* find_symbol(int dbx_type){
|
||||
}
|
||||
/* search symbol list for type number dbx_type. Return a pointer to struct */
|
||||
static struct VMS_DBG_Symbol* find_symbol(int dbx_type){
|
||||
struct VMS_DBG_Symbol* spnt;
|
||||
spnt=VMS_Symbol_type_list;
|
||||
while (spnt!=(struct VMS_DBG_Symbol*) NULL){
|
||||
|
@ -125,10 +125,10 @@ static struct VMS_DBG_Symbol* find_symbol(int dbx_type){
|
|||
spnt=spnt->next;};
|
||||
if(spnt==(struct VMS_DBG_Symbol*) NULL) return 0;/*Dunno what this is*/
|
||||
return spnt;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Many good programmers cringe when they see a fixed size array - since I am
|
||||
/* Many good programmers cringe when they see a fixed size array - since I am
|
||||
* using this to generate the various descriptors for the data types present,
|
||||
* you might argue that the descriptor could overflow the array for a
|
||||
* complicated variable, and then I am in deep doo-doo. My answer to this is
|
||||
|
@ -152,22 +152,22 @@ static struct VMS_DBG_Symbol* find_symbol(int dbx_type){
|
|||
* And now back to the regularly scheduled program...
|
||||
*/
|
||||
#define MAX_DEBUG_RECORD 128
|
||||
static char Local[MAX_DEBUG_RECORD]; /* buffer for variable descriptor */
|
||||
static int Lpnt; /* index into Local */
|
||||
static char Asuffix[MAX_DEBUG_RECORD]; /* buffer for array descriptor */
|
||||
static int Apoint; /* index into Asuffix */
|
||||
static char overflow; /* flag to indicate we have written too much*/
|
||||
static int total_len; /* used to calculate the total length of variable
|
||||
static char Local[MAX_DEBUG_RECORD]; /* buffer for variable descriptor */
|
||||
static int Lpnt; /* index into Local */
|
||||
static char Asuffix[MAX_DEBUG_RECORD]; /* buffer for array descriptor */
|
||||
static int Apoint; /* index into Asuffix */
|
||||
static char overflow; /* flag to indicate we have written too much*/
|
||||
static int total_len; /* used to calculate the total length of variable
|
||||
descriptor plus array descriptor - used for len byte*/
|
||||
static int struct_number; /* counter used to assign indexes to struct
|
||||
static int struct_number; /* counter used to assign indexes to struct
|
||||
unions and enums */
|
||||
|
||||
/* this routine puts info into either Local or Asuffix, depending on the sign
|
||||
/* this routine puts info into either Local or Asuffix, depending on the sign
|
||||
* of size. The reason is that it is easier to build the variable descriptor
|
||||
* backwards, while the array descriptor is best built forwards. In the end
|
||||
* they get put together, if there is not a struct/union/enum along the way
|
||||
*/
|
||||
push(int value, int size){
|
||||
push(int value, int size){
|
||||
char * pnt;
|
||||
int i;
|
||||
int size1;
|
||||
|
@ -184,10 +184,10 @@ push(int value, int size){
|
|||
Asuffix[Apoint++] = *pnt++;
|
||||
if(Apoint >= MAX_DEBUG_RECORD)
|
||||
{overflow = 1; Apoint =MAX_DEBUG_RECORD-1;};}
|
||||
}
|
||||
}
|
||||
|
||||
/* this routine generates the array descriptor for a given array */
|
||||
static array_suffix(struct VMS_DBG_Symbol* spnt2){
|
||||
/* this routine generates the array descriptor for a given array */
|
||||
static array_suffix(struct VMS_DBG_Symbol* spnt2){
|
||||
struct VMS_DBG_Symbol * spnt;
|
||||
struct VMS_DBG_Symbol * spnt1;
|
||||
int rank;
|
||||
|
@ -223,14 +223,14 @@ static array_suffix(struct VMS_DBG_Symbol* spnt2){
|
|||
push(spnt1->index_min,4);
|
||||
push(spnt1->index_max,4);
|
||||
spnt1=find_symbol(spnt1->type2);};
|
||||
}
|
||||
}
|
||||
|
||||
/* this routine generates the start of a variable descriptor based upon
|
||||
/* this routine generates the start of a variable descriptor based upon
|
||||
* a struct/union/enum that has yet to be defined. We define this spot as
|
||||
* a new location, and save four bytes for the address. When the struct is
|
||||
* finally defined, then we can go back and plug in the correct address
|
||||
*/
|
||||
static new_forward_ref(int dbx_type){
|
||||
*/
|
||||
static new_forward_ref(int dbx_type){
|
||||
struct forward_ref* fpnt;
|
||||
fpnt = (struct forward_ref*) malloc(sizeof(struct forward_ref));
|
||||
fpnt->next = f_ref_root;
|
||||
|
@ -242,15 +242,15 @@ static new_forward_ref(int dbx_type){
|
|||
total_len = 5;
|
||||
push(total_len,-2);
|
||||
struct_number = - fpnt->struc_numb;
|
||||
}
|
||||
}
|
||||
|
||||
/* this routine generates the variable descriptor used to describe non-basic
|
||||
/* this routine generates the variable descriptor used to describe non-basic
|
||||
* variables. It calls itself recursively until it gets to the bottom of it
|
||||
* all, and then builds the descriptor backwards. It is easiest to do it this
|
||||
*way since we must periodically write length bytes, and it is easiest if we know
|
||||
*the value when it is time to write it.
|
||||
*/
|
||||
static int gen1(struct VMS_DBG_Symbol * spnt,int array_suffix_len){
|
||||
static int gen1(struct VMS_DBG_Symbol * spnt,int array_suffix_len){
|
||||
struct VMS_DBG_Symbol * spnt1;
|
||||
int i;
|
||||
switch(spnt->advanced){
|
||||
|
@ -305,7 +305,7 @@ static int gen1(struct VMS_DBG_Symbol * spnt,int array_suffix_len){
|
|||
spnt->type2);
|
||||
return;}
|
||||
};
|
||||
/* It is too late to generate forward references, so the user gets a message.
|
||||
/* It is too late to generate forward references, so the user gets a message.
|
||||
* This should only happen on a compiler error */
|
||||
i=gen1(spnt1,1);
|
||||
i=Apoint;
|
||||
|
@ -326,15 +326,15 @@ static int gen1(struct VMS_DBG_Symbol * spnt,int array_suffix_len){
|
|||
total_len += array_suffix_len + 8;
|
||||
push(total_len,-2);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* this generates a suffix for a variable. If it is not a defined type yet,
|
||||
/* this generates a suffix for a variable. If it is not a defined type yet,
|
||||
* then dbx_type contains the type we are expecting so we can generate a
|
||||
* forward reference. This calls gen1 to build most of the descriptor, and
|
||||
* then it puts the icing on at the end. It then dumps whatever is needed
|
||||
* to get a complete descriptor (i.e. struct reference, array suffix ).
|
||||
*/
|
||||
static generate_suffix(struct VMS_DBG_Symbol * spnt,int dbx_type){
|
||||
static generate_suffix(struct VMS_DBG_Symbol * spnt,int dbx_type){
|
||||
int ilen;
|
||||
int i;
|
||||
char pvoid[6] = {5,0xaf,0,1,0,5};
|
||||
|
@ -353,7 +353,7 @@ static generate_suffix(struct VMS_DBG_Symbol * spnt,int dbx_type){
|
|||
push(0x00af,-2);
|
||||
total_len += 4;
|
||||
push(total_len,-1);
|
||||
/* if the variable descriptor overflows the record, output a descriptor for
|
||||
/* if the variable descriptor overflows the record, output a descriptor for
|
||||
* a pointer to void.
|
||||
*/
|
||||
if((total_len >= MAX_DEBUG_RECORD) || overflow) {
|
||||
|
@ -364,14 +364,14 @@ static generate_suffix(struct VMS_DBG_Symbol * spnt,int dbx_type){
|
|||
i=0;
|
||||
while(Lpnt < MAX_DEBUG_RECORD-1) Local[i++] = Local[++Lpnt];
|
||||
Lpnt = i;
|
||||
/* we use this for a reference to a structure that has already been defined */
|
||||
/* we use this for a reference to a structure that has already been defined */
|
||||
if(struct_number > 0){
|
||||
VMS_Store_Immediate_Data(Local, Lpnt, OBJ$C_DBG);Lpnt=0;
|
||||
VMS_Store_Struct(struct_number);};
|
||||
/* we use this for a forward reference to a structure that has yet to be
|
||||
*defined. We store four bytes of zero to make room for the actual address once
|
||||
* it is known
|
||||
*/
|
||||
/* we use this for a forward reference to a structure that has yet to be
|
||||
*defined. We store four bytes of zero to make room for the actual address once
|
||||
* it is known
|
||||
*/
|
||||
if(struct_number < 0){
|
||||
struct_number = -struct_number;
|
||||
VMS_Store_Immediate_Data(Local, Lpnt,OBJ$C_DBG);Lpnt=0;
|
||||
|
@ -386,12 +386,12 @@ static generate_suffix(struct VMS_DBG_Symbol * spnt,int dbx_type){
|
|||
Lpnt=0;
|
||||
}
|
||||
|
||||
/* This routine generates a symbol definition for a C sybmol for the debugger.
|
||||
/* This routine generates a symbol definition for a C sybmol for the debugger.
|
||||
* It takes a psect and offset for global symbols - if psect < 0, then this is
|
||||
* a local variable and the offset is relative to FP. In this case it can
|
||||
* be either a variable (Offset < 0) or a parameter (Offset > 0).
|
||||
*/
|
||||
VMS_DBG_record(struct VMS_DBG_Symbol* spnt,int Psect,int Offset, char* Name)
|
||||
VMS_DBG_record(struct VMS_DBG_Symbol* spnt,int Psect,int Offset, char* Name)
|
||||
{
|
||||
char* pnt;
|
||||
int j;
|
||||
|
@ -439,13 +439,13 @@ int VMS_local_stab_Parse(symbolS * sp){
|
|||
if(pnt==(char*) NULL) return; /* no colon present */
|
||||
pnt1=pnt++; /* save this for later, and skip colon */
|
||||
if(*pnt == 'c') return 0; /* ignore static constants */
|
||||
/* there is one little catch that we must be aware of. Sometimes function
|
||||
/* there is one little catch that we must be aware of. Sometimes function
|
||||
* parameters are optimized into registers, and the compiler, in its infiite
|
||||
* wisdom outputs stabs records for *both*. In general we want to use the
|
||||
* register if it is present, so we must search the rest of the symbols for
|
||||
* this function to see if this parameter is assigned to a register.
|
||||
*/
|
||||
{
|
||||
{
|
||||
char *str1;
|
||||
char *pnt2;
|
||||
symbolS * sp1;
|
||||
|
@ -462,12 +462,12 @@ int VMS_local_stab_Parse(symbolS * sp){
|
|||
if((*str1 != ':') || (*pnt2 != ':') ) continue;
|
||||
return; /* they are the same! lets skip this one */
|
||||
}; /* for */
|
||||
/* first find the dbx symbol type from list, and then find VMS type */
|
||||
/* first find the dbx symbol type from list, and then find VMS type */
|
||||
pnt++; /* skip p in case no register */
|
||||
};/* if */ }; /* p block */
|
||||
pnt = cvt_integer( pnt, &dbx_type);
|
||||
spnt = find_symbol(dbx_type);
|
||||
if(spnt==(struct VMS_DBG_Symbol*) NULL) return 0;/*Dunno what this is*/
|
||||
pnt = cvt_integer( pnt, &dbx_type);
|
||||
spnt = find_symbol(dbx_type);
|
||||
if(spnt==(struct VMS_DBG_Symbol*) NULL) return 0;/*Dunno what this is*/
|
||||
*pnt1='\0';
|
||||
VMS_DBG_record(spnt,-1,sp->sy_nlist.n_value,str);
|
||||
*pnt1=':'; /* and restore the string */
|
||||
|
@ -507,7 +507,7 @@ static int VMS_stab_parse(symbolS * sp,char expected_type,
|
|||
pnt = cvt_integer(pnt+1,&dbx_type);
|
||||
spnt = find_symbol(dbx_type);
|
||||
if(spnt==(struct VMS_DBG_Symbol*) NULL) return 0;/*Dunno what this is*/
|
||||
/* now we need to search the symbol table to find the psect and offset for
|
||||
/* now we need to search the symbol table to find the psect and offset for
|
||||
* this variable.
|
||||
*/
|
||||
*pnt1='\0';
|
||||
|
@ -515,7 +515,7 @@ static int VMS_stab_parse(symbolS * sp,char expected_type,
|
|||
while(vsp != (struct VMS_Symbol*) NULL)
|
||||
{pnt=vsp->Symbol->sy_nlist.n_un.n_name;
|
||||
if(pnt!=(char*) NULL) if(*pnt++ == '_')
|
||||
/* make sure name is the same, and make sure correct symbol type */
|
||||
/* make sure name is the same, and make sure correct symbol type */
|
||||
if((strlen(pnt) == strlen(str)) && (strcmp(pnt,str)==0)
|
||||
&& ((vsp->Symbol->sy_type == type1) ||
|
||||
(vsp->Symbol->sy_type == type2))) break;
|
||||
|
@ -524,7 +524,7 @@ static int VMS_stab_parse(symbolS * sp,char expected_type,
|
|||
VMS_DBG_record(spnt,vsp->Psect_Index,vsp->Psect_Offset,str);
|
||||
*pnt1=':'; /* and restore the string */
|
||||
return 1;};
|
||||
/* the symbol was not in the symbol list, but it may be an "entry point"
|
||||
/* the symbol was not in the symbol list, but it may be an "entry point"
|
||||
if it was a constant */
|
||||
for(sp1 = symbol_rootP; sp1; sp1 = symbol_next(sp1)) {
|
||||
/*
|
||||
|
@ -536,14 +536,14 @@ static int VMS_stab_parse(symbolS * sp,char expected_type,
|
|||
if(*pnt == '_') pnt++;
|
||||
if(strcmp(pnt,str) == 0){
|
||||
if(!gave_compiler_message && expected_type=='G'){
|
||||
printf("***Warning - the assembly code generated by the compiler has placed\n");
|
||||
printf("global constant(s) in the text psect. These will not be available to\n");
|
||||
printf("other modules, since this is not the correct way to handle this. You\n");
|
||||
printf("have two options: 1) get a patched compiler that does not put global\n");
|
||||
printf("constants in the text psect, or 2) remove the 'const' keyword from\n");
|
||||
printf("definitions of global variables in your source module(s). Don't say\n");
|
||||
printf("I didn't warn you!");
|
||||
gave_compiler_message = 1;};
|
||||
printf("***Warning - the assembly code generated by the compiler has placed\n");
|
||||
printf("global constant(s) in the text psect. These will not be available to\n");
|
||||
printf("other modules, since this is not the correct way to handle this. You\n");
|
||||
printf("have two options: 1) get a patched compiler that does not put global\n");
|
||||
printf("constants in the text psect, or 2) remove the 'const' keyword from\n");
|
||||
printf("definitions of global variables in your source module(s). Don't say\n");
|
||||
printf("I didn't warn you!");
|
||||
gave_compiler_message = 1;};
|
||||
VMS_DBG_record(spnt,
|
||||
Text_Psect,
|
||||
sp1->sy_nlist.n_value,
|
||||
|
@ -610,7 +610,7 @@ VMS_RSYM_Parse(symbolS * sp,symbolS * Current_Routine,int Text_Psect){
|
|||
if((Min_Offset != -1) && (bcnt == 0)) break;
|
||||
if((unsigned char)symbolP->sy_type == N_FUN) break;
|
||||
}
|
||||
/* check to see that the addresses were defined. If not, then there were no
|
||||
/* check to see that the addresses were defined. If not, then there were no
|
||||
* brackets in the function, and we must try to search for the next function
|
||||
* Since functions can be in any order, we should search all of the symbol list
|
||||
* to find the correct ending address. */
|
||||
|
@ -633,7 +633,7 @@ VMS_RSYM_Parse(symbolS * sp,symbolS * Current_Routine,int Text_Psect){
|
|||
Max_Source_Offset=This_Offset;
|
||||
}
|
||||
}
|
||||
/* if this is the last routine, then we use the PC of the last source line
|
||||
/* if this is the last routine, then we use the PC of the last source line
|
||||
* as a marker of the max PC for which this reg is valid */
|
||||
if(Max_Offset == 0x7fffffff) Max_Offset = Max_Source_Offset;
|
||||
};
|
||||
|
@ -731,11 +731,11 @@ static int VMS_typedef_parse(char* str){
|
|||
int convert_integer;
|
||||
struct VMS_DBG_Symbol* spnt;
|
||||
struct VMS_DBG_Symbol* spnt1;
|
||||
/* check for any nested def's */
|
||||
/* check for any nested def's */
|
||||
pnt=(char*)strchr(str+1,'=');
|
||||
if((pnt != (char*) NULL) && (*(str+1) != '*'))
|
||||
if(VMS_typedef_parse(pnt) == 1 ) return 1;
|
||||
/* now find dbx_type of entry */
|
||||
/* now find dbx_type of entry */
|
||||
pnt=str-1;
|
||||
if(*pnt == 'c'){ /* check for static constants */
|
||||
*str = '\0'; /* for now we ignore them */
|
||||
|
@ -744,7 +744,7 @@ static int VMS_typedef_parse(char* str){
|
|||
pnt++; /* and get back to the number */
|
||||
cvt_integer(pnt,&i1);
|
||||
spnt = find_symbol(i1);
|
||||
/* first we see if this has been defined already, due to a forward reference*/
|
||||
/* first we see if this has been defined already, due to a forward reference*/
|
||||
if(spnt == (struct VMS_DBG_Symbol*) NULL) {
|
||||
if(VMS_Symbol_type_list==(struct VMS_DBG_Symbol*) NULL)
|
||||
{spnt=(struct VMS_DBG_Symbol*) malloc(sizeof(struct VMS_DBG_Symbol));
|
||||
|
@ -756,7 +756,7 @@ static int VMS_typedef_parse(char* str){
|
|||
VMS_Symbol_type_list = spnt;};
|
||||
spnt->dbx_type = i1; /* and save the type */
|
||||
};
|
||||
/* for structs and unions, do a partial parse, otherwise we sometimes get
|
||||
/* for structs and unions, do a partial parse, otherwise we sometimes get
|
||||
* circular definitions that are impossible to resolve. We read enough info
|
||||
* so that any reference to this type has enough info to be resolved
|
||||
*/
|
||||
|
@ -772,7 +772,7 @@ static int VMS_typedef_parse(char* str){
|
|||
printf(" %d is an unknown untyped variable.\n",spnt->dbx_type);
|
||||
return 1; /* do not know what this is */
|
||||
};
|
||||
/* now define this module*/
|
||||
/* now define this module*/
|
||||
pnt=str + 1; /* point to character past equal sign */
|
||||
switch (*pnt){
|
||||
case 'r':
|
||||
|
@ -956,8 +956,8 @@ static int VMS_typedef_parse(char* str){
|
|||
printf(" %d is an unknown type of variable.\n",spnt->dbx_type);
|
||||
return 1; /* unable to decipher */
|
||||
};
|
||||
/* this removes the evidence of the definition so that the outer levels of
|
||||
parsing do not have to worry about it */
|
||||
/* this removes the evidence of the definition so that the outer levels of
|
||||
parsing do not have to worry about it */
|
||||
pnt=str;
|
||||
while (*pnt1 != '\0') *pnt++ = *pnt1++;
|
||||
*pnt = '\0';
|
||||
|
@ -1023,7 +1023,7 @@ int VMS_LSYM_Parse(){
|
|||
pass++;
|
||||
} while((incomplete != 0) && (incomplete != incom1 ));
|
||||
/* repeat until all refs resolved if possible */
|
||||
/* if(pass > 1) printf(" Required %d passes\n",pass);*/
|
||||
/* if(pass > 1) printf(" Required %d passes\n",pass);*/
|
||||
if(incomplete != 0){
|
||||
printf("gcc-as warning(debugger output):");
|
||||
printf("Unable to resolve %d circular references.\n",incomplete);
|
||||
|
@ -1114,7 +1114,7 @@ static symbolS* Define_Routine(symbolS* symbolP,int Level){
|
|||
} /* if */
|
||||
} /* for */
|
||||
/* we end up here if there were no brackets in this function. Define
|
||||
everything */
|
||||
everything */
|
||||
Define_Local_Symbols(sstart,(symbolS *) 0);
|
||||
}
|
||||
|
||||
|
@ -1123,3 +1123,5 @@ VMS_DBG_Define_Routine(symbolS* symbolP,symbolS* Curr_Routine,int Txt_Psect){
|
|||
Text_Psect = Txt_Psect;
|
||||
Define_Routine(symbolP,0);
|
||||
}
|
||||
|
||||
/* end of vms-dbg.c */
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
/* vms.c -- Write out a VAX/VMS object file
|
||||
Copyright (C) 1987, 1988 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
||||
GAS is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
GAS is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GAS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
GAS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GAS; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* Written by David L. Kashtan */
|
||||
#include <ctype.h>
|
||||
|
@ -39,7 +39,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|||
#include <vms/xabfhcdef.h> /* Define File Header XAB */
|
||||
|
||||
const pseudo_typeS obj_pseudo_table[] = {
|
||||
{ "const", s_const, 0 },
|
||||
{ "const", s_const, 0 },
|
||||
|
||||
}; /* obj_pseudo_table */
|
||||
|
||||
|
@ -58,11 +58,11 @@ static symbolS *Entry_Point_Symbol = 0; /* Pointer to "_main" */
|
|||
*/
|
||||
struct VMS_Symbol {
|
||||
struct VMS_Symbol *Next;
|
||||
struct symbol *Symbol;
|
||||
int Size;
|
||||
int Psect_Index;
|
||||
int Psect_Offset;
|
||||
};
|
||||
struct symbol *Symbol;
|
||||
int Size;
|
||||
int Psect_Index;
|
||||
int Psect_Offset;
|
||||
};
|
||||
struct VMS_Symbol *VMS_Symbols = 0;
|
||||
|
||||
/* we need this to keep track of the various input files, so that we can
|
||||
|
@ -71,26 +71,26 @@ struct VMS_Symbol *VMS_Symbols = 0;
|
|||
|
||||
struct input_file{
|
||||
struct input_file* next;
|
||||
struct input_file* same_file_fpnt;
|
||||
int file_number;
|
||||
int max_line;
|
||||
int min_line;
|
||||
int offset;
|
||||
char flag;
|
||||
char * name;
|
||||
symbolS * spnt;
|
||||
};
|
||||
struct input_file* same_file_fpnt;
|
||||
int file_number;
|
||||
int max_line;
|
||||
int min_line;
|
||||
int offset;
|
||||
char flag;
|
||||
char * name;
|
||||
symbolS * spnt;
|
||||
};
|
||||
|
||||
static struct input_file * file_root = (struct input_file*)NULL;
|
||||
|
||||
struct input_file * find_file(symbolS *);
|
||||
struct input_file * find_file(symbolS *);
|
||||
|
||||
|
||||
/*
|
||||
|
||||
/*
|
||||
* If the procedure "main()" exists we have to add the instruction
|
||||
* "jsb c$main_args" at the beginning to be compatible with VAX-11 "C".
|
||||
*/
|
||||
VMS_Check_For_Main()
|
||||
VMS_Check_For_Main()
|
||||
{
|
||||
register symbolS *symbolP;
|
||||
#ifdef HACK_DEC_C_STARTUP /* JF */
|
||||
|
@ -288,10 +288,10 @@ VMS_Check_For_Main()
|
|||
* Write a VAX/VMS object file (everything else has been done!)
|
||||
*/
|
||||
VMS_write_object_file(text_siz, data_siz, text_frag_root, data_frag_root)
|
||||
unsigned text_siz;
|
||||
unsigned data_siz;
|
||||
struct frag *text_frag_root;
|
||||
struct frag *data_frag_root;
|
||||
unsigned text_siz;
|
||||
unsigned data_siz;
|
||||
struct frag *text_frag_root;
|
||||
struct frag *data_frag_root;
|
||||
{
|
||||
register fragS * fragP;
|
||||
register symbolS * symbolP;
|
||||
|
@ -312,7 +312,7 @@ struct frag *data_frag_root;
|
|||
* Write the module header records
|
||||
*/
|
||||
Write_VMS_MHD_Records();
|
||||
|
||||
|
||||
/*
|
||||
* Generate the VMS object file records
|
||||
* 1st GSD then TIR records
|
||||
|
@ -558,7 +558,7 @@ struct frag *data_frag_root;
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/******* Text Information and Relocation Records *******/
|
||||
/*
|
||||
* Write the text segment data
|
||||
|
@ -864,7 +864,7 @@ struct frag *data_frag_root;
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Write the Traceback Begin Module record
|
||||
*/
|
||||
|
@ -874,13 +874,13 @@ struct frag *data_frag_root;
|
|||
* (this makes the assumption that symbols are in
|
||||
* order of ascending text segment offset)
|
||||
*/
|
||||
{
|
||||
{
|
||||
struct symbol *Current_Routine = 0;
|
||||
int Current_Line_Number = 0;
|
||||
int Current_Offset = -1;
|
||||
struct input_file * Current_File;
|
||||
|
||||
/* Output debugging info for global variables and static variables that are not
|
||||
/* Output debugging info for global variables and static variables that are not
|
||||
* specific to one routine. We also need to examine all stabs directives, to
|
||||
* find the definitions to all of the advanced data types, and this is done by
|
||||
* VMS_LSYM_Parse. This needs to be done before any definitions are output to
|
||||
|
@ -935,7 +935,7 @@ struct frag *data_frag_root;
|
|||
to each one. This will essentially be the starting line number to the
|
||||
debugger for each file. Output the info for the debugger to specify the
|
||||
files, and then tell it how many lines to use */
|
||||
{
|
||||
{
|
||||
int File_Number = 0;
|
||||
int Debugger_Offset = 0;
|
||||
int file_available;
|
||||
|
@ -947,7 +947,7 @@ struct frag *data_frag_root;
|
|||
!flagseen['D']) continue;
|
||||
if((strncmp(Current_File->name,"GNU_CC_INCLUDE:",15) == 0) &&
|
||||
!flagseen['D']) continue;
|
||||
/* show a few extra lines at the start of the region selected */
|
||||
/* show a few extra lines at the start of the region selected */
|
||||
if(Current_File->min_line > 2) Current_File->min_line -= 2;
|
||||
Current_File->offset = Debugger_Offset - Current_File->min_line + 1;
|
||||
Debugger_Offset += Current_File->max_line - Current_File->min_line + 1;
|
||||
|
@ -965,8 +965,8 @@ struct frag *data_frag_root;
|
|||
Current_File->min_line,
|
||||
Current_File->max_line-Current_File->min_line+1);
|
||||
}; /* for */
|
||||
}; /* scope */
|
||||
Current_File = (struct input_file*) NULL;
|
||||
}; /* scope */
|
||||
Current_File = (struct input_file*) NULL;
|
||||
|
||||
for(symbolP = symbol_rootP; symbolP; symbolP = symbol_next(symbolP)) {
|
||||
/*
|
||||
|
@ -995,7 +995,7 @@ struct frag *data_frag_root;
|
|||
VMS_TBT_Routine_Begin(symbolP,Text_Psect);
|
||||
Current_Routine = symbolP;
|
||||
}
|
||||
/* Output local symbols, i.e. all symbols that are associated with a specific
|
||||
/* Output local symbols, i.e. all symbols that are associated with a specific
|
||||
* routine. We output them now so the debugger recognizes them as local to
|
||||
* this routine.
|
||||
*/
|
||||
|
@ -1113,7 +1113,7 @@ struct frag *data_frag_root;
|
|||
Current_File =
|
||||
find_file(symbolP);
|
||||
break;
|
||||
/* We need to make sure that we are really in the actual source file when
|
||||
/* We need to make sure that we are really in the actual source file when
|
||||
* we compute the maximum line number. Otherwise the debugger gets really
|
||||
* confused */
|
||||
case N_SOL:
|
||||
|
@ -1140,29 +1140,29 @@ struct frag *data_frag_root;
|
|||
*/
|
||||
VMS_TBT_Routine_End(text_siz,Current_Routine);
|
||||
}
|
||||
}
|
||||
/*
|
||||
}
|
||||
/*
|
||||
* Write the Traceback End Module TBT record
|
||||
*/
|
||||
VMS_TBT_Module_End();
|
||||
VMS_TBT_Module_End();
|
||||
|
||||
/*
|
||||
/*
|
||||
* Write the End Of Module record
|
||||
*/
|
||||
if (Entry_Point_Symbol == 0)
|
||||
if (Entry_Point_Symbol == 0)
|
||||
Write_VMS_EOM_Record(-1,0);
|
||||
else
|
||||
else
|
||||
Write_VMS_EOM_Record(Text_Psect,
|
||||
Entry_Point_Symbol->sy_nlist.n_value);
|
||||
|
||||
/*
|
||||
/*
|
||||
* All done, close the object file
|
||||
*/
|
||||
Close_VMS_Object_File();
|
||||
Close_VMS_Object_File();
|
||||
}
|
||||
|
||||
|
||||
/****** VMS OBJECT FILE HACKING ROUTINES *******/
|
||||
/****** VMS OBJECT FILE HACKING ROUTINES *******/
|
||||
|
||||
|
||||
/*
|
||||
|
@ -1199,7 +1199,7 @@ static int Current_Object_Record_Type; /* Type of record in above */
|
|||
#define PSECT_ATTRIBUTES_STRING_LENGTH 18
|
||||
|
||||
#define HAS_PSECT_ATTRIBUTES(Name) \
|
||||
(strncmp((Name[0] == '_' ? Name + 1 : Name), \
|
||||
(strncmp((Name[0] == '_' ? Name + 1 : Name), \
|
||||
PSECT_ATTRIBUTES_STRING, \
|
||||
PSECT_ATTRIBUTES_STRING_LENGTH) == 0)
|
||||
|
||||
|
@ -1236,7 +1236,7 @@ Create_VMS_Object_File()
|
|||
* Declare a particular type of object file record
|
||||
*/
|
||||
Set_VMS_Object_File_Record(Type)
|
||||
int Type;
|
||||
int Type;
|
||||
{
|
||||
/*
|
||||
* If the type matches, we are done
|
||||
|
@ -1397,8 +1397,8 @@ Write_VMS_MHD_Records()
|
|||
* Write the EOM (End Of Module) record
|
||||
*/
|
||||
Write_VMS_EOM_Record(Psect, Offset)
|
||||
int Psect;
|
||||
int Offset;
|
||||
int Psect;
|
||||
int Offset;
|
||||
{
|
||||
/*
|
||||
* We are writing an end-of-module record
|
||||
|
@ -1435,8 +1435,8 @@ int Offset;
|
|||
/* this hash routine borrowed from GNU-EMACS, and strengthened slightly ERY*/
|
||||
|
||||
static int
|
||||
hash_string (ptr)
|
||||
unsigned char *ptr;
|
||||
hash_string (ptr)
|
||||
unsigned char *ptr;
|
||||
{
|
||||
register unsigned char *p = ptr;
|
||||
register unsigned char *end = p + strlen(ptr);
|
||||
|
@ -1455,8 +1455,8 @@ hash_string (ptr)
|
|||
* Generate a Case-Hacked VMS symbol name (limited to 31 chars)
|
||||
*/
|
||||
VMS_Case_Hack_Symbol(In,Out)
|
||||
register char *In;
|
||||
register char *Out;
|
||||
register char *In;
|
||||
register char *Out;
|
||||
{
|
||||
long int init = 0;
|
||||
long int result;
|
||||
|
@ -1501,7 +1501,7 @@ register char *Out;
|
|||
}
|
||||
|
||||
old_name=In;
|
||||
/* if(strlen(In) > 31 && flagseen['+'])
|
||||
/* if(strlen(In) > 31 && flagseen['+'])
|
||||
printf("%s: Symbol name truncated: %s\n",myname,In);*/
|
||||
/*
|
||||
* Do the case conversion
|
||||
|
@ -1605,8 +1605,8 @@ register char *Out;
|
|||
* Scan a symbol name for a psect attribute specification
|
||||
*/
|
||||
VMS_Modify_Psect_Attributes(Name, Attribute_Pointer)
|
||||
char *Name;
|
||||
int *Attribute_Pointer;
|
||||
char *Name;
|
||||
int *Attribute_Pointer;
|
||||
{
|
||||
register int i;
|
||||
register char *cp;
|
||||
|
@ -1616,21 +1616,21 @@ int *Attribute_Pointer;
|
|||
int Value;
|
||||
} Attributes[] = {
|
||||
{"PIC", GPS$M_PIC},
|
||||
{"LIB", GPS$M_LIB},
|
||||
{"OVR", GPS$M_OVR},
|
||||
{"REL", GPS$M_REL},
|
||||
{"GBL", GPS$M_GBL},
|
||||
{"SHR", GPS$M_SHR},
|
||||
{"EXE", GPS$M_EXE},
|
||||
{"RD", GPS$M_RD},
|
||||
{"WRT", GPS$M_WRT},
|
||||
{"VEC", GPS$M_VEC},
|
||||
{0, 0}};
|
||||
{"LIB", GPS$M_LIB},
|
||||
{"OVR", GPS$M_OVR},
|
||||
{"REL", GPS$M_REL},
|
||||
{"GBL", GPS$M_GBL},
|
||||
{"SHR", GPS$M_SHR},
|
||||
{"EXE", GPS$M_EXE},
|
||||
{"RD", GPS$M_RD},
|
||||
{"WRT", GPS$M_WRT},
|
||||
{"VEC", GPS$M_VEC},
|
||||
{0, 0}};
|
||||
|
||||
/*
|
||||
/*
|
||||
* Kill leading "_"
|
||||
*/
|
||||
if (*Name == '_') Name++;
|
||||
if (*Name == '_') Name++;
|
||||
/*
|
||||
* Check for a PSECT attribute list
|
||||
*/
|
||||
|
@ -1690,11 +1690,11 @@ int *Attribute_Pointer;
|
|||
*/
|
||||
Name = cp;
|
||||
if (*Name == '_') Name++;
|
||||
}
|
||||
/*
|
||||
}
|
||||
/*
|
||||
* Done
|
||||
*/
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1702,9 +1702,9 @@ int *Attribute_Pointer;
|
|||
* Define a psect
|
||||
*/
|
||||
VMS_Psect_Spec(Name, Size, Type)
|
||||
char *Name;
|
||||
int Size;
|
||||
char *Type;
|
||||
char *Name;
|
||||
int Size;
|
||||
char *Type;
|
||||
{
|
||||
char Local[32];
|
||||
int Psect_Attributes;
|
||||
|
@ -1790,9 +1790,9 @@ char *Type;
|
|||
* Define a global symbol
|
||||
*/
|
||||
VMS_Global_Symbol_Spec(Name, Psect_Number, Psect_Offset, Defined)
|
||||
char *Name;
|
||||
int Psect_Number;
|
||||
int Psect_Offset;
|
||||
char *Name;
|
||||
int Psect_Number;
|
||||
int Psect_Offset;
|
||||
{
|
||||
char Local[32];
|
||||
|
||||
|
@ -1862,10 +1862,10 @@ int Psect_Offset;
|
|||
* Define a procedure entry pt/mask
|
||||
*/
|
||||
VMS_Procedure_Entry_Pt(Name, Psect_Number, Psect_Offset, Entry_Mask)
|
||||
char *Name;
|
||||
int Psect_Number;
|
||||
int Psect_Offset;
|
||||
int Entry_Mask;
|
||||
char *Name;
|
||||
int Psect_Number;
|
||||
int Psect_Offset;
|
||||
int Entry_Mask;
|
||||
{
|
||||
char Local[32];
|
||||
|
||||
|
@ -1927,9 +1927,9 @@ int Entry_Mask;
|
|||
* Set the current location counter to a particular Psect and Offset
|
||||
*/
|
||||
VMS_Set_Psect(Psect_Index, Offset, Record_Type)
|
||||
int Psect_Index;
|
||||
int Offset;
|
||||
int Record_Type;
|
||||
int Psect_Index;
|
||||
int Offset;
|
||||
int Record_Type;
|
||||
{
|
||||
/*
|
||||
* We are writing a "Record_Type" record
|
||||
|
@ -1966,10 +1966,10 @@ int Record_Type;
|
|||
* Make a data reference
|
||||
*/
|
||||
VMS_Set_Data(Psect_Index, Offset, Record_Type,Force)
|
||||
int Psect_Index;
|
||||
int Offset;
|
||||
int Record_Type;
|
||||
int Force;
|
||||
int Psect_Index;
|
||||
int Offset;
|
||||
int Record_Type;
|
||||
int Force;
|
||||
{
|
||||
/*
|
||||
* We are writing a "Record_Type" record
|
||||
|
@ -2080,9 +2080,9 @@ VMS_Set_Struct(int Struct_Index)
|
|||
* Store immediate data in current Psect
|
||||
*/
|
||||
VMS_Store_Immediate_Data(Pointer, Size, Record_Type)
|
||||
register char *Pointer;
|
||||
int Size;
|
||||
int Record_Type;
|
||||
register char *Pointer;
|
||||
int Size;
|
||||
int Record_Type;
|
||||
{
|
||||
register int i;
|
||||
|
||||
|
@ -2132,10 +2132,10 @@ int Record_Type;
|
|||
* Store repeated immediate data in current Psect
|
||||
*/
|
||||
VMS_Store_Repeated_Data(Repeat_Count,Pointer, Size, Record_Type)
|
||||
int Repeat_Count;
|
||||
register char *Pointer;
|
||||
int Size;
|
||||
int Record_Type;
|
||||
int Repeat_Count;
|
||||
register char *Pointer;
|
||||
int Size;
|
||||
int Record_Type;
|
||||
{
|
||||
|
||||
/*
|
||||
|
@ -2186,12 +2186,12 @@ int Record_Type;
|
|||
*/
|
||||
VMS_Store_PIC_Symbol_Reference(Symbol, Offset, PC_Relative,
|
||||
Psect, Psect_Offset, Record_Type)
|
||||
struct symbol *Symbol;
|
||||
int Offset;
|
||||
int PC_Relative;
|
||||
int Psect;
|
||||
int Psect_Offset;
|
||||
int Record_Type;
|
||||
struct symbol *Symbol;
|
||||
int Offset;
|
||||
int PC_Relative;
|
||||
int Psect;
|
||||
int Psect_Offset;
|
||||
int Record_Type;
|
||||
{
|
||||
register struct VMS_Symbol *vsp =
|
||||
(struct VMS_Symbol *)(Symbol->sy_number);
|
||||
|
@ -2332,10 +2332,10 @@ int Record_Type;
|
|||
* PIC CODE GENERATING FIXUP ROUTINE.
|
||||
*/
|
||||
VMS_Fix_Indirect_Reference(Text_Psect, Offset, fragP, text_frag_root)
|
||||
int Text_Psect;
|
||||
int Offset;
|
||||
register fragS *fragP;
|
||||
struct frag *text_frag_root;
|
||||
int Text_Psect;
|
||||
int Offset;
|
||||
register fragS *fragP;
|
||||
struct frag *text_frag_root;
|
||||
{
|
||||
/*
|
||||
* The addressing mode byte is 1 byte before the address
|
||||
|
@ -2449,7 +2449,7 @@ VMS_TBT_Module_Begin()
|
|||
|
||||
/*
|
||||
* Write the Traceback Module End record
|
||||
*/
|
||||
*/
|
||||
VMS_TBT_Module_End()
|
||||
{
|
||||
char Local[2];
|
||||
|
@ -2470,8 +2470,8 @@ VMS_TBT_Module_End()
|
|||
* Write the Traceback Routine Begin record
|
||||
*/
|
||||
VMS_TBT_Routine_Begin(symbolP, Psect)
|
||||
struct symbol *symbolP;
|
||||
int Psect;
|
||||
struct symbol *symbolP;
|
||||
int Psect;
|
||||
{
|
||||
register char *cp,*cp1;
|
||||
char *Name;
|
||||
|
@ -2543,8 +2543,8 @@ int Psect;
|
|||
* size of the routine.
|
||||
*/
|
||||
VMS_TBT_Routine_End(Max_Size,sp)
|
||||
int Max_Size;
|
||||
symbolS *sp;
|
||||
int Max_Size;
|
||||
symbolS *sp;
|
||||
{
|
||||
symbolS *symbolP;
|
||||
int Size = 0x7fffffff;
|
||||
|
@ -2592,9 +2592,9 @@ symbolS *sp;
|
|||
* Write the Traceback Block End record
|
||||
*/
|
||||
VMS_TBT_Block_Begin(symbolP, Psect, Name)
|
||||
struct symbol *symbolP;
|
||||
int Psect;
|
||||
char* Name;
|
||||
struct symbol *symbolP;
|
||||
int Psect;
|
||||
char* Name;
|
||||
{
|
||||
register char *cp,*cp1;
|
||||
int Offset;
|
||||
|
@ -2676,17 +2676,17 @@ VMS_TBT_Block_End(int Size)
|
|||
* Write a Line number / PC correlation record
|
||||
*/
|
||||
VMS_TBT_Line_PC_Correlation(Line_Number, Offset, Psect, Do_Delta)
|
||||
int Line_Number;
|
||||
int Offset;
|
||||
int Psect;
|
||||
int Do_Delta;
|
||||
int Line_Number;
|
||||
int Offset;
|
||||
int Psect;
|
||||
int Do_Delta;
|
||||
{
|
||||
register char *cp;
|
||||
char Local[64];
|
||||
|
||||
/*
|
||||
* If not delta, set our PC/Line number correlation
|
||||
*/
|
||||
* If not delta, set our PC/Line number correlation
|
||||
*/
|
||||
if (Do_Delta == 0) {
|
||||
/*
|
||||
* Size
|
||||
|
@ -2785,8 +2785,8 @@ int Do_Delta;
|
|||
* Describe a source file to the debugger
|
||||
*/
|
||||
VMS_TBT_Source_File(Filename, ID_Number)
|
||||
char *Filename;
|
||||
int ID_Number;
|
||||
char *Filename;
|
||||
int ID_Number;
|
||||
{
|
||||
register char *cp,*cp1;
|
||||
int Status,i;
|
||||
|
@ -2822,11 +2822,11 @@ int ID_Number;
|
|||
Date_Xab.xab$l_nxt = (char *)&File_Header_Xab;
|
||||
File_Header_Xab.xab$b_cod = XAB$C_FHC;
|
||||
File_Header_Xab.xab$b_bln = sizeof(File_Header_Xab);
|
||||
/* ((struct XAB *)&Date_Xab)->xab$b_cod = XAB$C_DAT; */
|
||||
/* ((struct XAB *)&Date_Xab)->xab$b_bln = sizeof(Date_Xab); */
|
||||
/* ((struct XAB *)&Date_Xab)->xab$l_nxt = (struct XAB *)&File_Header_Xab; */
|
||||
/* ((struct XAB *)&File_Header_Xab)->xab$b_cod = XAB$C_FHC; */
|
||||
/* ((struct XAB *)&File_Header_Xab)->xab$b_bln = sizeof(File_Header_Xab); */
|
||||
/* ((struct XAB *)&Date_Xab)->xab$b_cod = XAB$C_DAT; */
|
||||
/* ((struct XAB *)&Date_Xab)->xab$b_bln = sizeof(Date_Xab); */
|
||||
/* ((struct XAB *)&Date_Xab)->xab$l_nxt = (struct XAB *)&File_Header_Xab; */
|
||||
/* ((struct XAB *)&File_Header_Xab)->xab$b_cod = XAB$C_FHC; */
|
||||
/* ((struct XAB *)&File_Header_Xab)->xab$b_bln = sizeof(File_Header_Xab); */
|
||||
/*
|
||||
* Get the file information
|
||||
*/
|
||||
|
@ -2912,9 +2912,9 @@ int ID_Number;
|
|||
* Give the number of source lines to the debugger
|
||||
*/
|
||||
VMS_TBT_Source_Lines(ID_Number,Starting_Line_Number,Number_Of_Lines)
|
||||
int ID_Number;
|
||||
int Starting_Line_Number;
|
||||
int Number_Of_Lines;
|
||||
int ID_Number;
|
||||
int Starting_Line_Number;
|
||||
int Number_Of_Lines;
|
||||
{
|
||||
char *cp,*cp1;
|
||||
char Local[16];
|
||||
|
@ -2962,8 +2962,8 @@ int Number_Of_Lines;
|
|||
* global) which will indicate the start of another datum.
|
||||
*/
|
||||
int VMS_Initialized_Data_Size(sp, End_Of_Data)
|
||||
register struct symbol *sp;
|
||||
int End_Of_Data;
|
||||
register struct symbol *sp;
|
||||
int End_Of_Data;
|
||||
{
|
||||
register struct symbol *sp1,*Next_Symbol;
|
||||
|
||||
|
@ -3023,7 +3023,7 @@ int End_Of_Data;
|
|||
* exist, one is created. For include files, a new entry is always created
|
||||
* such that inline functions can be properly debugged */
|
||||
struct input_file *
|
||||
find_file(sp)
|
||||
find_file(sp)
|
||||
symbolS * sp;
|
||||
{
|
||||
struct input_file * same_file;
|
||||
|
@ -3068,9 +3068,9 @@ symbolS * sp;
|
|||
*/
|
||||
#ifndef eunice
|
||||
_doprnt(Format, a, f)
|
||||
char *Format;
|
||||
FILE *f;
|
||||
char **a;
|
||||
char *Format;
|
||||
FILE *f;
|
||||
char **a;
|
||||
{
|
||||
int Nargs = ((int *)a)[-2]; /* This understands as_fatal() */
|
||||
|
||||
|
@ -3097,7 +3097,7 @@ char const_flag = 0;
|
|||
void s_const();
|
||||
|
||||
void
|
||||
s_const()
|
||||
s_const()
|
||||
{
|
||||
register int temp;
|
||||
|
||||
|
@ -3121,11 +3121,11 @@ obj_crawl_symbol_chain() {
|
|||
} /* if it has a forward reference */
|
||||
} /* walk the symbol chain */
|
||||
|
||||
{ /* crawl symbol table */
|
||||
{ /* crawl symbol table */
|
||||
register int symbol_number = 0;
|
||||
|
||||
#if defined(OBJ_COFF)
|
||||
{ /* OBJ_COFF version */
|
||||
{ /* OBJ_COFF version */
|
||||
lineno* lineP;
|
||||
symbolS* symbol_externP = (symbolS*)0;
|
||||
symbolS* symbol_extern_lastP = (symbolS*)0;
|
||||
|
@ -3175,7 +3175,7 @@ obj_crawl_symbol_chain() {
|
|||
broken, but I can guess. So! Let's force them to be knit properly
|
||||
at this point. */
|
||||
|
||||
/* as john pointed out, this wasn't right. Instead, we'll check here to
|
||||
/* as john pointed out, this wasn't right. Instead, we'll check here to
|
||||
make sure that the list is doubly linked. */
|
||||
|
||||
#if defined(DEBUG) && defined(SYMBOLS_NEED_BACKPOINTERS)
|
||||
|
@ -3347,9 +3347,9 @@ obj_crawl_symbol_chain() {
|
|||
}
|
||||
text_lineno_number++;
|
||||
} /* for each line number */
|
||||
} /* OBJ_COFF version */
|
||||
} /* OBJ_COFF version */
|
||||
#elif defined(OBJ_AOUT) | defined(OBJ_BOUT)
|
||||
{ /* OBJ_AOUT version */
|
||||
{ /* OBJ_AOUT version */
|
||||
symbolPP = & symbol_rootP; /* -> last symbol chain link. */
|
||||
while ((symbolP = *symbolPP) != NULL)
|
||||
{
|
||||
|
@ -3414,16 +3414,16 @@ obj_crawl_symbol_chain() {
|
|||
#endif /* VMS */
|
||||
} /* if this symbol should be in the output */
|
||||
} /* for each symbol */
|
||||
} /* OBJ_AOUT version */
|
||||
} /* OBJ_AOUT version */
|
||||
#else
|
||||
cant_crawl_symbol_table();
|
||||
cant_crawl_symbol_table();
|
||||
#endif
|
||||
H_SET_STRING_SIZE(&headers,string_byte_count);
|
||||
H_SET_SYMBOL_TABLE_SIZE(&headers, symbol_number);
|
||||
} /* crawl symbol table */
|
||||
H_SET_STRING_SIZE(&headers,string_byte_count);
|
||||
H_SET_SYMBOL_TABLE_SIZE(&headers, symbol_number);
|
||||
} /* crawl symbol table */
|
||||
|
||||
/* JF deal with forward references first. . . */
|
||||
for (symbolP = symbol_rootP; symbolP; symbolP = symbol_next(symbolP)) {
|
||||
/* JF deal with forward references first. . . */
|
||||
for (symbolP = symbol_rootP; symbolP; symbolP = symbol_next(symbolP)) {
|
||||
if (symbolP->sy_forward) {
|
||||
symbolP->sy_value += symbolP->sy_forward->sy_value + symbolP->sy_forward->sy_frag->fr_address;
|
||||
#ifdef OBJ_COFF
|
||||
|
@ -3433,13 +3433,13 @@ obj_crawl_symbol_chain() {
|
|||
#endif /* OBJ_COFF */
|
||||
symbolP->sy_forward=0;
|
||||
} /* if it has a forward reference */
|
||||
} /* walk the symbol chain */
|
||||
} /* walk the symbol chain */
|
||||
|
||||
{ /* crawl symbol table */
|
||||
{ /* crawl symbol table */
|
||||
register int symbol_number = 0;
|
||||
|
||||
#if defined(OBJ_COFF)
|
||||
{ /* OBJ_COFF version */
|
||||
{ /* OBJ_COFF version */
|
||||
lineno* lineP;
|
||||
symbolS* symbol_externP = (symbolS*)0;
|
||||
symbolS* symbol_extern_lastP = (symbolS*)0;
|
||||
|
@ -3489,7 +3489,7 @@ obj_crawl_symbol_chain() {
|
|||
broken, but I can guess. So! Let's force them to be knit properly
|
||||
at this point. */
|
||||
|
||||
/* as john pointed out, this wasn't right. Instead, we'll check here to
|
||||
/* as john pointed out, this wasn't right. Instead, we'll check here to
|
||||
make sure that the list is doubly linked. */
|
||||
|
||||
#if defined(DEBUG) && defined(SYMBOLS_NEED_BACKPOINTERS)
|
||||
|
@ -3661,9 +3661,9 @@ obj_crawl_symbol_chain() {
|
|||
}
|
||||
text_lineno_number++;
|
||||
} /* for each line number */
|
||||
} /* OBJ_COFF version */
|
||||
} /* OBJ_COFF version */
|
||||
#elif defined(OBJ_AOUT) | defined(OBJ_BOUT)
|
||||
{ /* OBJ_AOUT version */
|
||||
{ /* OBJ_AOUT version */
|
||||
symbolPP = & symbol_rootP; /* -> last symbol chain link. */
|
||||
while ((symbolP = *symbolPP) != NULL)
|
||||
{
|
||||
|
@ -3728,14 +3728,14 @@ obj_crawl_symbol_chain() {
|
|||
#endif /* VMS */
|
||||
} /* if this symbol should be in the output */
|
||||
} /* for each symbol */
|
||||
} /* OBJ_AOUT version */
|
||||
} /* OBJ_AOUT version */
|
||||
#else
|
||||
cant_crawl_symbol_table();
|
||||
cant_crawl_symbol_table();
|
||||
#endif
|
||||
H_SET_STRING_SIZE(&headers,string_byte_count);
|
||||
H_SET_SYMBOL_TABLE_SIZE(&headers, symbol_number);
|
||||
} /* crawl symbol table */
|
||||
H_SET_STRING_SIZE(&headers,string_byte_count);
|
||||
H_SET_SYMBOL_TABLE_SIZE(&headers, symbol_number);
|
||||
} /* crawl symbol table */
|
||||
|
||||
} /* obj_crawl_symbol_chain() */
|
||||
|
||||
/* end of obj-vms.c */
|
||||
/* end of vms.c */
|
||||
|
|
|
@ -58,15 +58,15 @@ ebmon-old)
|
|||
;;
|
||||
|
||||
ebmon)
|
||||
obj_format=coff-bfd
|
||||
obj_format=coffbfd
|
||||
need_bfd="$(unsubdir)/../bfd$(subdir)/libbfd.a"
|
||||
target_cpu=ebmon29k
|
||||
;;
|
||||
|
||||
generic) obj_format=generic ;;
|
||||
|
||||
hds)
|
||||
obj_format=coff-bfd
|
||||
hms)
|
||||
obj_format=coffbfd
|
||||
need_bfd="$(unsubdir)/../bfd$(subdir)/libbfd.a"
|
||||
;;
|
||||
|
||||
|
@ -85,6 +85,12 @@ coff* | sysv*)
|
|||
*)
|
||||
esac
|
||||
;;
|
||||
vxworks)
|
||||
case ${target_cpu} in
|
||||
i960) obj_format=bout ;;
|
||||
*) obj_format=aout ;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
case ${target_vendor} in
|
||||
aout) obj_format=aout ;;
|
||||
|
@ -117,3 +123,5 @@ files="config/ho-${gas_host}.h config/tc-${cpu_type}.c \
|
|||
config/atof-${atof}.c"
|
||||
|
||||
links="host.h targ-cpu.c targ-cpu.h targ-env.h obj-format.h obj-format.c atof-targ.c"
|
||||
|
||||
# end of gas/configure.in
|
||||
|
|
|
@ -77,3 +77,5 @@ var_chars( fp, n )
|
|||
printf("%02x ", *p );
|
||||
}
|
||||
}
|
||||
|
||||
/* end of debug.c */
|
||||
|
|
|
@ -953,4 +953,4 @@ unsigned int get_single_number()
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end: expr.c */
|
||||
/* end of expr.c */
|
||||
|
|
|
@ -78,4 +78,4 @@ unsigned int get_single_number();
|
|||
|
||||
#endif /* __STDC__ */
|
||||
|
||||
/* end: expr.h */
|
||||
/* end of expr.h */
|
||||
|
|
|
@ -154,4 +154,4 @@ dummy1()
|
|||
{
|
||||
}
|
||||
#endif
|
||||
/* end: flonum_const.c */
|
||||
/* end of flonum_const.c */
|
||||
|
|
|
@ -74,4 +74,4 @@ FLONUM_TYPE * out;
|
|||
} /* if any significant bits */
|
||||
}
|
||||
|
||||
/* end: flonum_copy.c */
|
||||
/* end of flonum_copy.c */
|
||||
|
|
|
@ -196,4 +196,4 @@ FLONUM_TYPE *product;
|
|||
product -> exponent = exponent;
|
||||
}
|
||||
|
||||
/* end: flonum_multip.c */
|
||||
/* end of flonum_mult.c */
|
||||
|
|
|
@ -117,4 +117,4 @@ void flonum_multip();
|
|||
|
||||
#define ERROR_EXPONENT_OVERFLOW (2)
|
||||
|
||||
/* end: flonum.h */
|
||||
/* end of flonum.h */
|
||||
|
|
|
@ -288,4 +288,4 @@ int fill_character;
|
|||
(long)alignment, (char *)0)) = fill_character;
|
||||
} /* frag_align() */
|
||||
|
||||
/* end: frags.c */
|
||||
/* end of frags.c */
|
||||
|
|
|
@ -81,4 +81,4 @@ void frag_wane();
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end: frags.h */
|
||||
/* end of frags.h */
|
||||
|
|
|
@ -985,4 +985,4 @@ whattable() /* determine number: what hash table to use */
|
|||
|
||||
#endif /* #ifdef TEST */
|
||||
|
||||
/* end: hash.c */
|
||||
/* end of hash.c */
|
||||
|
|
|
@ -56,4 +56,4 @@ char * hash_find(); /* value */
|
|||
char * hash_jam(); /* error text (internal) */
|
||||
#endif /* #ifdef hashH */
|
||||
|
||||
/* end: hash.c */
|
||||
/* end of hash.c */
|
||||
|
|
|
@ -52,4 +52,5 @@ dummy2()
|
|||
{
|
||||
}
|
||||
#endif
|
||||
/* end:hex_value.c */
|
||||
|
||||
/* end of hex_value.c */
|
||||
|
|
|
@ -320,3 +320,5 @@ char * where; /* Where to place 1st character of new buffer. */
|
|||
}
|
||||
return (return_value);
|
||||
}
|
||||
|
||||
/* end of input-file.c */
|
||||
|
|
|
@ -81,4 +81,4 @@ void input_file_pop();
|
|||
|
||||
#endif /* __STDC__ */
|
||||
|
||||
/* end: input_file.h */
|
||||
/* end of input_file.h */
|
||||
|
|
|
@ -452,4 +452,4 @@ FILE *stream;
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end: input_scrub.c */
|
||||
/* end of input_scrub.c */
|
||||
|
|
|
@ -10,11 +10,15 @@ void EXFUN(listing_flags,());
|
|||
void EXFUN(listing_psize,());
|
||||
void EXFUN(listing_eject,());
|
||||
void EXFUN(listing_width,(unsigned int x));
|
||||
|
||||
void EXFUN(listing_source_line,(unsigned int));
|
||||
void EXFUN(listing_source_file,(char *));
|
||||
|
||||
#define LISTING_LISTING 1
|
||||
#define LISTING_SYMBOLS 2
|
||||
#define LISTING_NOFORM 4
|
||||
#define LISTING_DEFAULT 3
|
||||
#define LISTING_HLL 8
|
||||
#define LISTING_NODEBUG 16
|
||||
|
||||
#define LISTING_DEFAULT (LISTING_LISTING | LISTING_HLL | LISTING_SYMBOLS)
|
||||
|
||||
/* end of listing.h */
|
||||
|
|
|
@ -413,4 +413,4 @@ char *Format;
|
|||
} /* as_fatal() */
|
||||
#endif
|
||||
|
||||
/* end: messages.c */
|
||||
/* end of messages.c */
|
||||
|
|
|
@ -117,6 +117,6 @@ char *filename;
|
|||
}
|
||||
}
|
||||
} /* output_file_append() */
|
||||
|
||||
/* end: output-file.c */
|
||||
#endif
|
||||
|
||||
/* end of output-file.c */
|
||||
|
|
|
@ -132,4 +132,4 @@ void s_text();
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end: read.h */
|
||||
/* end of read.h */
|
||||
|
|
|
@ -304,4 +304,4 @@ register subsegT subseg;
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end: subsegs.c */
|
||||
/* end of subsegs.c */
|
||||
|
|
|
@ -84,4 +84,4 @@ extern frchainS * data0_frchainP;
|
|||
|
||||
#endif
|
||||
|
||||
/* end: subsegs.h */
|
||||
/* end of subsegs.h */
|
||||
|
|
|
@ -652,4 +652,4 @@ char *s;
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end: symbols.c */
|
||||
/* end of symbols.c */
|
||||
|
|
|
@ -76,4 +76,4 @@ void verify_symbol_chain();
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end: symbols.h */
|
||||
/* end of symbols.h */
|
||||
|
|
2
gas/tc.h
2
gas/tc.h
|
@ -105,4 +105,4 @@ void tc_crawl_symbol_chain();
|
|||
* End:
|
||||
*/
|
||||
|
||||
/* end of tp.h */
|
||||
/* end of tc.h */
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
#if defined(__STDC__) || defined(const)
|
||||
const
|
||||
#endif
|
||||
char version_string[] = "GNU assembler version 1.90.1 (Cygnus Support pre-release)\n";
|
||||
|
||||
|
||||
/* DO NOT PUT COMMENTS ABOUT CHANGES IN THIS FILE.
|
||||
|
||||
This file exists only to define `version_string'.
|
||||
|
@ -13,7 +12,7 @@ const
|
|||
|
||||
Thu Jan 1 00:00:00 1970 Dennis Ritchie (dmr at alice)
|
||||
|
||||
* universe.c (temporal_reality): Began Time.
|
||||
universe.c (temporal_reality): Began Time.
|
||||
*/
|
||||
|
||||
#ifdef VMS
|
||||
|
@ -21,3 +20,7 @@ dummy3()
|
|||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
char version_string[] = "GNU assembler version 1.91 (Cygnus Support pre-release)\n";
|
||||
|
||||
/* end of version.c */
|
||||
|
|
|
@ -66,4 +66,4 @@ long n;
|
|||
return (retval);
|
||||
}
|
||||
|
||||
/* end: xmalloc.c */
|
||||
/* end of xmalloc.c */
|
||||
|
|
|
@ -65,4 +65,4 @@ long n;
|
|||
return (ptr);
|
||||
}
|
||||
|
||||
/* end: xrealloc.c */
|
||||
/* end of xrealloc.c */
|
||||
|
|
Loading…
Reference in a new issue