Patchwork scripts: Select the correct "strip" to strip gdbserver for Canadian build

login
register
mail settings
Submitter Zhenqiang Chen
Date Sept. 19, 2012, 8:56 a.m.
Message ID <CACgzC7CDumsGp2S09eDXtQ1vT9CrX4YJ-3dXTfiWBgA8Go0Z_A@mail.gmail.com>
Download mbox | patch
Permalink /patch/184951/
State Superseded
Headers show

Comments

Zhenqiang Chen - Sept. 19, 2012, 8:56 a.m.
> could you set a local variable so that you don't have to copy & paste the
> entire command twice ?
>         local cross_strip="bin/${CT_TARGET}-strip"
>         [[ ${CT_TARGET} == "y" ]] && cross_strip=${CT_TARGET}-strip
>         CT_DoExecLog ALL ${cross_strip} ...

Thanks for the comments. Update it as:

exporting patch:
# HG changeset patch
# User Zhenqiang Chen <zhenqiang.chen@linaro.org>
# Date 1348044842 -28800
# Node ID 49dc965c5eada0b4bbef5f7810a259eae5773bb1
# Parent  2858a24a584642e263a920b4214c815c172ed547
scripts: Select the correct "strip" to strip gdbserver for Canadian build.

For Canadian build, we can not run the bin/${CT_TARGET}-strip on the build
system. But ${CT_TARGET}-strip should be on PATH.

Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>


--
For unsubscribe information see http://sourceware.org/lists.html#faq
Yann E. MORIN - Sept. 19, 2012, 9:04 p.m.
Zhenqiang, Mike, All,

On Wednesday 19 September 2012 10:56:18 Zhenqiang Chen wrote:
> # HG changeset patch
> # User Zhenqiang Chen <zhenqiang.chen@linaro.org>
> # Date 1348044842 -28800
> # Node ID 49dc965c5eada0b4bbef5f7810a259eae5773bb1
> # Parent  2858a24a584642e263a920b4214c815c172ed547
> scripts: Select the correct "strip" to strip gdbserver for Canadian build.
> 
> For Canadian build, we can not run the bin/${CT_TARGET}-strip on the build
> system. But ${CT_TARGET}-strip should be on PATH.
> 
> Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
> 
> diff -r 2858a24a5846 -r 49dc965c5ead scripts/build/internals.sh
> --- a/scripts/build/internals.sh	Sun Aug 12 07:45:42 2012 -0400
> +++ b/scripts/build/internals.sh	Wed Sep 19 16:54:02 2012 +0800
> @@ -25,8 +25,12 @@
> 
>          # Strip gdbserver
>          if [ "${CT_GDB_GDBSERVER}" = "y" ]; then
> -           CT_DoExecLog ALL bin/${CT_TARGET}-strip ${strip_args}    \
> -                            ${CT_TARGET}/debug-root/usr/bin/gdbserver
> +            local cross_strip="bin/${CT_TARGET}-strip"
> +            # For Canadian build, we can not run the bin/${CT_TARGET}-strip on
> +            # the build system. But ${CT_TARGET}-strip should be on PATH.
> +            [ "${CT_CANADIAN}" = "y" ] && cross_strip="${CT_TARGET}-strip"
> +            CT_DoExecLog ALL ${cross_strip} ${strip_args}    \
> +                             ${CT_TARGET}/debug-root/usr/bin/gdbserver

Just call ${CT_TARGET}-strip :
  - if in cross-mode, then we can run it from the final installation
    location ${CT_PREFIX_DIR}/bin, which is in the $PATH
  - if in canadian-mode, then we can run it from the 'host' binutils
    that was build earlier, and isntalled in ${CT_BUILDTOOLS_DIR}/bin,
    which is also in the $PATH

Note: in cross-mode, both ${CT_PREFIX_DIR}/bin and ${CT_BUILDTOOLS_DIR}/bin
are in the $PATH, in this order, to give precedence to the final location
over the build-time-only tools. In canadian-mode, only the latter is in the
$PATH, so we do not even have the possibility to run host code.

Regards,
Yann E. MORIN.

Patch

diff -r 2858a24a5846 -r 49dc965c5ead scripts/build/internals.sh
--- a/scripts/build/internals.sh	Sun Aug 12 07:45:42 2012 -0400
+++ b/scripts/build/internals.sh	Wed Sep 19 16:54:02 2012 +0800
@@ -25,8 +25,12 @@ 

         # Strip gdbserver
         if [ "${CT_GDB_GDBSERVER}" = "y" ]; then
-           CT_DoExecLog ALL bin/${CT_TARGET}-strip ${strip_args}    \
-                            ${CT_TARGET}/debug-root/usr/bin/gdbserver
+            local cross_strip="bin/${CT_TARGET}-strip"
+            # For Canadian build, we can not run the bin/${CT_TARGET}-strip on
+            # the build system. But ${CT_TARGET}-strip should be on PATH.
+            [ "${CT_CANADIAN}" = "y" ] && cross_strip="${CT_TARGET}-strip"
+            CT_DoExecLog ALL ${cross_strip} ${strip_args}    \
+                             ${CT_TARGET}/debug-root/usr/bin/gdbserver
         fi
         # We can not use the version in CT_CC_VERSION because
         # of the Linaro stuff. So, harvest the version string