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/config/or32
- from Rev 444 to Rev 452
- ↔ Reverse comparison
Rev 444 → Rev 452
/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. |
/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 |
/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_ */ |