newlib hppa 1.1 newlib patch was Re: FIX was [Fwd: gcc 3.1 hppa failures]
Joel Sherrill
joel.sherrill@OARcorp.com
Fri Apr 26 16:13:00 GMT 2002
Thanks Jeff.
The attached patch is an attempt to implement this for
newlib/libc/machine/sys/hppa. It now compiles. Could
you review the attached patch newlib-hppa.diff please?
libgloss/pa is now the failure point.
make[2]: Leaving directory
`/opt/usr3/ftp_archive/gnu/gcc/ss/b3.1-branch/b-hppa1.1-proelf/hppa1.1-proelf/libgloss/libnosys'
make[2]: Entering directory
`/opt/usr3/ftp_archive/gnu/gcc/ss/b3.1-branch/b-hppa1.1-proelf/hppa1.1-proelf/libgloss/pa'
make[2]: *** No targets specified and no makefile found. Stop.
I have addressed all differences between the m68k and pa configure.in
files locally but it still does not seem to fix it.
Thanks.
law@redhat.com wrote:
>
> In message <3CC95504.19F3ACBA@OARcorp.com>, Joel Sherrill writes:
> > This is a multi-part message in MIME format.
> > --------------0354A57B47FD6107ACFD7FBF
> > Content-Type: text/plain; charset=us-ascii
> > Content-Transfer-Encoding: 7bit
> >
> >
> > With the patch in the attached email, I can build much further.
> > At this point, the problems are newlib and libgloss. newlib's
> > libc/machine/pa assembly code uses subspa directives and
> > libgloss has a Makefile problem where it reports not having
> > a target.
> >
> > My PA assembly language is WAY too rusty to attempt to fix
> > newlib at this point.
> It ought to be pretty simple.
>
> .space $text$
> .subspace $code$
>
> Translates to:
>
> .text
>
> .space $text$
> .subspace $lit$
>
> Translates to:
>
> .rodata
>
> .space $private$
> .subspa $data
>
> Translates to:
>
> .data
>
> .space $private$
> .subspa $bss$
>
> Translates to:
>
> .bss
>
> > So please review and commit the
> > attached patch to the 3.1 and main trunks. This will close
> > PR6455.
> It looks good to me.
> jeff
--
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
-------------- next part --------------
Index: DEFS.h
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/hppa/DEFS.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 DEFS.h
--- DEFS.h 17 Feb 2000 19:39:46 -0000 1.1.1.1
+++ DEFS.h 26 Apr 2002 22:47:10 -0000
@@ -24,6 +24,29 @@
#define EXIT(Name) BLANK M_EXIT (Name,PROF_/**/Name)
#define EXITC(Name) BLANK M_EXITC (Name,PROF_/**/Name)
+#if 0
+#define TEXT_SEGMENT \
+ .SPACE $TEXT$ !\
+ .SUBSPA $CODE$
+#define RO_SEGMENT \
+ .SPACE $TEXT$ !\
+ .SUBSPA $lit$
+#define DATA_SEGMENT \
+ .SPACE $PRIVATE$ !\
+ .SUBSPA $data$
+#define BSS_SEGMENT \
+ .SPACE $PRIVATE$ !\
+ .SUBSPA $bss$
+#else
+#define TEXT_SEGMENT .text
+#define RO_SEGMENT .rodata
+#define DATA_SEGMENT .data
+#define BSS_SEGMENT .bss
+#endif
+
+
+
+
#ifdef PROF
;
@@ -36,8 +59,7 @@
; profile data).
;
#define M_ENTRY(name,prof) \
- .SPACE $TEXT$ !\
- .SUBSPA $CODE$ !\
+ TEXT_SEGMENT !\
.label name !\
.PROC !\
.CALLINFO CALLER,SAVE_RP !\
@@ -63,8 +85,7 @@
#define M_ENTRYC(name,prof) \
- .SPACE $TEXT$ !\
- .SUBSPA $CODE$ !\
+ TEXT_SEGMENT !\
.label name !\
.PROC !\
.CALLINFO CALLER,SAVE_RP !\
@@ -97,8 +118,7 @@
.EXIT !\
.PROCEND !\
.EXPORT name,ENTRY !\
- .SPACE $PRIVATE$ !\
- .SUBSPA $DATA$ !\
+ DATA_SEGMENT !\
.label prof !\
.WORD 0 !\
.IMPORT $global$,DATA !\
@@ -110,8 +130,7 @@
.EXIT !\
.PROCEND !\
.EXPORT name,ENTRY !\
- .SPACE $PRIVATE$ !\
- .SUBSPA $DATA$ !\
+ DATA_SEGMENT !\
.label prof !\
.WORD 0 !\
.IMPORT $global$,DATA !\
@@ -120,16 +139,14 @@
#else /* NOT profiling */
#define M_ENTRY(name,prof) \
- .SPACE $TEXT$ !\
- .SUBSPA $CODE$ !\
+ TEXT_SEGMENT !\
.label name !\
.PROC !\
.CALLINFO !\
.ENTRY
#define M_ENTRYC(name,prof) \
- .SPACE $TEXT$ !\
- .SUBSPA $CODE$ !\
+ TEXT_SEGMENT !\
.label name !\
.PROC !\
.CALLINFO CALLER,SAVE_RP !\
@@ -158,3 +175,4 @@
#endif
+
Index: pcc_prefix.s
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/hppa/pcc_prefix.s,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 pcc_prefix.s
--- pcc_prefix.s 17 Feb 2000 19:39:46 -0000 1.1.1.1
+++ pcc_prefix.s 26 Apr 2002 22:47:10 -0000
@@ -334,6 +334,7 @@
; Software Architecture Pseudo Registers
previous_sp: .equ 64 ; old stack pointer (locates previous frame)
+#if 0
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Standard space and subspace definitions. version A.08.06
@@ -385,5 +386,8 @@
; message to be brought in from libgloss/hp-milli.s
.space $PRIVATE$
.subspa $DATA$
+#else
+ .data
+#endif
.import ___hp_free_copyright,data
L$copyright .word ___hp_free_copyright
Index: setjmp.S
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/hppa/setjmp.S,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 setjmp.S
--- setjmp.S 17 Feb 2000 19:39:46 -0000 1.1.1.1
+++ setjmp.S 26 Apr 2002 22:47:10 -0000
@@ -18,6 +18,9 @@
library. Maybe we'll have to have -msoft-float trigger something
like -DSOFT_FLOAT if this issue ever arises. */
+#include "DEFS.h"
+
+#if 0
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
@@ -27,8 +30,8 @@
.IMPORT $global$,DATA
.IMPORT $$dyncall,MILLICODE
; gcc_compiled.:
- .SPACE $TEXT$
- .SUBSPA $CODE$
+#endif
+ TEXT_SEGMENT
.align 4
.EXPORT setjmp,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
More information about the Newlib
mailing list