This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/40414] gcc 4.4.0 error at postreload.c:396



------- Comment #22 from nospamname at web dot de  2009-12-30 09:39 -------
>There is no m68k-amigaos support in 
>FSF GCC and I don't think there ever has been.

There is support for m68k-amigaos in FSF GCC.

search in gcc source for name amigaos and on changelog.lib you find this

Wed Sep 10 15:14:20 1997  Jeffrey A Law  (law@cygnus.com)

        * config.sub: Use "amigaos" instread of "amigados".  Still
        recognize "amigados" for backward compatibility. 

Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>

        * INSTALL: Change 'amigados' to 'amigaos' to match current usage.
        * install.texi (Configurations): Likewise.
        * config.sub: Likewise. 

In file configure you find more.

Now seem m68k-amigaos should remove, where is decicde if a target is remove or
not ?

---------------

But its true that amigaos cant build without changes from FSF GCC
configfiles.But there are no C or C++ source changes need. 

I fear to submit the changes, not that m68k-amigaos get remove, because the
amiga OS change offical to PPC CPU since 7 years, but the PPC amigaos is not on
FSF GCC and they have only old compilers 

m68k-amigaos is still used today and new programs are written with GCC 4.5.0
and there are users that use it

See here the uploads of the last 14 days.The yellow Symbol is m68k-amigaos

http://aminet.net/

To get m68k-amigaos compile is very easy, so i compile actual compiler and when
a problem occur we try to find it near and report it.We verify very carefully,
because we know a wrong bugreport increase the risc that m68k-amigaos os maybe
remove.

To get amigaos compile i have a small readme text file, that explain the steps
what lines must add to the configure files of Gcc and the platform specific
files that need copy and work always because of the GGC backend API

add in gcc-x.x.x/gcc/config.gcc

(search for m68k)

m68k-*-amigaos*)
        tmake_file=m68k/t-amigaos
        tm_file="${tm_file} m68k/amigaos.h"
        tm_p_file="${tm_p_file} m68k/amigaos-protos.h"
        tm_defines="TARGET_AMIGAOS TARGET_DEFAULT=0" # 68040
        extra_objs=amigaos.o
        gnu_ld=yes
        ;;


in gcc-x.x.x/gcc/config/m68k dir add files (from the 4.3.2 source)

amigaos.h      
amigaos.c      
t-amigaos       
x-amigaos       
xm-amigaos.h 
amigaos-protos.h
host-amigaos.c

in dir gcc-x.x.x//gcc add file
amigacollect2.c

thats enough to build the gcc.more steps are need, to build the libs, libgcc
libstdc++ when you want new

to build libgcc: add in libgcc/config.host 68k cpu and later amigaos.see file
from 4.3.2 or use same.


the dir amigaos must add in libstdc++-v3/config (see 4.3.2 source)
now you can compile all. 

when you get assembler error in atomicity.h change line with the cas so that,
the \n is last char.
 "cas.l %0 , %1 , %2 \n"

for build libstdc++ with the crosscompilers you need do this steps too

in libstdc++/configure

after (search for "GLIBCXX_IS_NATIVE=true")

""""
if test $hostos = $targetos -o $targetos = darwin ; then
          GLIBCXX_IS_NATIVE=true
        fi
        ;;
""""
add this lines

"""
*-*-amigaos*)
     LDFLAGS="${LDFLAGS-ld} -noixemul"
     ;;
""""
search for "Base decisions on target environment"

"""" 
# Base decisions on target environment.
 case "${host}" in
""""
add this lines
"""
  m68k-*-amigaos*)
    #os_include_dir="usr/local/amiga/m68k-amigaos/include"
    ;;
"""
in gccx.x.x/libiberty/configure 

after this lines

""""
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

_ACEOF
fi
""""
add this line

LDFLAGS="${LDFLAGS-ld} -noixemul"


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40414


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]