ports -r484565 : qemu-arm-static fails with: (start < end), function page_set_flags, file . . . accel/tcg/translate-all.c, line 2077

Mark Millard marklmi at yahoo.com
Sat Nov 10 22:30:30 UTC 2018


On 2018-Nov-10, at 12:28, Kyle Evans <kevans at freebsd.org> wrote:

> On Sat, Nov 10, 2018 at 11:38 AM Mark Millard via freebsd-ports
> <freebsd-ports at freebsd.org> wrote:
>> 
>> Having actually installed the reverted code fist ( -r438807 ),
>> cmake's package stage is now well past were it was failing.
>> 
>> So it is not the pkg vintage that matters: it is the qemu-sbruno
>> vintage that matters.
>> 
>> (gcc8 getting that far is hours away: full bootstrap, so mostly
>> emulated.)
>> 
> 
> I find the assertion you've reported fairly bizarre, since all of the
> page_set_flags invocations we would've touched are generally of the
> form `page_set_flags(start, start + len, ...)` -- I'm working on
> reproducing locally, though.

Looking at the overall sources for the two versions ( as seen via
-r483807 and -r484565 ) I find a possibly-significant changed file:

# diff -u /wrkdirs/usr/ports/emulators/qemu-user-static/*work/qemu-bsd-user-*/bsd-user/mmap.c | more
--- /wrkdirs/usr/ports/emulators/qemu-user-static/483807-work/qemu-bsd-user-495fb3a/bsd-user/mmap.c     2018-05-25 07:28:13.000000000 -0700
+++ /wrkdirs/usr/ports/emulators/qemu-user-static/484565-work/qemu-bsd-user-2cb0cdd/bsd-user/mmap.c     2018-11-09 09:27:18.000000000 -0800

(I'll not list much of the differences here.)

It includes things like:

-static abi_ulong mmap_find_vma_reserved(abi_ulong start, abi_ulong size)
+static abi_ulong mmap_find_vma_reserved(abi_ulong start, abi_ulong size, abi_ulong alignment)
. . .
-abi_ulong mmap_find_vma(abi_ulong start, abi_ulong size)
+static abi_ulong mmap_find_vma_aligned(abi_ulong start, abi_ulong size, abi_ulong alignment)
. . .
+abi_ulong mmap_find_vma(abi_ulong start, abi_ulong size)
+{
+    return mmap_find_vma_aligned(start, size, 0);
+}
+

and changes inside:

 abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
                      int flags, int fd, off_t offset)


This looks like it might change what address ranges are used.
(But I do not claim familiarity with the code or its use.)

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-ports mailing list