andy@CSVAX.CALTECH.EDU (Andy Fyfe) (09/25/89)
The problem is the new definition of the macro "ASM_OUTPUT_SKIP"
for the 3b1. The warnings and errors from the compile follow:
gcc -c -O -I. -I. -I./config varasm.c
varasm.c: In function assemble_variable:
varasm.c:561: warning: comparison between pointer and integer
varasm.c: In function output_constant:
varasm.c:1813: warning: comparison between pointer and integer
varasm.c: In function output_constructor:
varasm.c:1874: warning: comparison between pointer and integer
varasm.c:1926: warning: comparison between pointer and integer
varasm.c:1990: warning: comparison between pointer and integer
gcc -c -O -I. -I. -I./config final.c
final.c: In function end_final:
final.c:278: `in_section' undeclared (first use this function)
final.c:278: (Each undeclared identifier is reported only once
final.c:278: for each function it appears in.)
final.c:278: `text_section' undeclared (first use this function)
*** Error code 1
The following patches fix the problem:
*** save/tm-3b1.h Sun Sep 24 21:34:24 1989
--- config/tm-3b1.h Sun Sep 24 21:38:57 1989
***************
*** 148,152 ****
#undef ASM_OUTPUT_SKIP
#define ASM_OUTPUT_SKIP(FILE,SIZE) \
! if (in_section == text_section) \
{ \
int i; \
--- 148,152 ----
#undef ASM_OUTPUT_SKIP
#define ASM_OUTPUT_SKIP(FILE,SIZE) \
! if (is_text_section ()) \
{ \
int i; \
*** save/varasm.c Sun Sep 24 21:34:06 1989
--- varasm.c Sun Sep 24 21:34:47 1989
***************
*** 96,99 ****
--- 96,105 ----
}
+ int
+ is_text_section ()
+ {
+ return in_section == in_text;
+ }
+
/* Tell assembler to switch to data section. */