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:
Richard Henderson 1999-06-21 13:20:26 -07:00 committed by Richard Henderson
parent b8794099b7
commit 6690d24c2c
5 changed files with 30 additions and 5 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -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 () \