OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk
    from Rev 401 to Rev 402
    Reverse comparison

Rev 401 → Rev 402

/gnu-src/gcc-4.5.1/libgcc/config.host
1,6 → 1,7
# libgcc host-specific configuration file.
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
# 2008, 2009, 2010 Free Software Foundation, Inc.
# Copyright (C) 2010 Embecosm Limited
 
#This file is part of GCC.
 
447,6 → 448,8
or32-*-elf)
;;
or32-*linux*)
tmake_file="${cpu_type}/t-${cpu_type} or32/t-or32"
extra_parts="$extra_parts crti.o crtn.o"
;;
pdp11-*-*)
;;
/gnu-src/gcc-4.5.1/libgcc/config/or32/crti.S
0,0 → 1,33
# Start .init and .fini sections.
# Copyright (C) 2010 Embecosm Limited
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GCC is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# Under Section 7 of GPL version 3, you are granted additional
# permissions described in the GCC Runtime Library Exception, version
# 3.1, as published by the Free Software Foundation.
#
# You should have received a copy of the GNU General Public License and
# a copy of the GCC Runtime Library Exception along with this program;
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
 
.section .init
.global __init
__init:
l.addi r1,r1,-4
l.sw 0(r1),r9
 
.section .fini
.global __fini
__fini:
l.addi r1,r1,-4
l.sw 0(r1),r9
gnu-src/gcc-4.5.1/libgcc/config/or32/crti.S Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: gnu-src/gcc-4.5.1/libgcc/config/or32/t-or32 =================================================================== --- gnu-src/gcc-4.5.1/libgcc/config/or32/t-or32 (nonexistent) +++ gnu-src/gcc-4.5.1/libgcc/config/or32/t-or32 (revision 402) @@ -0,0 +1,32 @@ +# t-or32 is a Makefile fragment to be included when +# building gcc for the or32 target + +# Copyright (C) 2010 Embecosm Limited + +# This file is part of GCC. +# +# GCC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GCC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# . + +# .init/.fini section routines + +$(T)crti.o: $(srcdir)/config/or32/crti.S $(GCC_PASSES) $(CONFIG_H) + $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \ + $(MULTILIB_CFLAGS) -finhibit-size-directive -fno-inline-functions \ + -g0 -c $< -o $@ + +$(T)crtn.o: $(srcdir)/config/or32/crtn.S $(GCC_PASSES) $(CONFIG_H) + $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \ + $(MULTILIB_CFLAGS) -finhibit-size-directive -fno-inline-functions \ + -g0 -c $< -o $@ Index: gnu-src/gcc-4.5.1/libgcc/config/or32/crtn.S =================================================================== --- gnu-src/gcc-4.5.1/libgcc/config/or32/crtn.S (nonexistent) +++ gnu-src/gcc-4.5.1/libgcc/config/or32/crtn.S (revision 402) @@ -0,0 +1,33 @@ +# End .init and .fini sections. +# Copyright (C) 2010 Embecosm Limited +# +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GCC is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# Under Section 7 of GPL version 3, you are granted additional +# permissions described in the GCC Runtime Library Exception, version +# 3.1, as published by the Free Software Foundation. +# +# You should have received a copy of the GNU General Public License and +# a copy of the GCC Runtime Library Exception along with this program; +# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +# . + + .section .init +__init: + l.lwz r9,0(r1) + l.jr r9 + l.addi r1,r1,4 + + .section .fini +__fini: + l.lwz r9,0(r1) + l.jr r9 + l.addi r1,r1,4
gnu-src/gcc-4.5.1/libgcc/config/or32/crtn.S Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: gnu-src/gcc-4.5.1/libgcc/ChangeLog.or32 =================================================================== --- gnu-src/gcc-4.5.1/libgcc/ChangeLog.or32 (revision 401) +++ gnu-src/gcc-4.5.1/libgcc/ChangeLog.or32 (revision 402) @@ -1,3 +1,4 @@ 2010-10-30 Joern Rennecke * config.host (or32-*linux*): Handle new config. + * config/or32: New directory.
/gnu-src/gcc-4.5.1/gcc/ChangeLog.or32
1,3 → 1,14
2010-11-01 Joern Rennecke <joern.rennecke@embecosm.com>
 
* config/or32/or32.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
 
2010-10-31 Joern Rennecke <joern.rennecke@embecosm.com>
 
* config/or32/or32.c (or32_struct_alignment): Refine rules to
avoid overriding user settings.
 
* Don't increase alignment of struct with sole packed field.
 
2010-10-29 Joern Rennecke <joern.rennecke@embecosm.com>
 
