Re: [PATCH 2/3] Add support for arm*-*-phoenix* targets.

2016-07-04 Thread Jakub Sejdak
Ping. If this is OK for both branches (or at least one) would you
rather prefer separate patch?

2016-06-23 9:37 GMT+02:00 Jakub Sejdak :
> How about backporting this to gcc-6 and gcc-5?
>
> 2016-06-21 22:10 GMT+02:00 Jeff Law :
>> On 06/15/2016 08:22 AM, Kuba Sejdak wrote:
>>>
>>> Is it ok for trunk? If possible, If possible, please merge it also to
>>> GCC-6 and GCC-5 branches.
>>>
>>> 2016-06-15  Jakub Sejdak  
>>>
>>>* config.gcc: Add support for arm*-*-phoenix* targets.
>>>* config/arm/t-phoenix: New.
>>>* config/phoenix.h: New.
>>>
>>> ---
>>>  gcc/ChangeLog|  6 ++
>>>  gcc/config.gcc   | 11 +++
>>>  gcc/config/arm/t-phoenix | 29 +
>>>  gcc/config/phoenix.h | 33 +
>>>  4 files changed, 79 insertions(+)
>>>  create mode 100644 gcc/config/arm/t-phoenix
>>>  create mode 100644 gcc/config/phoenix.h
>>>
>>
>>> +arm*-*-phoenix*)
>>> +   tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
>>> +   tm_file="${tm_file} newlib-stdint.h phoenix.h"
>>> +   tm_file="${tm_file} arm/aout.h arm/arm.h"
>>> +   tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix"
>>
>> Do you really need dbxelf.h?  We're trying to get away from stabs, so unless
>> there's a strong need, avoid dbxelf.h :-)
>>
>> OK for the trunk with dbxelf.h removed.
>>
>> jeff
>
>
>
> --
> Jakub Sejdak
> Software Engineer
> Phoenix Systems (www.phoesys.com)
> +48 608 050 163



-- 
Jakub Sejdak
Software Engineer
Phoenix Systems (www.phoesys.com)
+48 608 050 163


Re: [PATCH 2/3] Add support for arm*-*-phoenix* targets.

2016-06-23 Thread Jakub Sejdak
How about backporting this to gcc-6 and gcc-5?

2016-06-21 22:10 GMT+02:00 Jeff Law :
> On 06/15/2016 08:22 AM, Kuba Sejdak wrote:
>>
>> Is it ok for trunk? If possible, If possible, please merge it also to
>> GCC-6 and GCC-5 branches.
>>
>> 2016-06-15  Jakub Sejdak  
>>
>>* config.gcc: Add support for arm*-*-phoenix* targets.
>>* config/arm/t-phoenix: New.
>>* config/phoenix.h: New.
>>
>> ---
>>  gcc/ChangeLog|  6 ++
>>  gcc/config.gcc   | 11 +++
>>  gcc/config/arm/t-phoenix | 29 +
>>  gcc/config/phoenix.h | 33 +
>>  4 files changed, 79 insertions(+)
>>  create mode 100644 gcc/config/arm/t-phoenix
>>  create mode 100644 gcc/config/phoenix.h
>>
>
>> +arm*-*-phoenix*)
>> +   tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
>> +   tm_file="${tm_file} newlib-stdint.h phoenix.h"
>> +   tm_file="${tm_file} arm/aout.h arm/arm.h"
>> +   tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix"
>
> Do you really need dbxelf.h?  We're trying to get away from stabs, so unless
> there's a strong need, avoid dbxelf.h :-)
>
> OK for the trunk with dbxelf.h removed.
>
> jeff



-- 
Jakub Sejdak
Software Engineer
Phoenix Systems (www.phoesys.com)
+48 608 050 163


Re: [PATCH 2/3] Add support for arm*-*-phoenix* targets.

2016-06-21 Thread Jeff Law

On 06/15/2016 08:22 AM, Kuba Sejdak wrote:

Is it ok for trunk? If possible, If possible, please merge it also to GCC-6 and 
GCC-5 branches.

2016-06-15  Jakub Sejdak  

   * config.gcc: Add support for arm*-*-phoenix* targets.
   * config/arm/t-phoenix: New.
   * config/phoenix.h: New.

---
 gcc/ChangeLog|  6 ++
 gcc/config.gcc   | 11 +++
 gcc/config/arm/t-phoenix | 29 +
 gcc/config/phoenix.h | 33 +
 4 files changed, 79 insertions(+)
 create mode 100644 gcc/config/arm/t-phoenix
 create mode 100644 gcc/config/phoenix.h




