i370 port - constructing compile script
Paul Edwards
mutazilah@gmail.com
Tue Oct 20 14:18:00 GMT 2009
>> ../configure --target=i370-mvspdp --prefix=/devel/mvscross --with-sysroot=/devel/mvshead
>> --enable-languages=c
>>
>> plus make and make install
>>
>> then I went to
>>
>> mvscross/bin and renamed i370-mvspdp-gcc to i370-mvspdp-xxx
>>
>> and replaced it with a script that does:
>>
>> i370-mvspdp-xxx -S $*
>
> Maybe a more generic way to work around the missing assembler and linker
> would be to provide dummy scripts i370-mvspdp-as
I created one of them, but as far as I can tell it didn't pick it up.
> and i370-mvspdp-ld, where
> the "assembler" would simply copy the assembler source input as text to
> the
> "object" file output, and the "linker" would collect all input files into
> a tar file (or some other archive) as "executable" output ...
Sounds good.
> This would allow usual build processes (including "make") to proceed as
> expected.
Yes.
> The compiler error output found in the config.log file should hopefully
> point to the problem ...
Well, below are some of the changes I made today to get it to go
past the various errors. Probably the most interesting was this
one:
! #define BIG_ENDIAN 1
! #define LITTLE_ENDIAN 2
! #define BYTE_ORDER 1
I don't have a sys/param.h and so I just stuck those in somewhere
that it seemed to be looking for, so that it didn't come up and say
that it couldn't determine the endian order.
It seemed to try very hard to stick in sys/types.h and sys/time.h
and I'm not sure how well I got around that.
It also seemed to execute /bin/as at one point instead of my
dummy cross-assembler. I'll try to figure out what the logic
is tomorrow.
Note - all this is on 3.4.6.
BFN. Paul.
Index: configure
===================================================================
RCS file: /cvsroot/gccnew/gcc/configure,v
retrieving revision 1.1.1.1
retrieving revision 1.8
diff -c -r1.1.1.1 -r1.8
*** configure 9 Jul 2009 00:25:05 -0000 1.1.1.1
--- configure 20 Oct 2009 12:39:48 -0000 1.8
***************
*** 2463,2470 ****
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
! #include <sys/types.h>
! #include <sys/stat.h>
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
--- 2463,2470 ----
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
! /*#include <sys/types.h>
! #include <sys/stat.h>*/
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
***************
*** 3377,3383 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3377,3383 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 3448,3454 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3448,3454 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 3519,3525 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3519,3525 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 3590,3596 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3590,3596 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 3662,3668 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3662,3668 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 3735,3741 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! #include <sys/types.h>
int
--- 3735,3741 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include "confdefs.h"
! /*#include <sys/types.h>*/
int
***************
*** 5656,5662 ****
if test $ac_cv_header_time = yes; then
cat >>confdefs.h <<\_ACEOF
! #define TIME_WITH_SYS_TIME 1
_ACEOF
fi
--- 5656,5662 ----
if test $ac_cv_header_time = yes; then
cat >>confdefs.h <<\_ACEOF
! /*#define TIME_WITH_SYS_TIME 1*/
_ACEOF
fi
***************
*** 6150,6157 ****
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
! #include <sys/param.h>
int
main ()
{
--- 6150,6160 ----
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>
! #include <sys/param.h>*/
! #define BIG_ENDIAN 1
! #define LITTLE_ENDIAN 2
! #define BYTE_ORDER 1
int
main ()
{
***************
*** 6192,6199 ****
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
! #include <sys/param.h>
int
main ()
{
--- 6195,6205 ----
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>
! #include <sys/param.h>*/
! #define BIG_ENDIAN 1
! #define LITTLE_ENDIAN 2
! #define BYTE_ORDER 1
int
main ()
{
***************
*** 6731,6738 ****
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
! #include <inttypes.h>
int
main ()
{
--- 6737,6744 ----
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>
! #include <inttypes.h>*/
int
main ()
{
***************
*** 7051,7057 ****
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--- 7057,7063 ----
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>*/
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
***************
*** 7093,7099 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Thanks to Mike Rendell for this test. */
! #include <sys/types.h>
#define NGID 256
#undef MAX
#define MAX(x, y) ((x) > (y) ? (x) : (y))
--- 7099,7105 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Thanks to Mike Rendell for this test. */
! /*#include <sys/types.h>*/
#define NGID 256
#undef MAX
#define MAX(x, y) ((x) > (y) ? (x) : (y))
***************
*** 7303,7311 ****
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
#include <sys/mman.h>
! #include <unistd.h>
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
--- 7309,7317 ----
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>
#include <sys/mman.h>
! #include <unistd.h>*/
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
***************
*** 7644,7650 ****
else
cat >conftest.$ac_ext <<_ACEOF
/* By Ruediger Kuhlmann. */
! #include <sys/types.h>
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
--- 7650,7656 ----
else
cat >conftest.$ac_ext <<_ACEOF
/* By Ruediger Kuhlmann. */
! /*#include <sys/types.h>*/
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
***************
*** 7717,7725 ****
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
#include <stdlib.h>
! #include <sys/types.h>
#include <sys/stat.h>
! #include <sys/wait.h>
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
--- 7723,7731 ----
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
#include <stdlib.h>
! /*#include <sys/types.h>
#include <sys/stat.h>
! #include <sys/wait.h>*/
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
***************
*** 8998,9004 ****
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! #include <sys/types.h>
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
--- 9004,9010 ----
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
! /*#include <sys/types.h>*/
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
More information about the Gcc
mailing list