force all files to end in "/* end of filename"

This commit is contained in:
K. Richard Pixley 1992-02-13 09:13:54 +00:00
parent 1d63ba3ba0
commit 8b228fe958
54 changed files with 4140 additions and 4095 deletions

View file

@ -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 */

View file

@ -59,4 +59,4 @@ extern int toupper();
* End:
*/
/* end of ho-sun4.h */
/* end of ho-sunos.h */

View file

@ -512,4 +512,4 @@ extern SCNHDR text_section_header;
* End:
*/
/* end of obj-coff.h */
/* end of obj-coffbfd.h */

View file

@ -23,3 +23,5 @@ int lineno_rootP;
#define IEEE_STYLE
/* end of obj-ieee.h */

View file

@ -15,3 +15,5 @@ struct ranlib {
} ran_un;
off_t ran_off; /* library member at this offset */
};
/* end of ranlib.h */

View file

@ -39,3 +39,5 @@ int sig_number ();
void psignal ();
#endif
/* end of signame.h */

View file

@ -14,3 +14,5 @@
#undef __define_stab
#endif /* __GNU_STAB_ */
/* end of stab.h */

View file

@ -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 */

View file

@ -1291,3 +1291,5 @@ bfd_vma base;
}
/* end of tc-h8300.c */

View file

@ -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 */

View file

@ -1232,4 +1232,4 @@ long val;
* comment-column: 0
*/
/* end of i860.c */
/* end of tc-i860.c */

View file

@ -2756,4 +2756,4 @@ symbolS *symbolP;
* End:
*/
/* end of i960.c */
/* end of tc-i960.c */

View file

@ -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 */

View file

@ -281,4 +281,5 @@
{"pvalid", two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s" },
#endif /* m68851 */
/* end pmmu.h */
/* end of tc-m68851.h */

View file

@ -4508,4 +4508,4 @@ void s_chip()
* End:
*/
/* end of tc-m68k.c */
/* end of tc-m68kmote.c */

View file

@ -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 */

View file

@ -1796,4 +1796,4 @@ void tc_aout_pre_write_hook(headers)
* End:
*/
/* end of tp-sparc.c */
/* end of tc-sparc.c */

View file

@ -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 */

View file

@ -3334,3 +3334,5 @@ fixS *fixP;
{
return fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address;
}
/* end of tc-vax.c */

View file

@ -5,3 +5,4 @@
/* The magic number is not the usual MC68MAGIC. */
#define FILE_HEADER_MAGIC MC68KBCSMAGIC
/* end of te-dpx2.h */

View file

@ -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 */

View file

@ -1,2 +1,4 @@
/* Remove leading underscore from the gcc generated symbol names */
#define STRIP_UNDERSCORE
/* end of te-sysv32.h */

View file

@ -74,4 +74,4 @@ struct vit /* vax instruction tree */
char * vit_error; /* "" or error text */
};
/* end: vax-inst.h */
/* end of vax-inst.h */

View file

@ -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 */

View file

@ -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 */

View file

@ -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 */

View file

@ -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

View file

@ -77,3 +77,5 @@ var_chars( fp, n )
printf("%02x ", *p );
}
}
/* end of debug.c */

View file

@ -953,4 +953,4 @@ unsigned int get_single_number()
* End:
*/
/* end: expr.c */
/* end of expr.c */

View file

@ -78,4 +78,4 @@ unsigned int get_single_number();
#endif /* __STDC__ */
/* end: expr.h */
/* end of expr.h */

View file

@ -154,4 +154,4 @@ dummy1()
{
}
#endif
/* end: flonum_const.c */
/* end of flonum_const.c */

View file

@ -74,4 +74,4 @@ FLONUM_TYPE * out;
} /* if any significant bits */
}
/* end: flonum_copy.c */
/* end of flonum_copy.c */

View file

@ -196,4 +196,4 @@ FLONUM_TYPE *product;
product -> exponent = exponent;
}
/* end: flonum_multip.c */
/* end of flonum_mult.c */

View file

@ -117,4 +117,4 @@ void flonum_multip();
#define ERROR_EXPONENT_OVERFLOW (2)
/* end: flonum.h */
/* end of flonum.h */

View file

@ -288,4 +288,4 @@ int fill_character;
(long)alignment, (char *)0)) = fill_character;
} /* frag_align() */
/* end: frags.c */
/* end of frags.c */

View file

@ -81,4 +81,4 @@ void frag_wane();
* End:
*/
/* end: frags.h */
/* end of frags.h */

View file

@ -985,4 +985,4 @@ whattable() /* determine number: what hash table to use */
#endif /* #ifdef TEST */
/* end: hash.c */
/* end of hash.c */

View file

@ -56,4 +56,4 @@ char * hash_find(); /* value */
char * hash_jam(); /* error text (internal) */
#endif /* #ifdef hashH */
/* end: hash.c */
/* end of hash.c */

View file

@ -52,4 +52,5 @@ dummy2()
{
}
#endif
/* end:hex_value.c */
/* end of hex_value.c */

View file

@ -320,3 +320,5 @@ char * where; /* Where to place 1st character of new buffer. */
}
return (return_value);
}
/* end of input-file.c */

View file

@ -81,4 +81,4 @@ void input_file_pop();
#endif /* __STDC__ */
/* end: input_file.h */
/* end of input_file.h */

View file

@ -452,4 +452,4 @@ FILE *stream;
* End:
*/
/* end: input_scrub.c */
/* end of input_scrub.c */

View file

@ -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 */

View file

@ -413,4 +413,4 @@ char *Format;
} /* as_fatal() */
#endif
/* end: messages.c */
/* end of messages.c */

View file

@ -117,6 +117,6 @@ char *filename;
}
}
} /* output_file_append() */
/* end: output-file.c */
#endif
/* end of output-file.c */

View file

@ -132,4 +132,4 @@ void s_text();
* End:
*/
/* end: read.h */
/* end of read.h */

View file

@ -304,4 +304,4 @@ register subsegT subseg;
* End:
*/
/* end: subsegs.c */
/* end of subsegs.c */

View file

@ -84,4 +84,4 @@ extern frchainS * data0_frchainP;
#endif
/* end: subsegs.h */
/* end of subsegs.h */

View file

@ -652,4 +652,4 @@ char *s;
* End:
*/
/* end: symbols.c */
/* end of symbols.c */

View file

@ -76,4 +76,4 @@ void verify_symbol_chain();
* End:
*/
/* end: symbols.h */
/* end of symbols.h */

View file

@ -105,4 +105,4 @@ void tc_crawl_symbol_chain();
* End:
*/
/* end of tp.h */
/* end of tc.h */

View file

@ -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 */

View file

@ -66,4 +66,4 @@ long n;
return (retval);
}
/* end: xmalloc.c */
/* end of xmalloc.c */

View file

@ -65,4 +65,4 @@ long n;
return (ptr);
}
/* end: xrealloc.c */
/* end of xrealloc.c */