To clarify, I think this fixes the build problem when attempting to build
gem5.opt, although we're running into other issues with pybind which I
think might be specific to the version of Ubuntu we're trying to use. It
"works" because while the systemc SConscript is processed, none of the
build outputs are pulled into the dependency tree and so none are built.
That's why my one change makes it possible to build things in ext/
explicitly if you wanted to for, for example, testing the build.

Gabe

On Fri, May 19, 2017 at 5:03 PM, Gabe Black <gabebl...@google.com> wrote:

> I made a pass at fixing this with these two CLs:
>
> https://gem5-review.googlesource.com/#/c/3460/
> https://gem5-review.googlesource.com/#/c/3461/
>
> With those applied, I'm still running into compile errors, I think because
> the underlying type for uint64 is unsigned long, and there are operators
> which override for both types. I think g++ gets cranky because those are
> equivalent or at least ambiguous, so you're not allowed to have both. I'm
> not sure why that would blow up on 64 it ARM and not 64 bit x86, but then
> again I'm not super familiar with this code base.
>
> Gabe
>
> On Fri, May 19, 2017 at 2:05 AM, Christian Menard <
> christian.men...@tu-dresden.de> wrote:
>
>> Hi Gabe,
>>
>> thanks for reporting this. I will look into it and hopefully post a patch
>> soon. Maybe it would be best to leave QT threads out completely and use
>> pthreads on all platforms. However, in the past, this caused some trouble
>> on
>> x86 when linking to gem5.
>>
>> Kind regards,
>> Christian
>>
>> On Friday, 19 May 2017 09:25:51 CEST Gabe Black wrote:
>> > Hi folks. We've just started to run into some problems building on ARM
>> > because the systemc build fails out. While investigating, I found a
>> couple
>> > problems which are to blame.
>> >
>> > First, the SConscript seems to be assuming that it should be using the
>> QT
>> > threading implementation which requires architecture specific assembly
>> > files. There is no file for ARM, so that will fail on ARM. Some Googling
>> > suggests that systemc can in fact be built for ARM, but it needs to use
>> > pthreads for its threading implementation.
>> >
>> > That led me to discover that the files which should be used with
>> pthreads,
>> > src/sysc/kernel/sc_cor_pthread.cpp, are already being included, and the
>> > -pthread flag is being enabled unconditionally. I think those things
>> should
>> > be left out when using the QT threading library, and similarly the
>> assembly
>> > file shouldn't be required when building on ARM with pthreads.
>> >
>> > Gabe
>> > _______________________________________________
>> > gem5-dev mailing list
>> > gem5-dev@gem5.org
>> > http://m5sim.org/mailman/listinfo/gem5-dev
>>
>>
>> --
>> Dipl.-Ing. Christian Menard
>> Research Assistant
>>
>> TU Dresden
>> Faculty of Computer Science
>> Chair for Compiler Construction
>> 01062 Dresden
>>
>> Phone: +49 351 463-42441
>> e-Mail: christian.men...@tu-dresden.de
>>
>> _______________________________________________
>> gem5-dev mailing list
>> gem5-dev@gem5.org
>> http://m5sim.org/mailman/listinfo/gem5-dev
>
>
>
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to