OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/gnu-src/gcc-4.5.1/gcc
    from Rev 444 to Rev 452
    Reverse comparison

Rev 444 → Rev 452

/ChangeLog.or32
1,3 → 1,17
2010-12-16 Joern Rennecke <joern.rennecke@embecosm.com>
 
* config.gcc (or32-*-elf*) <tm_defines>:
Add OR32_LIBC_DEFAULT=or32_libc_newlib.
(or32-*linux*) <tm_defines>: Set UCLIBC_DEFAULT=1.
Add OR32_LIBC_DEFAULT=or32_libc_uclibc.
* config/or32/or32.opt (mnewlib): New option.
(muclibc, mglibc): Stub options.
* config/or32/or32.h (TARGET_CPU_CPP_BUILTINS): When using uClibc,
define __UCLIBC__.
(or32_libc_kind): New enum.
* config/or32/or32.c (or32_handle_option): New function.
(TARGET_HANDLE_OPTION): Override.
 
2010-12-10 Joern Rennecke <joern.rennecke@embecosm.com>
 
* config/or32/or32.c (TARGET_STRICT_ARGUMENT_NAMING): Overrride.
/config.gcc
1914,10 → 1914,13
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ${cpu_type}/elf.h"
extra_parts="crti.o crtbegin.o crtend.o crtn.o"
tmake_file=${cpu_type}/t-${cpu_type}
tm_defines="${tm_defines} OR32_LIBC_DEFAULT=or32_libc_newlib"
;;
or32-*linux*)
tm_file="${tm_file} dbxelf.h elfos.h or32/elf.h or32/linux-gas.h or32/linux-elf.h"
tmake_file="${cpu_type}/t-${cpu_type} or32/t-linux"
tm_defines="`echo $tm_defines|sed -e s/UCLIBC_DEFAULT=.//g`"
tm_defines="${tm_defines} UCLIBC_DEFAULT=1 OR32_LIBC_DEFAULT=or32_libc_uclibc"
;;
pdp11-*-*)
tm_file="${tm_file} newlib-stdint.h"
/config/or32/or32.opt
69,6 → 69,23
Target RejectNegative
Link with the OR32 newlib UART library
 
mnewlib
Target Report RejectNegative Var(or32_libc,or32_libc_newlib) Init(OR32_LIBC_DEFAULT)
Compile for the Linux/Gnu/newlib based toolchain
 
;; muclibc / mglibc are defined in linux.opt, so we can't easily re-define
;; how they are recorded.
;; We could remove linux.opt from extra_options, but that could backfire if
;; more options are added that we don't want to remove. Hence we use
;; TARGET_HANDLE_OPTION.
muclibc
Target RejectNegative
Use uClibc
 
mglibc
Target RejectNegative
Use glibc (not supported)
 
;; provide struct padding as in previous releases.
;; Note that this will only affect STRUCTURE_SIZE_BOUNDARY, in particular
;; make 2 byte structs 4-byte alignned and sized.
/config/or32/or32.c
2130,7 → 2130,27
}
}
 
static bool
or32_handle_option (size_t code, const char *arg ATTRIBUTE_UNUSED,
int value ATTRIBUTE_UNUSED)
{
switch (code)
{
case OPT_mnewlib:
or32_libc = or32_libc_newlib;
return true;
case OPT_muclibc:
or32_libc = or32_libc_uclibc;
return true;
case OPT_mglibc:
or32_libc = or32_libc_glibc;
return false;
default:
return true;
}
}
 
 
/* ========================================================================== */
/* Target hook initialization.
 
2148,6 → 2168,9
#undef TARGET_DEFAULT_TARGET_FLAGS
#define TARGET_DEFAULT_TARGET_FLAGS (MASK_HARD_MUL | MASK_SCHED_LOGUE)
 
#undef TARGET_HANDLE_OPTION
#define TARGET_HANDLE_OPTION or32_handle_option
 
/* Output assembly directives to switch to section name. The section should
have attributes as specified by flags, which is a bit mask of the SECTION_*
flags defined in ‘output.h’. If decl is non-NULL, it is the VAR_DECL or
/config/or32/or32.h
31,6 → 31,8
{ \
builtin_define_std ("OR32"); \
builtin_define_std ("or32"); \
if (or32_libc == or32_libc_uclibc) \
builtin_define ("__UCLIBC__"); \
builtin_assert ("cpu=or32"); \
builtin_assert ("machine=or32"); \
} \
1354,5 → 1356,8
/* Enable parsing of #pragma pack(push,<n>) and #pragma pack(pop). */
#define HANDLE_PRAGMA_PACK_PUSH_POP
 
/* GLIBC is not implemented, but we handle the selection for consistency
with the Linux framework. */
enum or32_libc_kind { or32_libc_newlib, or32_libc_uclibc, or32_libc_glibc };
 
#endif /* _OR32_H_ */

powered by: WebSVN 2.1.0

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