<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, May 26, 2014 at 12:57 AM, Chris Johns <span dir="ltr"><<a href="mailto:chris@contemporary.net.au" target="_blank">chris@contemporary.net.au</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On 25/05/2014 10:12 am, Hesham ALMatary wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
From: Hesham AL-Matary <<a href="mailto:heshamelmatary@gmail.com" target="_blank">heshamelmatary@gmail.com</a>><br>
<br>
Configuration files get the following releases:<br>
- binutils-2.24<br>
- newlib-2.1.0<br>
- gcc-4.8.2<br>
- gdb-7.7<br>
<br>
Patches are mix of OpenRISC original patches and other<br>
additions to build the previous releases for RTEMS.<br>
</blockquote>
<br></div>
Thanks. We are look forward to get this into the tool set.<div><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
---<br>
  rtems/config/4.11/rtems-or1k.<u></u>bset                  | 26 ++++++<br>
  rtems/config/tools/rtems-<u></u>binutils-2.24-or1k.cfg    | 25 ++++++<br>
  .../tools/rtems-gcc-4.8.2-<u></u>newlib-2.1.0-or1k.cfg    | 39 +++++++++<br>
  rtems/config/tools/rtems-gdb-<u></u>7.7-or1k.cfg          | 28 +++++++<br>
  source-builder/config/gdb-7-7-<u></u>or1k.cfg             | 95 ++++++++++++++++++++++<br>
  5 files changed, 213 insertions(+)<br>
  create mode 100644 rtems/config/4.11/rtems-or1k.<u></u>bset<br>
  create mode 100644 rtems/config/tools/rtems-<u></u>binutils-2.24-or1k.cfg<br>
  create mode 100644 rtems/config/tools/rtems-gcc-<u></u>4.8.2-newlib-2.1.0-or1k.cfg<br>
  create mode 100644 rtems/config/tools/rtems-gdb-<u></u>7.7-or1k.cfg<br>
  create mode 100644 source-builder/config/gdb-7-7-<u></u>or1k.cfg<br>
<br>
diff --git a/rtems/config/4.11/rtems-<u></u>or1k.bset b/rtems/config/4.11/rtems-<u></u>or1k.bset<br>
new file mode 100644<br>
index 0000000..dbc95e7<br>
--- /dev/null<br>
+++ b/rtems/config/4.11/rtems-<u></u>or1k.bset<br>
@@ -0,0 +1,26 @@<br>
+#<br>
+# Tools Set for RTEMS or1k 4.11 Stable<br>
+#<br>
+<br>
+%define release 1<br>
+<br>
+%define rtems_arch or1k<br>
+<br>
+#<br>
+# The RTEMS 4.11 BSP to build and test<br>
+#<br>
+%define rtems_bsps      all<br>
+<br>
+#<br>
+# The RTEMS 4.11 base defines.<br>
+#<br>
+%include rtems-4.11-base.bset<br>
+<br>
+#<br>
+# Tools configuration.<br>
+#<br>
+4.11/rtems-autotools<br>
+devel/expat-2.1.0-1<br>
+tools/rtems-binutils-2.24-<u></u>or1k<br>
+tools/rtems-gcc-4.8.2-newlib-<u></u>2.1.0-or1k<br>
+tools/rtems-gdb-7.7-or1k<br>
diff --git a/rtems/config/tools/rtems-<u></u>binutils-2.24-or1k.cfg b/rtems/config/tools/rtems-<u></u>binutils-2.24-or1k.cfg<br>
new file mode 100644<br>
index 0000000..d1e352a<br>
--- /dev/null<br>
+++ b/rtems/config/tools/rtems-<u></u>binutils-2.24-or1k.cfg<br>
@@ -0,0 +1,25 @@<br>
+#<br>
+# Binutils 2.24.<br>
+#<br>
+<br>
+%include %{_configdir}/checks.cfg<br>
+%include %{_configdir}/base.cfg<br>
+<br>
+%define binutils_version 2.24<br>
+<br>
+#<br>
+# Enable deterministic archives by default. This will be the default<br>
+# there all tools using this binutils will create deterministic<br>
+# archives.<br>
+#<br>
+%define with_deterministic_archives 1<br>
+<br>
+#<br>
+# or1k patches<br>
+#<br>
+%patch add binutils -p1 <a href="https://raw.githubusercontent.com/heshamelmatary/or1k-rtems/master/patches/binutils-2.24-or1k-rtems.diff" target="_blank">https://raw.githubusercontent.<u></u>com/heshamelmatary/or1k-rtems/<u></u>master/patches/binutils-2.24-<u></u>or1k-rtems.diff</a><br>

