bootstrap/3589: GCC 3.0-CVS illegal instruction on hppa1.1-proelf

Joel Sherrill joel.sherrill@OARcorp.com
Tue Mar 26 09:55:00 GMT 2002



Vladimir Makarov wrote:
> 
> 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

Thanks.

Could the __PRO__ (or something similar) be part of the cpp predefines
for this
configuration so non-gcc assembly can do the right thing?  I know that
at least
libgloss and RTEMS have hppa assembly.

Of course, this all begs the bigger question... how many embedded hppa
users
are there really? :)
 
> 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

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel@OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985



More information about the Gcc-bugs mailing list