Diego and/or Ollie, This patch adds support for the arm-grtev2-linux-gnueabi configuration. This is like the ...
13 years, 10 months ago
(2011-06-17 02:27:21 UTC)
#1
Diego and/or Ollie,
This patch adds support for the arm-grtev2-linux-gnueabi configuration.
This is like the x86 linux config of similar 'vendor':
* it plays some spec games to support easier use of static NSS
configuration, and
* it adds RUNTIME_ROOT_PREFIX support to the dynamic loader path.
(technically, linux-elf.h didn't need the RUNTIME_ROOT_PREFIX change,
but i would have felt ... odd making it in linux-eabi.h and not
linux-elf.h)
tested by building a arm-linux-gnueabi compiler (i.e., *not* -grtev2-)
to sanity check that I didn't break that config. And also building
a -grtev2- compiler as well.
thanks,
chris
[gcc/ChangeLog.google-integration]
2011-06-16 Chris Demetriou <cgd@google.com>
* config/arm/linux-grtev2.h: New file.
* config/arm/linux-elf.h (GLIBC_DYNAMIC_LINKER): Prefix with
RUNTIME_ROOT_PREFIX.
* config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER): Likewise.
* config/linux-grtev2.h (LIB_SPEC): Update comment about what
this definition overrides.
* config.gcc: Use linux-grtev2.h for arm-grtev2-linux-*eabi targets.
Index: config.gcc
===================================================================
--- config.gcc (revision 175095)
+++ config.gcc (working copy)
@@ -832,6 +832,12 @@
tmake_file="$tmake_file arm/t-linux-androideabi"
;;
esac
+ # Pull in spec changes for GRTEv2 configurations.
+ case ${target} in
+ *-grtev2-*)
+ tm_file="${tm_file} linux-grtev2.h arm/linux-grtev2.h"
+ ;;
+ esac
# The BPABI long long divmod functions return a 128-bit value in
# registers r0-r3. Correctly modeling that requires the use of
# TImode.
Index: config/arm/linux-elf.h
===================================================================
--- config/arm/linux-elf.h (revision 175095)
+++ config/arm/linux-elf.h (working copy)
@@ -62,7 +62,7 @@
#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/lib/ld-linux.so.2"
#define LINUX_TARGET_LINK_SPEC "%{h*} \
%{static:-Bstatic} \
Index: config/arm/linux-eabi.h
===================================================================
--- config/arm/linux-eabi.h (revision 175095)
+++ config/arm/linux-eabi.h (working copy)
@@ -62,7 +62,7 @@
/* Use ld-linux.so.3 so that it will be possible to run "classic"
GNU/Linux binaries on an EABI system. */
#undef GLIBC_DYNAMIC_LINKER
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
+#define GLIBC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/lib/ld-linux.so.3"
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
Index: config/arm/linux-grtev2.h
===================================================================
--- config/arm/linux-grtev2.h (revision 0)
+++ config/arm/linux-grtev2.h (revision 0)
@@ -0,0 +1,27 @@
+/* Definitions for ARM Linux-based GRTE (Google RunTime Environment) version 2.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+ Contributed by Chris Demetriou.
+
+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.
+
+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/>. */
+
+#undef SUBSUBTARGET_EXTRA_SPECS
+#define SUBSUBTARGET_EXTRA_SPECS LINUX_GRTE_EXTRA_SPECS
Index: config/linux-grtev2.h
===================================================================
--- config/linux-grtev2.h (revision 175095)
+++ config/linux-grtev2.h (working copy)
@@ -23,7 +23,7 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-/* Overrides LIB_SPEC from linux.h. */
+/* Overrides LIB_SPEC from gnu-user.h. */
#undef LIB_SPEC
#define LIB_SPEC \
"%{pthread:-lpthread} \
--
This patch is available for review at http://codereview.appspot.com/4628043
On Fri, Jun 17, 2011 at 02:27, Chris Demetriou <cgd@google.com> wrote: > 2011-06-16 Chris Demetriou ...
13 years, 10 months ago
(2011-06-17 09:38:35 UTC)
#2
On Fri, Jun 17, 2011 at 02:27, Chris Demetriou <cgd@google.com> wrote:
> 2011-06-16 Chris Demetriou <cgd@google.com>
>
> * config/arm/linux-grtev2.h: New file.
> * config/arm/linux-elf.h (GLIBC_DYNAMIC_LINKER): Prefix with
> RUNTIME_ROOT_PREFIX.
> * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER): Likewise.
> * config/linux-grtev2.h (LIB_SPEC): Update comment about what
> this definition overrides.
> * config.gcc: Use linux-grtev2.h for arm-grtev2-linux-*eabi targets.
OK.
Diego.
On Thu, 16 Jun 2011, Chris Demetriou wrote: > This patch adds support for the ...
13 years, 7 months ago
(2011-09-12 22:25:00 UTC)
#3
On Thu, 16 Jun 2011, Chris Demetriou wrote:
> This patch adds support for the arm-grtev2-linux-gnueabi configuration.
> This is like the x86 linux config of similar 'vendor':
> * it plays some spec games to support easier use of static NSS
> configuration, and
> * it adds RUNTIME_ROOT_PREFIX support to the dynamic loader path.
Should this be added to the GCC 4.7 release notes at
http://gcc.gnu.org/gcc-4.7/changes.html ? If you need help doing
so, propose a text and I'll be happy to care of it.
Gerald
On Mon, Sep 12, 2011 at 15:24, Gerald Pfeifer <gerald@pfeifer.com> wrote: > Should this be ...
13 years, 7 months ago
(2011-09-13 02:57:35 UTC)
#4
On Mon, Sep 12, 2011 at 15:24, Gerald Pfeifer <gerald@pfeifer.com> wrote:
> Should this be added to the GCC 4.7 release notes at
> http://gcc.gnu.org/gcc-4.7/changes.html ? If you need help doing
> so, propose a text and I'll be happy to care of it.
I absolutely need help (just ask Diego)... but not with that... 8-)
This was a change that was made on the google/integration branch, and
is not appropriate for trunk.
So, no NEWS (or changes.html) here.
Thanks, though. 8-)
-c
Issue 4628043: [google/integration] Support arm-grtev2-linux-*eabi
Created 13 years, 10 months ago by cgd
Modified 13 years, 7 months ago
Reviewers: Diego Novillo, Ollie Wild, gerald_pfeifer.com
Base URL: svn+ssh://gcc.gnu.org/svn/gcc/branches/google/integration/gcc/
Comments: 0