+<br>
</blockquote>
<br></div></div>
If you move this to the bset file can you use rtems-binutils-2.24.cfg ?<br>
<br>
Build set files support %source and %patch. This localises architecture specific patches to that architecture.<div class=""><br></div></blockquote><div>That makes sense. I was just separating the whole process of patching, custom configurations and building in earlier stages to easily catch up errors. But now after every thing works fine, I will delete all *or1k*.cfg files, and make changes as few as possible, most likely it will be just a new .bset file as you suggested.</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+#<br>
+# The binutils build instructions. We use 2.xx Release 1.<br>
+#<br>
+%include %{_configdir}/binutils-2-1.cfg<br>
diff --git a/rtems/config/tools/rtems-<u></u>gcc-4.8.2-newlib-2.1.0-or1k.<u></u>cfg b/rtems/config/tools/rtems-<u></u>gcc-4.8.2-newlib-2.1.0-or1k.<u></u>cfg<br>
new file mode 100644<br>
index 0000000..be4b7cc<br>
--- /dev/null<br>
+++ b/rtems/config/tools/rtems-<u></u>gcc-4.8.2-newlib-2.1.0-or1k.<u></u>cfg<br>
</blockquote>
<br></div>
Same here ?<div><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
@@ -0,0 +1,39 @@<br>
+#<br>
+# GCC 4.8.2., Newlib-2.1.0<br>
+#<br>
+<br>
+%include %{_configdir}/checks.cfg<br>
+%include %{_configdir}/base.cfg<br>
+%include %{_configdir}/versions.cfg<br>
+<br>
+%define newlib_version 2.1.0<br>
+%define gcc_version    4.8.2<br>
+%define mpfr_version   3.0.1<br>
+%define mpc_version    0.8.2<br>
+%define gmp_version    5.0.5<br>
+<br>
+%define with_threads 1<br>
+%define with_plugin  0<br>
+<br>
+%ifn %{defined with_iconv}<br>
+%define with_iconv 1<br>
+%endif<br>
+<br>
+#<br>
+# Chris's patch to use the POSIX thread model for C++.<br>
+#<br>
+%patch add gcc %{rtems_gcc_patches}/gcc-<u></u>rtems-thread-model-posix-1.<u></u>diff<br>
+<br>
+#<br>
+# or1k patch for gcc-4.8.2<br>
+#<br>
+%patch add gcc -p1 <a href="https://raw.githubusercontent.com/heshamelmatary/or1k-rtems/master/patches/gcc-4.8.2-or1k-rtems-29-4-2014.diff" target="_blank">https://raw.githubusercontent.<u></u>com/heshamelmatary/or1k-rtems/<u></u>master/patches/gcc-4.8.2-or1k-<u></u>rtems-29-4-2014.diff</a><br>

+<br>
+#<br>
+# newlib-2.1.0 or1k patch<br>
+#<br>
+%patch add newlib -p1 <a href="https://raw.githubusercontent.com/heshamelmatary/or1k-rtems/master/patches/newlib-cvs-or1k-rtems-29-4-2014.diff" target="_blank">https://raw.githubusercontent.<u></u>com/heshamelmatary/or1k-rtems/<u></u>master/patches/newlib-cvs-<u></u>or1k-rtems-29-4-2014.diff</a><br>

+<br>
+# The gcc/newlib build instructions. We use 4.8 Release 1.<br>
+#<br>
+%include %{_configdir}/gcc-4.8-1.cfg<br>
diff --git a/rtems/config/tools/rtems-<u></u>gdb-7.7-or1k.cfg b/rtems/config/tools/rtems-<u></u>gdb-7.7-or1k.cfg<br>
new file mode 100644<br>
index 0000000..676e250<br>
--- /dev/null<br>
+++ b/rtems/config/tools/rtems-<u></u>gdb-7.7-or1k.cfg<br>
@@ -0,0 +1,28 @@<br>
+#<br>
+# GDB 7.7.<br>
+#<br>
+<br>
+%include %{_configdir}/checks.cfg<br>
+%include %{_configdir}/base.cfg<br>
+<br>
+%define gdb_version 7.7<br>
+<br>
+#<br>
+# Clean up the sim-arange inline code so it builds.<br>
+#<br>
+%patch add gdb %{rtems_gdb_patches}/gdb-sim-<u></u>arange-inline.diff<br>
+%patch add gdb %{rtems_gdb_patches}/gdb-sim-<u></u>cgen-inline.diff<br>
+<br>
+#<br>
+# or1k patch<br>
+#<br>
+%patch add gdb -p1 <a href="https://raw.githubusercontent.com/heshamelmatary/or1k-rtems/master/patches/gdb-7.7-or1k-rtems.diff" target="_blank">https://raw.githubusercontent.<u></u>com/heshamelmatary/or1k-rtems/<u></u>master/patches/gdb-7.7-or1k-<u></u>rtems.diff</a><br>

