[Crash-utility] Support for crash running on an ARM 32 bit host analyzing ARM 32 bit crash files? Looking unlikely. :(
Dave Anderson
anderson at redhat.com
Sat Feb 8 15:35:20 UTC 2020
----- Original Message -----
> Hi Dave:
>
> I gave it another shot this afternoon, knowing now that I should be able to
> confiure the build for this.
>
> I'm having trouble getting configure (configure.c) to modify the Makefile for
> building on an X86 server a copy of crash
> That's to run on a ARM (32) and debug ARM (32) crash dumps. Exec_tools wasn't
> a problem. I looked at configure.c
> And I saw a section supporting ARM64 but didn't see a non-64 bit ARM case. I
> can't access the build details right now
> To provide details.
I can't help with any cross-compile manipulations, so hopefully Robert's response
can help out.
But if you want to build a 32-bit x86 binary on an x86_64 host that can be used to
analyze 32-bit ARM dumpfiles on the x86_64 host, it is as simple as:
$ git clone git://github.com/crash-utility/crash.git
...
$ cd crash
$ make target=ARM
...
However, it does require that your x86_64 host has the necessary
32-bit libraries. For example, if the 32-bit ncurses library is not
installed on the host build machine, the build fails early on like this:
$ make target=ARM
...
configure: WARNING: no enhanced curses library found; disabling TUI
checking for library containing tgetent... no
configure: error: no termcap library found
Makefile:8235: recipe for target 'configure-gdb' failed
make[3]: *** [configure-gdb] Error 1
Makefile:834: recipe for target 'all' failed
make[2]: *** [all] Error 2
crash build failed
Makefile:229: recipe for target 'gdb_merge' failed
make[1]: *** [gdb_merge] Error 1
Makefile:224: recipe for target 'all' failed
make: *** [all] Error 2
$
So it essentially requires 32-bit gcc library, ncurses, zlib, snappy and lzo.
(snappy and lzo are only required if the compressed kdump was created using
either of those compression libraries).
I have this old note re: building on an RHEL6 machine, which required redundant
rpm steps because yum install didn't work as expected:
$ yum install glibc-devel.i686 libgcc.i686
$ yum install ncurses-libs.i686
$ yum install ncurses.i686
$ yum install zlib.i686
$ yum install ncurses-5.7-3.20090208.el6.i686.rpm ncurses-devel-5.7-3.20090208.el6.i686.rpm
$ yum install snappy-1.1.0-1.el6.i686.rpm snappy-devel-1.1.0-1.el6.i686.rpm
$ yum install lzo-2.03-3.1.el6.i686.rpm lzo-devel-2.03-3.1.el6.i686.rpm lzo-minilzo-2.03-3.1.el6.i686.rpm
$ rpm -ivh lzo-2.03-3.1.el6.i686.rpm lzo-devel-2.03-3.1.el6.i686.rpm lzo-minilzo-2.03-3.1.el6.i686.rpm --force
$ rpm -ivh zlib-1.2.3-29.el6.i686.rpm zlib-devel-1.2.3-29.el6.i686.rpm zlib-static-1.2.3-29.el6.i686.rpm
Dave
>
> Sometime I've been getting TARGET in the Makefile to change from 64 bit X86
> to ARM but think it's consistently using
> The native cc instead of the cross CC. I've tried changing the ENVIRONMENT
> variables like I did for exec_tools and for the
> Kernel but so far haven't seen any evidence of the configure program noticing
> that the host CC isn't to be used.
>
> I'm using my Makefile to drive the building of ./configure in the
> ${CRASH-UTILITY} build directory.
> After that I'm running the .configure that it builds,
> And the having my Makefile evoke a make in the ${CRASH-UTILITY} build
> directory.
>
> I've been trying to pass CROSS_COMPILE options and env variables at both the
> configure and make stages.
> Would likely save some time if you tell me how you have been doing it or
> point our a web page or doc on
> A suggest approach to building crash-utility on an X86 for running on an ARM.
> Like building Android, this
> Is likely a rather common goal.
>
> -piet
>
> -----Original Message-----
> From: crash-utility-bounces at redhat.com <crash-utility-bounces at redhat.com> On
> Behalf Of Dave Anderson
> Sent: Friday, February 7, 2020 6:20 AM
> To: Discussion list for crash utility usage, maintenance and development
> <crash-utility at redhat.com>
> Cc: piet delaney 2 <piet.delaney.2 at gmail.com>
> Subject: Re: [Crash-utility] Support for crash running on an ARM 32 bit host
> analyzing ARM 32 bit crash files? Looking unlikely. :(
>
>
>
> ----- Original Message -----
> >
> >
> > Hi Dave:
> >
> > I tried to build crash-utility to run on a 32 bit ARM to analyze 32
> > bit ARM crash dumps.
> >
> > On looking at the Make file it appeared that ARM is supported.
> >
> > #
> > # Supported targets: X86 ALPHA PPC IA64 PPC64 SPARC64 # TARGET and
> > GDB_CONF_FLAGS will be configured automatically by configure #
> >
> > I was a bit disappointed. ☹
> >
> > Any hope (in the future perhaps)?
> >
> > -piet
>
> I forgot that comment in the Makefile even existed -- it's also missing
> X86_64, ARM64, PPC64, S390 and S390X.
>
> What happened when you tried to build a 32-bit ARM binary? It's been
> "supported"
> for about 10 years now, but depends upon patches, fixes, and testing by
> external developers (outside Red Hat), given that we have no 32-bit ARM
> hardware to test on.
>
> Dave
>
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
>
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
More information about the Crash-utility
mailing list