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