(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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27680
138bc75d-0d04-0410-961f-
82ee72b054a4
+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,
{
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
case 5:
if (which_pass != PASS_LIB)
add_to_list (&frame_tables, name);
+ break;
default: /* not a constructor or destructor */
continue;
#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)
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
} \
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. */
/* 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
#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 () \