More PA ELF/SOM cleanups

Jeffrey A Law law@cygnus.com
Thu Jul 8 13:47:00 GMT 1999


ASM_FILE_START has ELF/SOM dependencies, and thus needs to be handled
entirely by the elf/som files.


        * pa/elf.h (ASM_FILE_START): Define.
        * pa/som.h (ASM_FILE_START): Include .level directives.
        * pa/hpux10.h (ASM_FILE_START): Delete.
        * pa/hpux11.h (ASM_FILE_START): Delete.

Index: elf.h
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/pa/elf.h,v
retrieving revision 1.2
diff -c -3 -p -r1.2 elf.h
*** elf.h	1999/07/08 11:57:41	1.2
--- elf.h	1999/07/08 20:42:23
*************** Boston, MA 02111-1307, USA.  */
*** 41,43 ****
--- 41,59 ----
  { fputs ("\t.word ", FILE);			\
    output_addr_const (FILE, (VALUE));		\
    fputs ("\n", FILE);}
+ 
+ #undef ASM_FILE_START
+ #define ASM_FILE_START(FILE) \
+ do {  \
+      if (TARGET_PA_20) \
+        fputs("\t.LEVEL 2.0\n", FILE); \
+      else if (TARGET_PA_11) \
+        fputs("\t.LEVEL 1.1\n", FILE); \
+      else \
+        fputs("\t.LEVEL 1.0\n", FILE); \
+      if (profile_flag)\
+        fprintf (FILE, "\t.IMPORT _mcount, CODE\n");\
+      if (write_symbols != NO_DEBUG) \
+        output_file_directive ((FILE), main_input_filename); \
+    } while (0)
+ 
Index: pa-hpux10.h
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/pa/pa-hpux10.h,v
retrieving revision 1.8
diff -c -3 -p -r1.8 pa-hpux10.h
*** pa-hpux10.h	1999/04/26 00:54:47	1.8
--- pa-hpux10.h	1999/07/08 20:42:24
*************** Boston, MA 02111-1307, USA.  */
*** 41,71 ****
         %{p: -L/lib/libp/ -lc}\
         %{pg: -L/lib/libp/ -lc}}}"
  
- /* The hpux10 assembler requires a .LEVEL pseudo-op at the start of
-    the assembly file.  */
- #undef ASM_FILE_START
- #define ASM_FILE_START(FILE) \
- do {  \
-      if (TARGET_PA_20) \
-        fputs("\t.LEVEL 2.0\n", FILE); \
-      else if (TARGET_PA_11) \
-        fputs("\t.LEVEL 1.1\n", FILE); \
-      else \
-        fputs("\t.LEVEL 1.0\n", FILE); \
-      fputs ("\t.SPACE $PRIVATE$\n\
- \t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31\n\
- \t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82\n\
- \t.SPACE $TEXT$\n\
- \t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44\n\
- \t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n\
- \t.IMPORT $global$,DATA\n\
- \t.IMPORT $$dyncall,MILLICODE\n", FILE);\
-      if (profile_flag)\
-        fprintf (FILE, "\t.IMPORT _mcount, CODE\n");\
-      if (write_symbols != NO_DEBUG) \
-        output_file_directive ((FILE), main_input_filename); \
-    } while (0)
- 
  /* Under hpux10, the normal location of the `ld' and `as' programs is the
     /usr/ccs/bin directory.  */
  
--- 41,46 ----
Index: pa-hpux11.h
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/pa/pa-hpux11.h,v
retrieving revision 1.1
diff -c -3 -p -r1.1 pa-hpux11.h
*************** Boston, MA 02111-1307, USA.  */
*** 39,69 ****
           %{threads:-lcma -lc_r}}\
         %{p: -L/lib/libp/ -lc}\
         %{pg: -L/lib/libp/ -lc}}}"
- 
- /* The hpux11 assembler requires a .LEVEL pseudo-op at the start of the
-    assembly file.  */
- #undef ASM_FILE_START
- #define ASM_FILE_START(FILE) \
- do {  \
-      if (TARGET_PA_20) \
-        fputs("\t.LEVEL 2.0\n", FILE); \
-      else if (TARGET_PA_11) \
-        fputs("\t.LEVEL 1.1\n", FILE); \
-      else \
-        fputs("\t.LEVEL 1.0\n", FILE); \
-      fputs ("\t.SPACE $PRIVATE$\n\
- \t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31\n\
- \t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82\n\
- \t.SPACE $TEXT$\n\
- \t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44\n\
- \t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY\n\
- \t.IMPORT $global$,DATA\n\
- \t.IMPORT $$dyncall,MILLICODE\n", FILE);\
-      if (profile_flag)\
-        fprintf (FILE, "\t.IMPORT _mcount, CODE\n");\
-      if (write_symbols != NO_DEBUG) \
-        output_file_directive ((FILE), main_input_filename); \
-    } while (0)
  
  /* Under hpux11, the normal location of the `ld' and `as' programs is the
     /usr/ccs/bin directory.  */
--- 39,44 ----
Index: som.h
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/pa/som.h,v
retrieving revision 1.1
diff -c -3 -p -r1.1 som.h
*** som.h	1999/06/30 06:11:46	1.1
--- som.h	1999/07/08 20:42:24
*************** while (0)
*** 281,287 ****
  /* Output at beginning of assembler file.  */
  
  #define ASM_FILE_START(FILE) \
! do { fputs ("\t.SPACE $PRIVATE$\n\
  \t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31\n\
  \t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82\n\
  \t.SPACE $TEXT$\n\
--- 281,294 ----
  /* Output at beginning of assembler file.  */
  
  #define ASM_FILE_START(FILE) \
! do {  \
!      if (TARGET_PA_20) \
!        fputs("\t.LEVEL 2.0\n", FILE); \
!      else if (TARGET_PA_11) \
!        fputs("\t.LEVEL 1.1\n", FILE); \
!      else \
!        fputs("\t.LEVEL 1.0\n", FILE); \
!      fputs ("\t.SPACE $PRIVATE$\n\
  \t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31\n\
  \t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82\n\
  \t.SPACE $TEXT$\n\




More information about the Gcc-patches mailing list