Wed Nov 1 15:17:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* configure.in (m88k-motorola-sysv*): New target. * configure: Rebuild. * config/te-delta88.h: New file. * config/obj-coff.c (write_object_file): Use md_do_align if it is defined. * config/tc-m88k.h (SUB_SEGMENT_ALIGN): Define. (md_do_align): Define. * config/tc-m88k.c: Include "subsegs.h". (m88k_do_align): New function. * config/te-delta.h (STRIP_UNDERSCORE): Don't define. (COFF_NOLOAD_PROBLEM): Define. (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): Define.
This commit is contained in:
parent
b3737d33ea
commit
a75f31ce1b
7 changed files with 69 additions and 19 deletions
|
@ -126,6 +126,7 @@ tc-z8k.c
|
|||
tc-z8k.h
|
||||
te-386bsd.h
|
||||
te-delta.h
|
||||
te-delta88.h
|
||||
te-dpx2.h
|
||||
te-generic.h
|
||||
te-go32.h
|
||||
|
|
|
@ -21,6 +21,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307
|
|||
|
||||
#include <ctype.h>
|
||||
#include "as.h"
|
||||
#include "subsegs.h"
|
||||
#include "m88k-opcode.h"
|
||||
|
||||
struct field_val_assoc
|
||||
|
@ -1428,4 +1429,21 @@ md_pcrel_from (fixp)
|
|||
/*NOTREACHED*/
|
||||
}
|
||||
|
||||
/* When we align the .init section, insert the correct NOP pattern. */
|
||||
|
||||
int
|
||||
m88k_do_align (n, fill)
|
||||
int n;
|
||||
const char *fill;
|
||||
{
|
||||
if (!fill
|
||||
&& strcmp (obj_segment_name (now_seg), ".init") == 0)
|
||||
{
|
||||
static const unsigned char nop_pattern[] = { 0xf4, 0x00, 0x58, 0x00 };
|
||||
frag_align_pattern (n, nop_pattern, sizeof (nop_pattern));
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* M88KCOFF */
|
||||
|
|
|
@ -90,4 +90,15 @@ struct reloc_info_m88k
|
|||
/* No special hook needed for symbols. */
|
||||
#define tc_coff_symbol_emit_hook(s)
|
||||
|
||||
/* Align sections to a four byte boundary. */
|
||||
#ifndef max
|
||||
#define max(a,b) (((a) > (b)) ? (a) : (b))
|
||||
#endif
|
||||
#define SUB_SEGMENT_ALIGN(SEG) max (section_alignment[(int) (SEG)], 4)
|
||||
|
||||
/* We use a special alignment function to insert the correct nop
|
||||
pattern in .init. */
|
||||
extern int m88k_do_align PARAMS ((int, const char *));
|
||||
#define md_do_align(n,fill,l) if (m88k_do_align(n,fill)) goto l
|
||||
|
||||
#endif /* M88KCOFF */
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
/* Remove leading underscore from the gcc generated symbol names */
|
||||
#define STRIP_UNDERSCORE
|
||||
|
||||
#define TE_DELTA
|
||||
|
||||
#include "obj-format.h"
|
||||
|
||||
#define COFF_NOLOAD_PROBLEM 1
|
||||
|
||||
/* Added these, because if we don't know what we're targetting we may
|
||||
need an assembler version of libgcc, and that will use local
|
||||
labels. */
|
||||
#define LOCAL_LABELS_DOLLAR 1
|
||||
#define LOCAL_LABELS_FB 1
|
||||
|
||||
/* end of te-delta.h */
|
||||
|
|
13
gas/config/te-delta88.h
Normal file
13
gas/config/te-delta88.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
/* This file is te-delta88.h. */
|
||||
|
||||
#define TE_DELTA88 1
|
||||
|
||||
#define COFF_NOLOAD_PROBLEM 1
|
||||
|
||||
/* Added these, because if we don't know what we're targetting we may
|
||||
need an assembler version of libgcc, and that will use local
|
||||
labels. */
|
||||
#define LOCAL_LABELS_DOLLAR 1
|
||||
#define LOCAL_LABELS_FB 1
|
||||
|
||||
#include "obj-format.h"
|
33
gas/configure
vendored
33
gas/configure
vendored
|
@ -731,6 +731,7 @@ for this_target in $target $canon_targets ; do
|
|||
em=lynx ;;
|
||||
m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
|
||||
|
||||
m88k-motorola-sysv3*) fmt=coff targ=m88kcoff em=delta88 ;;
|
||||
m88k-*-coff*) fmt=coff targ=m88kcoff ;;
|
||||
|
||||
# don't change em like *-*-bsd does
|
||||
|
@ -1245,7 +1246,7 @@ else
|
|||
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||
# not just through cpp.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1249 "configure"
|
||||
#line 1250 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
|
@ -1259,7 +1260,7 @@ else
|
|||
rm -rf conftest*
|
||||
CPP="${CC-cc} -E -traditional-cpp"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1263 "configure"
|
||||
#line 1264 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
|
@ -1292,7 +1293,7 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1296 "configure"
|
||||
#line 1297 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
|
@ -1344,7 +1345,7 @@ else
|
|||
ac_cv_c_cross=yes
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1348 "configure"
|
||||
#line 1349 "configure"
|
||||
#include "confdefs.h"
|
||||
main(){return(0);}
|
||||
EOF
|
||||
|
@ -1367,7 +1368,7 @@ if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1371 "configure"
|
||||
#line 1372 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <alloca.h>
|
||||
int main() { return 0; }
|
||||
|
@ -1398,7 +1399,7 @@ if eval "test \"`echo '$''{'ac_cv_func_alloca'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1402 "configure"
|
||||
#line 1403 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
@ -1456,7 +1457,7 @@ if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1460 "configure"
|
||||
#line 1461 "configure"
|
||||
#include "confdefs.h"
|
||||
#if defined(CRAY) && ! defined(CRAY2)
|
||||
webecray
|
||||
|
@ -1484,7 +1485,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1488 "configure"
|
||||
#line 1489 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -1538,7 +1539,7 @@ else
|
|||
ac_cv_c_stack_direction=0
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1542 "configure"
|
||||
#line 1543 "configure"
|
||||
#include "confdefs.h"
|
||||
find_stack_direction ()
|
||||
{
|
||||
|
@ -1580,7 +1581,7 @@ else
|
|||
ac_cv_c_inline=no
|
||||
for ac_kw in inline __inline__ __inline; do
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1584 "configure"
|
||||
#line 1585 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() { return 0; }
|
||||
|
@ -1619,7 +1620,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1623 "configure"
|
||||
#line 1624 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -1672,7 +1673,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1676 "configure"
|
||||
#line 1677 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -1725,7 +1726,7 @@ if eval "test \"`echo '$''{'gas_cv_assert_ok'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1729 "configure"
|
||||
#line 1730 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
|
@ -1782,7 +1783,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_malloc'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1786 "configure"
|
||||
#line 1787 "configure"
|
||||
#include "confdefs.h"
|
||||
$gas_test_headers
|
||||
int main() { return 0; }
|
||||
|
@ -1818,7 +1819,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_free'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1822 "configure"
|
||||
#line 1823 "configure"
|
||||
#include "confdefs.h"
|
||||
$gas_test_headers
|
||||
int main() { return 0; }
|
||||
|
@ -1857,7 +1858,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_errno'+set}'`\" = set"; then
|
|||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1861 "configure"
|
||||
#line 1862 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#ifdef HAVE_ERRNO_H
|
||||
|
|
|
@ -204,6 +204,7 @@ changequote([,])dnl
|
|||
em=lynx ;;
|
||||
m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
|
||||
|
||||
m88k-motorola-sysv3*) fmt=coff targ=m88kcoff em=delta88 ;;
|
||||
m88k-*-coff*) fmt=coff targ=m88kcoff ;;
|
||||
|
||||
# don't change em like *-*-bsd does
|
||||
|
|
Loading…
Reference in a new issue