collect2.c (main): Log frame table count.
* collect2.c (main): Log frame table count. (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal. (scan_prog_file) [COFF]: Handle frame tables. * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define. (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define. * alpha/elf.h: Undef them again. * alpha/vms.h: Remove their definitions. From-SVN: r27680
This commit is contained in:
parent
b8794099b7
commit
6690d24c2c
@ -1,3 +1,14 @@
|
||||
Mon Jun 21 20:10:42 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* collect2.c (main): Log frame table count.
|
||||
(GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
|
||||
(scan_prog_file) [COFF]: Handle frame tables.
|
||||
|
||||
* alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
|
||||
(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
|
||||
* alpha/elf.h: Undef them again.
|
||||
* alpha/vms.h: Remove their definitions.
|
||||
|
||||
Tue Jun 22 03:17:53 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* sh.c (machine_dependent_reorg): When fixing up fp pcloads,
|
||||
|
@ -1567,6 +1567,7 @@ main (argc, argv)
|
||||
{
|
||||
notice ("%d constructor(s) found\n", constructors.number);
|
||||
notice ("%d destructor(s) found\n", destructors.number);
|
||||
notice ("%d frame table(s) found\n", frame_tables.number);
|
||||
}
|
||||
|
||||
if (constructors.number == 0 && destructors.number == 0
|
||||
@ -2389,6 +2390,7 @@ scan_prog_file (prog_name, which_pass)
|
||||
case 5:
|
||||
if (which_pass != PASS_LIB)
|
||||
add_to_list (&frame_tables, name);
|
||||
break;
|
||||
|
||||
default: /* not a constructor or destructor */
|
||||
continue;
|
||||
@ -2833,7 +2835,7 @@ scan_libraries (prog_name)
|
||||
#if defined(EXTENDED_COFF)
|
||||
# define GCC_SYMBOLS(X) (SYMHEADER(X).isymMax + SYMHEADER(X).iextMax)
|
||||
# define GCC_SYMENT SYMR
|
||||
# define GCC_OK_SYMBOL(X) ((X).st == stProc && (X).sc == scText)
|
||||
# define GCC_OK_SYMBOL(X) ((X).st == stProc || (X).st == stGlobal)
|
||||
# define GCC_SYMINC(X) (1)
|
||||
# define GCC_SYMZERO(X) (SYMHEADER(X).isymMax)
|
||||
# define GCC_CHECK_HDR(X) (PSYMTAB(X) != 0)
|
||||
@ -2974,6 +2976,11 @@ scan_prog_file (prog_name, which_pass)
|
||||
break;
|
||||
#endif
|
||||
|
||||
case 5:
|
||||
if (! is_shared)
|
||||
add_to_list (&frame_tables, name);
|
||||
break;
|
||||
|
||||
default: /* not a constructor or destructor */
|
||||
#ifdef COLLECT_EXPORT_LIST
|
||||
/* If we are building a shared object on AIX we need
|
||||
|
@ -2145,6 +2145,11 @@ literal_section () \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* To get unaligned data, we have to turn off auto alignment. */
|
||||
#define UNALIGNED_SHORT_ASM_OP ".align 0\n\t.word"
|
||||
#define UNALIGNED_INT_ASM_OP ".align 0\n\t.long"
|
||||
#define UNALIGNED_DOUBLE_INT_ASM_OP ".align 0\n\t.quad"
|
||||
|
||||
/* This is how to output an insn to push a register on the stack.
|
||||
It need not be very fast code. */
|
||||
|
||||
|
@ -526,3 +526,9 @@ do { \
|
||||
|
||||
/* We support #pragma. */
|
||||
#define HANDLE_SYSV_PRAGMA
|
||||
|
||||
/* Undo the auto-alignment stuff from alpha.h. ELF has unaligned data
|
||||
pseudos natively. */
|
||||
#undef UNALIGNED_SHORT_ASM_OP
|
||||
#undef UNALIGNED_INT_ASM_OP
|
||||
#undef UNALIGNED_DOUBLE_INT_ASM_OP
|
||||
|
@ -439,10 +439,6 @@ extern int vms_valid_decl_attribute_p ();
|
||||
#define ASM_OUTPUT_ALIGN(FILE,LOG) \
|
||||
fprintf (FILE, "\t.align %d\n", LOG);
|
||||
|
||||
#define UNALIGNED_SHORT_ASM_OP ".word"
|
||||
#define UNALIGNED_INT_ASM_OP ".long"
|
||||
#define UNALIGNED_DOUBLE_INT_ASM_OP ".quad"
|
||||
|
||||
#define ASM_OUTPUT_SECTION(FILE,SECTION) \
|
||||
(strcmp (SECTION, ".text") == 0) \
|
||||
? text_section () \
|
||||
|
Loading…
Reference in New Issue
Block a user