* config/or32/or32.c (or32_output_mi_thunk): New function.
73,7 → 84,6
Use PROLOGUE_TMP and EPILOGUE_TMP.
(or32_function_ok_for_sibcall): Retrun true.
(TARGET_DEFAULT_TARGET_FLAGS): Include MASK_SCHED_LOGUE.
(STATIC_CHAIN_REGNUM): Change to GP_ARG_RETURNH.
(PROLOGUE_TMP, EPILOGUE_TMP): Define.
* config/or32/or32.md (CC_REG): New constant. Use it to denote
register number of flags register.
128,7 → 138,7
* config/or32/or32.c (or32_struct_alignment): New function.
(or32_data_alignment): Likewise.
* config/or32/or32.h (STRUCTURE_SIZE_BOUNDARY): Default to 8.
(ROUND_TYPE_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMEN): Define.
(ROUND_TYPE_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
 
* config/or32/or32.c (or32_struct_alignment): Take
maximum_field_alignment into account.
/gnu-src/gcc-4.5.1/gcc/config/or32/elf.h
1,4 → 1,5
/* Definitions for rtems targeting an OpenRisc OR32 using COFF
??? this is for OR32, but the rest of the above seems bogus.
Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
 
/gnu-src/gcc-4.5.1/gcc/config/or32/or32.c
2052,7 → 2052,7
}
 
/* Output a tailcall to FUNCTION. The caller will fill in the delay slot. */
void
static void
or32_output_tailcall (FILE *file, tree function)
{
/* We'll need to add more code if we want to fully support PIC. */
2189,6 → 2189,8
or32_struct_alignment (tree t)
{
unsigned HOST_WIDE_INT total = 0;
int default_align_fields = 0;
int special_align_fields = 0;
tree field;
unsigned max_align
= maximum_field_alignment ? maximum_field_alignment : BIGGEST_ALIGNMENT;
2209,11 → 2211,34
 
if (TREE_CODE (field) != FIELD_DECL)
continue;
/* If this is a field in a non-qualified union, or the sole field in
a struct, and the alignment was set by the user, don't change the
alignment.
If the field is a struct/union in a non-qualified union, we already
had sufficient opportunity to pad it - if we didn't, that'd be
because the alignment was set as above.
Likewise if the field is a struct/union and the sole field in a
struct. */
if (DECL_USER_ALIGN (field)
|| TYPE_USER_ALIGN (TREE_TYPE (field))
|| TREE_CODE (TREE_TYPE (field)) == UNION_TYPE
|| TREE_CODE (TREE_TYPE (field)) == QUAL_UNION_TYPE
|| TREE_CODE (TREE_TYPE (field)) == RECORD_TYPE)
{
if (TREE_CODE (t) == UNION_TYPE)
return 0;
special_align_fields++;
}
else if (DECL_PACKED (field))
special_align_fields++;
else
default_align_fields++;
if (!host_integerp (DECL_SIZE (field), 1))
return max_align;
field_size = tree_low_cst (DECL_SIZE (field), 1);
field_size = max_align;
else
field_size = tree_low_cst (DECL_SIZE (field), 1);
if (field_size >= BIGGEST_ALIGNMENT)
return max_align;
total = max_align;
if (struct_p)
total += field_size;
else
2220,6 → 2245,9
total = MAX (total, field_size);
}
 
if (!default_align_fields
&& (TREE_CODE (t) != RECORD_TYPE || special_align_fields <= 1))
return 0;
return total < max_align ? (1U << ceil_log2 (total)) : max_align;
}
 
/gnu-src/gcc-4.5.1/gcc/config/or32/or32.h
47,7 → 47,7
#undef CPP_SPEC
#define CPP_SPEC "%{mor32-newlib*:-idirafter %(target_prefix)/newlib-include}"
 
/* Make sure we pick up the or32-crtbegin.o and or32-crtend.o files. */
/* Make sure we pick up the crti.o, crtbegin.o, crtend.o and crtn.o files. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "%{!shared:%{mor32-newlib*:%(target_prefix)/newlib/crt0.o} \
%{!mor32-newlib*:crt0.o%s} crti.o%s crtbegin.o%s}"
247,7 → 247,8
0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1}
 
/* stack pointer: must be FIXED and CALL_USED */
/* hard frame pointer: must be FIXED and CALL_USED */
/* hard frame pointer: must be call saved. */
/* soft frame pointer / arg pointer: must be FIXED and CALL_USED */
 
/* Return number of consecutive hard regs needed starting at reg REGNO
to hold something of mode MODE.
1350,5 → 1351,8
extern GTY(()) rtx or32_compare_op0;
extern GTY(()) rtx or32_compare_op1;
 
/* Enable parsing of #pragma pack(push,<n>) and #pragma pack(pop). */
#define HANDLE_PRAGMA_PACK_PUSH_POP
 
 
#endif /* _OR32_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.