+arm*-*-phoenix*)
+   tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
+   tm_file="${tm_file} newlib-stdint.h phoenix.h"
+   tm_file="${tm_file} arm/aout.h arm/arm.h"
+   tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix"
Do you really need dbxelf.h?  We're trying to get away from stabs, so 
unless there's a strong need, avoid dbxelf.h :-)


OK for the trunk with dbxelf.h removed.

jeff


[PATCH 2/3] Add support for arm*-*-phoenix* targets.

2016-06-15 Thread Kuba Sejdak
Is it ok for trunk? If possible, If possible, please merge it also to GCC-6 and 
GCC-5 branches.

2016-06-15  Jakub Sejdak  

   * config.gcc: Add support for arm*-*-phoenix* targets.
   * config/arm/t-phoenix: New.
   * config/phoenix.h: New.

---
 gcc/ChangeLog|  6 ++
 gcc/config.gcc   | 11 +++
 gcc/config/arm/t-phoenix | 29 +
 gcc/config/phoenix.h | 33 +
 4 files changed, 79 insertions(+)
 create mode 100644 gcc/config/arm/t-phoenix
 create mode 100644 gcc/config/phoenix.h

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 907bb06..26807d2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2016-06-15  Jakub Sejdak  
+
+   * config.gcc: Add support for arm*-*-phoenix* targets.
+   * config/arm/t-phoenix: New.
+   * config/phoenix.h: New.
+
 2016-06-14  David Malcolm  
 
* spellcheck-tree.c: Include spellcheck-tree.h rather than
diff --git a/gcc/config.gcc b/gcc/config.gcc
index e47535b..8c46798 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -815,6 +815,11 @@ case ${target} in
   ;;
   esac
   ;;
+*-*-phoenix*)
+  gas=yes
+  gnu_ld=yes
+  default_use_cxa_atexit=yes
+  ;;
 *-*-rtems*)
   case ${enable_threads} in
 "" | yes | rtems) thread_file='rtems' ;;
@@ -1097,6 +1102,12 @@ arm*-*-uclinux*eabi*)# ARM ucLinux
# The EABI requires the use of __cxa_atexit.
default_use_cxa_atexit=yes
;;
+arm*-*-phoenix*)
+   tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
+   tm_file="${tm_file} newlib-stdint.h phoenix.h"
+   tm_file="${tm_file} arm/aout.h arm/arm.h"
+   tmake_file="${tmake_file} arm/t-arm arm/t-bpabi arm/t-phoenix"
+   ;;
 arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
case ${target} in
arm*eb-*-eabi*)
diff --git a/gcc/config/arm/t-phoenix b/gcc/config/arm/t-phoenix
new file mode 100644
index 000..d881884
--- /dev/null
+++ b/gcc/config/arm/t-phoenix
@@ -0,0 +1,29 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+#
+# 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
+# .
+
+MULTILIB_OPTIONS = marm/mthumb
+MULTILIB_DIRNAMES= arm thumb
+MULTILIB_EXCEPTIONS  =
+MULTILIB_MATCHES =
+
+MULTILIB_OPTIONS += mfloat-abi=hard
+MULTILIB_DIRNAMES+= fpu
+MULTILIB_MATCHES += mfloat-abi?hard=mhard-float
+
+MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
+MULTILIB_DIRNAMES+= normal interwork
diff --git a/gcc/config/phoenix.h b/gcc/config/phoenix.h
new file mode 100644
index 000..9ffb958
--- /dev/null
+++ b/gcc/config/phoenix.h
@@ -0,0 +1,33 @@
+/* Base configuration file for all Phoenix-RTOS targets.
+   Copyright (C) 2016 Free Software Foundation, Inc.
+
+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
+.  */
+
+#undef TARGET_OS_CPP_BUILTINS
+#define TARGET_OS_CPP_BUILTINS()   \
+do {   \
+  builtin_define_std ("phoenix");  \
+  builtin_define_std ("unix"); \
+  builtin_assert ("system=phoenix");   \
+  builtin_assert ("system=unix");  \
+} while(0);
+
+#define STD_LIB_SPEC "%{!shared:%{g*:-lg} 
%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}"
+
+/* This will prevent selecting 'unsigned long int' instead of 'unsigned int' 
as 'uint32_t' in stdint-newlib.h. */
+#undef STDINT_LONG32
+#define STDINT_LONG32  0
-- 
2.7.4