On Thu, Mar 14, 2013 at 01:16:36PM +0100, Alexander Dahl wrote:
> We use -Wcast-align on ARMv5 platform and libmodbus3 sets -Werror
> which leads to a failing build in one case. This patch fixes the
> alignment problem. Upstream pull requested.

Hmm, this is just unit test stuff, right? We don't actually need this.
Maybe we should do this instead:

LIBMODBUS3_MAKE_OPT     := -C src
LIBMODBUS3_INSTALL_OPT  := -C src install

Michael

> Signed-off-by: Alexander Dahl <[email protected]>
> ---
>  ...nt-problem-build-fails-with-Werror-and-Wc.patch |   33 
> ++++++++++++++++++++
>  patches/libmodbus-3.0.3/series                     |    4 ++
>  2 files changed, 37 insertions(+), 0 deletions(-)
>  create mode 100644 
> patches/libmodbus-3.0.3/0001-fix-alignment-problem-build-fails-with-Werror-and-Wc.patch
>  create mode 100644 patches/libmodbus-3.0.3/series
> 
> diff --git 
> a/patches/libmodbus-3.0.3/0001-fix-alignment-problem-build-fails-with-Werror-and-Wc.patch
>  
> b/patches/libmodbus-3.0.3/0001-fix-alignment-problem-build-fails-with-Werror-and-Wc.patch
> new file mode 100644
> index 0000000..88db0df
> --- /dev/null
> +++ 
> b/patches/libmodbus-3.0.3/0001-fix-alignment-problem-build-fails-with-Werror-and-Wc.patch
> @@ -0,0 +1,33 @@
> +From: Alexander Dahl <[email protected]>
> +Date: Wed, 13 Mar 2013 16:45:04 +0100
> +Subject: [PATCH] fix alignment problem (build fails with -Werror and
> + -Wcast-align on ARMv5 platform)
> +
> +---
> + tests/unit-test-client.c |    6 ++++--
> + 1 file changed, 4 insertions(+), 2 deletions(-)
> +
> +diff --git a/tests/unit-test-client.c b/tests/unit-test-client.c
> +index 533e6a7..7c3c64d 100644
> +--- a/tests/unit-test-client.c
> ++++ b/tests/unit-test-client.c
> +@@ -41,6 +41,7 @@ int main(int argc, char *argv[])
> +     int nb_points;
> +     int rc;
> +     float real;
> ++    uint32_t ireal;
> +     struct timeval old_response_timeout;
> +     struct timeval response_timeout;
> +     int use_backend;
> +@@ -325,8 +326,9 @@ int main(int argc, char *argv[])
> +         tab_rp_registers[0] == (UT_IREAL & 0xFFFF)) {
> +         printf("OK\n");
> +     } else {
> +-        printf("FAILED (%x != %x)\n",
> +-               *((uint32_t *)tab_rp_registers), UT_IREAL);
> ++        ireal = (uint32_t) tab_rp_registers[0] & 0xFFFF;
> ++        ireal |= (uint32_t) tab_rp_registers[1] << 16;
> ++        printf("FAILED (%x != %x)\n", ireal, UT_IREAL);
> +         goto close;
> +     }
> + 
> diff --git a/patches/libmodbus-3.0.3/series b/patches/libmodbus-3.0.3/series
> new file mode 100644
> index 0000000..9d8674a
> --- /dev/null
> +++ b/patches/libmodbus-3.0.3/series
> @@ -0,0 +1,4 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-fix-alignment-problem-build-fails-with-Werror-and-Wc.patch
> +# d7fc60de785d0108680a1d6983f01a48  - git-ptx-patches magic
> -- 
> 1.7.2.5
> 
> 
> -- 
> ptxdist mailing list
> [email protected]
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
[email protected]

Reply via email to