From: Jon Loeliger <jdl@jdl•com>
To: David Gibson <david@gibson•dropbear.id.au>
Cc: linuxppc-dev@ozlabs•org, Benno Rice <benno@jeamland•net>
Subject: Re: dtc: Address an assortment of portability problems
Date: Mon, 14 Jul 2008 13:54:41 -0500 [thread overview]
Message-ID: <E1KITC5-0006rG-EI@jdl.com> (raw)
In-Reply-To: <20080626010349.GH308@yookeroo.seuss>
> I've recently worked with a FreeBSD developer, getting dtc and libfdt
> working on FreeBSD. This showed up a number of portability problems
> in the dtc package which this patch addresses. Changes are as
> follows:
>
> - the parent_offset and supernode_atdepth_offset testcases
> used the glibc extension functions strchrnul() and strndupa(). Those
> are removed, using slightly longer coding with standard C functions
> instead.
>
> - some other testcases had a #define _GNU_SOURCE for no
> particular reason. This is removed.
>
> - run_tests.sh has bash specific constructs removed, and the
> interpreter changed to /bin/sh. This apparently now runs fine on
> FreeBSD's /bin/sh, and I've also tested it with both ash and dash.
>
> - convert-dtsv0-lexer.l has some extra #includes added. These
> must have been included indirectly with Linux and glibc, but aren't on
> FreeBSD.
>
> - the endian handling functions in libfdt_env.h, based on
> endian.h and byteswap.h are replaced with some portable open-coded
> versions. Unfortunately, these result in fairly crappy code when
> compiled, but as far as I can determine there doesn't seem to be any
> POSIX, SUS or de facto standard way of determining endianness at
> compile time, nor standard names for byteswapping functions.
>
> - some more endian handling, from testdata.h using the
> problematic endian.h is simply removed, since it wasn't actually being
> used anyway.
>
> Signed-off-by: David Gibson <david@gibson•dropbear.id.au>
This patch didn't apply directly.
The problem appeared to be the mysterious and suspect "exit 99"
in the middle of the following context. I whacked on the patch
directly by-hand, and managed to get it to apply.
Obligatory "Not using git" grumble.
Applied after all.
jdl
> Index: dtc/tests/run_tests.sh
> ===================================================================
> --- dtc.orig/tests/run_tests.sh 2008-06-26 10:40:59.000000000 +1000
> +++ dtc/tests/run_tests.sh 2008-06-26 10:43:21.000000000 +1000
> @@ -15,19 +15,19 @@
> tot_strange=0
>
> base_run_test() {
> - tot_tests=$[tot_tests + 1]
> + tot_tests=$((tot_tests + 1))
> if VALGRIND="$VALGRIND" "$@"; then
> - tot_pass=$[tot_pass + 1]
> + tot_pass=$((tot_pass + 1))
> else
> ret="$?"
> if [ "$ret" == "1" ]; then
> - tot_config=$[tot_config + 1]
> + tot_config=$((tot_config + 1))
> elif [ "$ret" == "2" ]; then
> - tot_fail=$[tot_fail + 1]
> + tot_fail=$((tot_fail + 1))
> elif [ "$ret" == "$VGCODE" ]; then
> - tot_vg=$[tot_vg + 1]
> + tot_vg=$((tot_vg + 1))
> else
> - tot_strange=$[tot_strange + 1]
> + tot_strange=$((tot_strange + 1))
> fi
> exit 99
> fi
next prev parent reply other threads:[~2008-07-14 18:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-26 1:03 dtc: Address an assortment of portability problems David Gibson
2008-06-26 15:25 ` Scott Wood
2008-06-26 23:47 ` David Gibson
2008-06-27 14:53 ` Scott Wood
2008-06-28 0:15 ` David Gibson
2008-07-14 18:54 ` Jon Loeliger [this message]
2008-07-15 0:44 ` 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=E1KITC5-0006rG-EI@jdl.com \
--to=jdl@jdl$(echo .)com \
--cc=benno@jeamland$(echo .)net \
--cc=david@gibson$(echo .)dropbear.id.au \
--cc=linuxppc-dev@ozlabs$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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