+<br>
+%if %{_build_os} == freebsd<br>
+ %patch add gdb -p0 %{rtems_gdb_patches}/patch-<u></u>gdb-python-python-config.py<br>
+%endif<br>
+<br>
+#<br>
+# The gdb build instructions. We use 7.xx Release 1.<br>
+#<br>
+%include %{_configdir}/gdb-7-7-or1k.cfg<br>
diff --git a/source-builder/config/gdb-7-<u></u>7-or1k.cfg b/source-builder/config/gdb-7-<u></u>7-or1k.cfg<br>
new file mode 100644<br>
index 0000000..04d748f<br>
--- /dev/null<br>
+++ b/source-builder/config/gdb-7-<u></u>7-or1k.cfg<br>
</blockquote>
<br></div></div>
Just looking at this file I cannot see what has changed ? Why do we need a special gdb build script ?<span class="HOEnZb"><font color="#888888"><br>
<br>
Chris</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
@@ -0,0 +1,95 @@<br>
+#<br>
+# GDB 7.xx Version 1.<br>
+#<br>
+# This configuration file configure's, make's and install's gdb.<br>
+#<br>
+<br>
+%include %{_configdir}/checks.cfg<br>
+<br>
+#<br>
+# Select Snapshot Macro Maps<br>
+#<br>
+%select gdb-snapshot<br>
+%select expat-snapshot<br>
+<br>
+#<br>
+# The description.<br>
+#<br>
+Name:      %{_target}-gdb-%{gdb_version}-<u></u>%{release}<br>
+Summary:   GDB v%{gdb_version} for target %{_target} on host %{_host}<br>
+Version:   %{gdb_version}<br>
+Release:   %{release}<br>
+URL:      <a href="http://www.gnu.org/software/gdb/" target="_blank">http://www.gnu.org/software/<u></u>gdb/</a><br>
+BuildRoot: %{_tmppath}/%{name}-root-%(%{_<u></u>_id_u} -n)<br>
+<br>
+#<br>
+# Source<br>
+#<br>
+%source set gdb <a href="http://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2" target="_blank">http://ftp.gnu.org/gnu/gdb/<u></u>gdb-%{gdb_version}.tar.bz2</a><br>
+<br>
+#<br>
+#<br>
+# Prepare the source code.<br>
+#<br>
+%prep<br>
+  build_top=$(pwd)<br>
+<br>
+  source_dir_gdb="gdb-%{gdb_<u></u>version}"<br>
+  %source setup gdb -q -n gdb-%{gdb_version}<br>
+  %patch setup gdb -p1<br>
+<br>
+  cd ${build_top}<br>
+<br>
+%build<br>
+  build_top=$(pwd)<br>
+<br>
+  %{build_directory}<br>
+<br>
+  mkdir -p ${build_dir}<br>
+  cd ${build_dir}<br>
+<br>
+  %{host_build_flags}<br>
+<br>
+  if test "%{_build}" != "%{_host}" ; then<br>
+    GDB_LIBS_STATIC="-lexpat"<br>
+  else<br>
+    GDB_LIBS_STATIC="-lexpat"<br>
+    GDB_LIBS="%{_forced_static}"<br>
+  fi<br>
+<br>
+  LIBS_STATIC=${GDB_LIBS_STATIC} \<br>
+  LIBS=${GDB_LIBS} \<br>
+  ../${source_dir_gdb}/configure \<br>
+    --build=%{_build} --host=%{_host} \<br>
+    --target=%{_target} \<br>
+    --verbose --disable-nls \<br>
+    --without-included-gettext \<br>
+    --disable-win32-registry \<br>
+    --disable-werror \<br>
+    --disable-sim \<br>
+    --with-expat \<br>
+    --without-python \<br>
+    --prefix=%{_prefix} --bindir=%{_bindir} \<br>
+    --exec-prefix=%{_exec_prefix} \<br>
+    --includedir=%{_includedir} --libdir=%{_libdir} \<br>
+    --mandir=%{_mandir} --infodir=%{_infodir}<br>
+<br>
+  %{__make} %{?_smp_mflags} all<br>
+<br>
+  cd ${build_top}<br>
+<br>
+%install<br>
+  build_top=$(pwd)<br>
+<br>
+  %{__rmdir} $SB_BUILD_ROOT<br>
+<br>
+  cd ${build_dir}<br>
+  %{__make} DESTDIR=$SB_BUILD_ROOT install<br>
+<br>
+  # Dropped in FSF-binutils-2.9.5, but Cygwin still ships it.<br>
+  %{__rmdir} $SB_BUILD_ROOT%{_infodir}/<a href="http://configure.info" target="_blank">conf<u></u>igure.info</a>*<br>
+<br>
+  %{__rmfile} $SB_BUILD_ROOT%{_infodir}/dir<br>
+  touch $SB_BUILD_ROOT%{_infodir}/dir<br>
+<br>
+  cd ${build_top}<br>
<br>
</blockquote>
</div></div></blockquote></div><br></div></div>