Commit 17704846 by Jim Wilson

*** empty log message ***

From-SVN: r917
parent feb69c20
...@@ -448,7 +448,7 @@ main (argc, argv) ...@@ -448,7 +448,7 @@ main (argc, argv)
{ {
char *q = p; char *q = p;
while (*q && *q != ' ') q++; while (*q && *q != ' ') q++;
if (*p == '-' && (p[1] == 'm' || p[1] == 'f')) if (*p == '-' && p[1] == 'm')
num_c_args++; num_c_args++;
if (*q) q++; if (*q) q++;
...@@ -965,14 +965,14 @@ write_c_file (stream, name) ...@@ -965,14 +965,14 @@ write_c_file (stream, name)
fprintf (stream, "typedef void entry_pt();\n\n"); fprintf (stream, "typedef void entry_pt();\n\n");
write_list_with_asm (stream, "entry_pt ", constructors.first); write_list_with_asm (stream, "extern entry_pt ", constructors.first);
fprintf (stream, "\nentry_pt * __CTOR_LIST__[] = {\n"); fprintf (stream, "\nentry_pt * __CTOR_LIST__[] = {\n");
fprintf (stream, "\t(entry_pt *) %d,\n", constructors.number); fprintf (stream, "\t(entry_pt *) %d,\n", constructors.number);
write_list (stream, "\t", constructors.first); write_list (stream, "\t", constructors.first);
fprintf (stream, "\t0\n};\n\n"); fprintf (stream, "\t0\n};\n\n");
write_list_with_asm (stream, "entry_pt ", destructors.first); write_list_with_asm (stream, "extern entry_pt ", destructors.first);
fprintf (stream, "\nentry_pt * __DTOR_LIST__[] = {\n"); fprintf (stream, "\nentry_pt * __DTOR_LIST__[] = {\n");
fprintf (stream, "\t(entry_pt *) %d,\n", destructors.number); fprintf (stream, "\t(entry_pt *) %d,\n", destructors.number);
...@@ -1136,11 +1136,12 @@ scan_prog_file (prog_name, which_pass) ...@@ -1136,11 +1136,12 @@ scan_prog_file (prog_name, which_pass)
#ifdef OBJECT_FORMAT_COFF #ifdef OBJECT_FORMAT_COFF
#if defined(EXTENDED_COFF) #if defined(EXTENDED_COFF)
# define GCC_SYMBOLS(X) (SYMHEADER(X).isymMax+SYMHEADER(X).iextMax) # define GCC_SYMBOLS(X) (SYMHEADER(X).isymMax + SYMHEADER(X).iextMax)
# define GCC_SYMENT SYMR # define GCC_SYMENT SYMR
# define GCC_OK_SYMBOL(X) ((X).st == stProc && (X).sc == scText) # define GCC_OK_SYMBOL(X) ((X).st == stProc && (X).sc == scText)
# define GCC_SYMINC(X) (1) # define GCC_SYMINC(X) (1)
# define GCC_SYMZERO(X) (SYMHEADER(X).isymMax) # define GCC_SYMZERO(X) (SYMHEADER(X).isymMax)
# define GCC_CHECK_HDR(X) (PSYMTAB(X) != 0)
#else #else
# define GCC_SYMBOLS(X) (HEADER(ldptr).f_nsyms) # define GCC_SYMBOLS(X) (HEADER(ldptr).f_nsyms)
# define GCC_SYMENT SYMENT # define GCC_SYMENT SYMENT
...@@ -1150,6 +1151,7 @@ scan_prog_file (prog_name, which_pass) ...@@ -1150,6 +1151,7 @@ scan_prog_file (prog_name, which_pass)
((X).n_type & N_TMASK) == (DT_FCN << N_BTSHFT))) ((X).n_type & N_TMASK) == (DT_FCN << N_BTSHFT)))
# define GCC_SYMINC(X) ((X).n_numaux+1) # define GCC_SYMINC(X) ((X).n_numaux+1)
# define GCC_SYMZERO(X) 0 # define GCC_SYMZERO(X) 0
# define GCC_CHECK_HDR(X) (1)
#endif #endif
extern char *ldgetname (); extern char *ldgetname ();
...@@ -1180,6 +1182,8 @@ scan_prog_file (prog_name, which_pass) ...@@ -1180,6 +1182,8 @@ scan_prog_file (prog_name, which_pass)
if (!ISCOFF (HEADER(ldptr).f_magic)) if (!ISCOFF (HEADER(ldptr).f_magic))
fatal ("%s: not a COFF file", prog_name); fatal ("%s: not a COFF file", prog_name);
if (GCC_CHECK_HDR (ldptr))
{
sym_count = GCC_SYMBOLS (ldptr); sym_count = GCC_SYMBOLS (ldptr);
sym_index = GCC_SYMZERO (ldptr); sym_index = GCC_SYMZERO (ldptr);
while (sym_index < sym_count) while (sym_index < sym_count)
...@@ -1230,6 +1234,7 @@ scan_prog_file (prog_name, which_pass) ...@@ -1230,6 +1234,7 @@ scan_prog_file (prog_name, which_pass)
#endif #endif
} }
} }
}
(void) ldclose(ldptr); (void) ldclose(ldptr);
} }
......
...@@ -1729,7 +1729,7 @@ i960_alignment (size, align) ...@@ -1729,7 +1729,7 @@ i960_alignment (size, align)
/* Modes for quad-float quantities. */ /* Modes for quad-float quantities. */
#define TF_MODES (DF_MODES | (1 << (int) TFmode) | (1 << (int) DCmode)) #define TF_MODES (DF_MODES | (1 << (int) TFmode) | (1 << (int) DCmode))
short hard_regno_mode_ok[FIRST_PSEUDO_REGISTER] = { unsigned int hard_regno_mode_ok[FIRST_PSEUDO_REGISTER] = {
T_MODES, S_MODES, D_MODES, S_MODES, T_MODES, S_MODES, D_MODES, S_MODES, T_MODES, S_MODES, D_MODES, S_MODES, T_MODES, S_MODES, D_MODES, S_MODES,
T_MODES, S_MODES, D_MODES, S_MODES, T_MODES, S_MODES, D_MODES, S_MODES, T_MODES, S_MODES, D_MODES, S_MODES, T_MODES, S_MODES, D_MODES, S_MODES,
T_MODES, S_MODES, D_MODES, S_MODES, T_MODES, S_MODES, D_MODES, S_MODES, T_MODES, S_MODES, D_MODES, S_MODES, T_MODES, S_MODES, D_MODES, S_MODES,
......
...@@ -471,7 +471,7 @@ extern int target_flags; ...@@ -471,7 +471,7 @@ extern int target_flags;
/* Value is 1 if hard register REGNO can hold a value of machine-mode MODE. /* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.
On 80960, the cpu registers can hold any mode but the float registers On 80960, the cpu registers can hold any mode but the float registers
can only hold SFmode, DFmode, or TFmode. */ can only hold SFmode, DFmode, or TFmode. */
extern short hard_regno_mode_ok[FIRST_PSEUDO_REGISTER]; extern unsigned int hard_regno_mode_ok[FIRST_PSEUDO_REGISTER];
#define HARD_REGNO_MODE_OK(REGNO, MODE) \ #define HARD_REGNO_MODE_OK(REGNO, MODE) \
((hard_regno_mode_ok[REGNO] & (1 << (int) (MODE))) != 0) ((hard_regno_mode_ok[REGNO] & (1 << (int) (MODE))) != 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment