This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: bootstrap/3589: GCC 3.0-CVS illegal instruction on hppa1.1-proelf
- From: Vladimir Makarov <vmakarov at redhat dot com>
- To: gcc-gnats at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, vmakarov at gcc dot gnu dot org, joel at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 26 Mar 2002 12:07:51 -0500
- Subject: Re: bootstrap/3589: GCC 3.0-CVS illegal instruction on hppa1.1-proelf
Joel Sherrill wrote:
>Is there any ifdef to check and decide which directives to use?
>
> And if there is any reference mapping between them, I would appreciate
> knowing about it.
Here is the path solving the problem.
You could find a description of the pseudoops and mapping them into elf
sections in
http://segfault.net/~scut/cpu/hppa/HP_Assembler_Reference_Manual_HP9000_9th_Ed.pdf
2002-03-26 Vladimir Makarov <vmakarov@redhat.com>
* pa/t-pro (TARGET_LIBGCC2_CFLAGS): New macro.
* pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __PRO__ is
defined.
Index: pa/lib2funcs.asm
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/lib2funcs.asm,v
retrieving revision 1.6
diff -c -p -r1.6 lib2funcs.asm
*** lib2funcs.asm 2001/04/16 18:30:45 1.6
--- lib2funcs.asm 2002/03/26 16:57:10
***************
*** 28,33 ****
--- 28,34 ----
; the Free Software Foundation, 59 Temple Place - Suite 330,
; Boston, MA 02111-1307, USA.
+ #ifndef __PRO__
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
***************
*** 35,45 ****
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SUBSPA $MILLICODE$,QUAD=0,ALIGN=8,ACCESS=44,SORT=8
!
.IMPORT $$dyncall,MILLICODE
.SPACE $TEXT$
.SUBSPA $CODE$
!
; Simply call with the address of the desired import stub in %r22 and
; arguments in the normal place (%r26-%r23 and stack slots).
;
--- 36,49 ----
.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SUBSPA $MILLICODE$,QUAD=0,ALIGN=8,ACCESS=44,SORT=8
! #endif
.IMPORT $$dyncall,MILLICODE
+ #ifndef __PRO__
.SPACE $TEXT$
.SUBSPA $CODE$
! #else
! .text
! #endif
; Simply call with the address of the desired import stub in %r22 and
; arguments in the normal place (%r26-%r23 and stack slots).
;
Index: pa/t-pro
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/t-pro,v
retrieving revision 1.8
diff -c -p -r1.8 t-pro
*** t-pro 2002/02/16 22:30:35 1.8
--- t-pro 2002/03/26 16:57:10
*************** T_ADAFLAGS=-mdisable-indexing
*** 2,7 ****
--- 2,11 ----
LIB2FUNCS_EXTRA=lib2funcs.asm
+ # The following macro definition is used to switch off usage of .SPACE
+ # and .SUBSPACE pseudo-ops in lib2funcs.asm for elf targets.
+ TARGET_LIBGCC2_CFLAGS=-D__PRO__
+
# We want fine grained libraries, so use the new code to build the
# floating point emulation libraries.
FPBIT = fp-bit.c
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3589