devicetree-compiler.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: kevans-HZy0K5TPuP5AfugRpC6u6w@public.gmane.org
Cc: Jon Loeliger <jdl-CYoMK+44s/E@public.gmane.org>,
	devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] Improve compatibility with other platforms
Date: Wed, 3 Jan 2018 11:13:00 +1100	[thread overview]
Message-ID: <20180103001300.GF24581@umbus.fritz.box> (raw)
In-Reply-To: <20180101041518.23806-1-kevans-HZy0K5TPuP5AfugRpC6u6w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 3538 bytes --]

On Sun, Dec 31, 2017 at 10:15:18PM -0600, kevans-HZy0K5TPuP5AfugRpC6u6w@public.gmane.org wrote:
> This doesn't make things work out of the box necessarily, but it gets us a step
> closer.
> 
>  - alloca(3) on FreeBSD and OpenBSD, at least, is provided as part of
> <stdlib.h>. I make the change here for FreeBSD only, though, as I cannot test it
> on OpenBSD.

TBH, rather than dicking around with #ifdefs and headers, I'd rather
use use malloc() instead of alloca().

>  - stat -c %s's equivalent on FreeBSD is stat -f %Uz; these differ enough, allow
> STATSZ in the environment to specify local replacement for a stat that outputs
> size in bytes of an argument.

Can you split this change out into a separate patch, please.

> 
> This greatly reduces, but not eliminates, the magnitude of patch needed to run
> the test suite successfully on other platforms. It also helps denote where
> changes may be required.
> 
> Signed-off-by: Kyle Evans <kevans-HZy0K5TPuP5AfugRpC6u6w@public.gmane.org>


> ---
>  fdtoverlay.c       |  3 +++
>  tests/run_tests.sh | 13 +++++++++----
>  2 files changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/fdtoverlay.c b/fdtoverlay.c
> index 7f124fc..7d60021 100644
> --- a/fdtoverlay.c
> +++ b/fdtoverlay.c
> @@ -26,7 +26,10 @@
>  #include <stdio.h>
>  #include <stdlib.h>
>  #include <string.h>
> +/* alloc(3) is provided by stdlib.h on some platforms */
> +#ifndef __FreeBSD__
>  #include <alloca.h>
> +#endif
>  #include <inttypes.h>
>  
>  #include <libfdt.h>
> diff --git a/tests/run_tests.sh b/tests/run_tests.sh
> index d36dffb..13c9f1c 100755
> --- a/tests/run_tests.sh
> +++ b/tests/run_tests.sh
> @@ -6,6 +6,11 @@ if [ -z "$CC" ]; then
>      CC=gcc
>  fi
>  
> +# stat differs between platforms
> +if [ -z "$STATSZ" ]; then
> +	STATSZ="stat -c %s"
> +fi
> +
>  export QUIET_TEST=1
>  STOP_ON_FAIL=0
>  
> @@ -114,7 +119,7 @@ run_wrap_error_test () {
>  # $2: align base
>  check_align () {
>      shorten_echo "check_align $@:	"
> -    local size=$(stat -c %s "$1")
> +    local size=$($STATSZ "$1")
>      local align="$2"
>      (
>  	if [ $(($size % $align)) -eq 0 ] ;then
> @@ -714,7 +719,7 @@ fdtput_tests () {
>      text=lorem.txt
>  
>      # Allow just enough space for $text
> -    run_dtc_test -O dtb -p $(stat -c %s $text) -o $dtb $dts
> +    run_dtc_test -O dtb -p $($STATSZ $text) -o $dtb $dts
>  
>      # run_fdtput_test <expected-result> <file> <node> <property> <flags> <value>
>      run_fdtput_test "a_model" $dtb / model -ts "a_model"
> @@ -733,7 +738,7 @@ fdtput_tests () {
>      run_fdtput_test "$(cat $text $text)" $dtb /randomnode blob -ts "$(cat $text $text)"
>  
>      # Start again with a fresh dtb
> -    run_dtc_test -O dtb -p $(stat -c %s $text) -o $dtb $dts
> +    run_dtc_test -O dtb -p $($STATSZ $text) -o $dtb $dts
>  
>      # Node creation
>      run_wrap_error_test $DTPUT $dtb -c /baldrick sod
> @@ -761,7 +766,7 @@ fdtput_tests () {
>      run_wrap_test $DTPUT $dtb -cp /chosen/son
>  
>      # Start again with a fresh dtb
> -    run_dtc_test -O dtb -p $(stat -c %s $text) -o $dtb $dts
> +    run_dtc_test -O dtb -p $($STATSZ $text) -o $dtb $dts
>  
>      # Node delete
>      run_wrap_test $DTPUT $dtb -c /chosen/node1 /chosen/node2 /chosen/node3

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2018-01-03  0:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-01  4:15 [PATCH] Improve compatibility with other platforms kevans-HZy0K5TPuP5AfugRpC6u6w
     [not found] ` <20180101041518.23806-1-kevans-HZy0K5TPuP5AfugRpC6u6w@public.gmane.org>
2018-01-03  0:13   ` David Gibson [this message]
     [not found]     ` <20180103001300.GF24581-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-03  2:37       ` Kyle Evans
     [not found]         ` <CACNAnaEpF9sK6dNbPG4_f_tyrp3yq1nyG+SS40VUgBCkLqYJdw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-03  2:58           ` David Gibson
     [not found]             ` <20180103025856.GL24581-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-03  3:29               ` Kyle Evans
     [not found]                 ` <CACNAnaFntyUbpiVVwFfiL_0EtX894Uidsdca3_jdBcNOVM4f0g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-03  3:55                   ` David Gibson
     [not found]                     ` <20180103035510.GO24581-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-03 14:03                       ` Kyle Evans
     [not found]                         ` <CACNAnaGwpwRO27d2trLBqZjtiZYP1HBP=ck6GJ2N8VrTNehnFw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-04  0:54                           ` David Gibson
     [not found]                             ` <20180104005407.GS24581-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-04  1:47                               ` Kyle Evans
     [not found]                                 ` <CACNAnaGEV=YDFsLbGBN+O68dJnDXeRwd0YaXWb2u3x1rSdkF8Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-04  3:16                                   ` David Gibson
2018-01-03 16:51                       ` Rob Herring
     [not found]                         ` <CAL_JsqK+ySbuCC27sSQ+VJg78n0m_QOTHQ90ur5pwahyBoU0Dw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-04  0:55                           ` David Gibson
     [not found]                             ` <20180104005500.GT24581-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2018-01-04  0:58                               ` David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180103001300.GF24581@umbus.fritz.box \
    --to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
    --cc=devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=jdl-CYoMK+44s/E@public.gmane.org \
    --cc=kevans-HZy0K5TPuP5AfugRpC6u6w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).