----- Original Message ----- > > ----- Original Message ----- > >> > >> > >> ----- Original Message ----- > >> > Hi, > >> > > >> > Here's an alternative patch for your consideration, which makes it > >> > possible to point to e.g. a local eppic git. > >> > > >> > It also builds ARM with '-m32'. This change is not enough to achieve > >> > that however. Similar tweaks are needed in eppic itself. > >> > > >> > Regards, > >> > Per > >> > >> Per, > >> > >> Sorry I got to Cliff's patch before yours -- so can you rework > >> your patch using the version of eppic.mk that is attached to: > >> > >> Re: [PATCH] allow various git command locations > >> https://www.redhat.com/archives/crash-utility/2012-August/msg00012.html > >> > >> Thanks, > >> Dave > > > > OK, I've shoehorned the EPPIC_GIT_URL environment variable check > > into eppic.mk. > > > > Sorry I took so long. Vacation... =o) > > So, you already put it in there? Thanks. > > > But for now I'm leaving out your -m32 addition for ARM builds > > until there's a complete solution for ARM. Note that when I > > put the -m32 patch in place, the compile fails when building > > ARM on an x86_64 host: > > > > gcc -g -I.. -Ieppic/libeppic -I../gdb-7.3.1/bfd > > -I../gdb-7.3.1/include -I../gdb-7.3.1/gdb > > -I../gdb-7.3.1/gdb/config -I../gdb-7.3.1/gdb/common -I../gdb-7.3.1 > > -nostartfiles -shared -rdynamic -o eppic.so > > eppic/applications/crash/eppic.c -fPIC -DARM -m32 -DGDB_7_3_1 > > -Leppic/libeppic -leppic > > eppic/applications/crash/eppic.c: In function ‘apigetval’: > > eppic/applications/crash/eppic.c:474: warning: cast from pointer to > > integer of different size > > /usr/bin/ld: skipping incompatible eppic/libeppic/libeppic.a when > > searching for -leppic > > /usr/bin/ld: cannot find -leppic > > collect2: ld returned 1 exit status > > make[4]: [eppic.so] Error 1 (ignored) > > > > whereas without the -m32 at least it builds something (albeit > > probably useless). > > > > I think we might have a catch 22 on our hands. The reason it fails is > that the eppic library doesn't get built with -m32, but if we start by > modifying the eppic git the build will fail because eppic is 32 bit > and the crash extension is 64 bit. I've attached the change I made to > the eppic git. > > /Per OK, that works. In fact, the same thing needs to be done for building a 32-bit X86 eppic.so from an x86_64 host after having done the intial build with "make target=X86". I'll change eppic.mk (attached) to look like this instead of embedding the ifeq's: TARGET_FLAGS = -D$(TARGET) ifeq ($(TARGET), PPC64) TARGET_FLAGS += -m64 endif ifeq ($(TARGET), ARM) TARGET_FLAGS += -m32 endif ifeq ($(TARGET), X86) TARGET_FLAGS += -m32 endif And for the eppic/libeppic/Makefile, the analogous change should also be done for X86: $ git diff diff --git a/libeppic/Makefile b/libeppic/Makefile index f323eab..3b6d212 100644 --- a/libeppic/Makefile +++ b/libeppic/Makefile @@ -28,6 +28,13 @@ CFLAGS += -O0 -g -fPIC ifeq ($(TARGET), PPC64) CFLAGS += -m64 endif +ifeq ($(TARGET), ARM) + CFLAGS += -m32 +endif +ifeq ($(TARGET), X86) + CFLAGS += -m32 +endif + CFILES = eppic_util.c eppic_node.c eppic_var.c eppic_func.c eppic_str.c \ eppic_op.c eppic_num.c eppic_stat.c eppic_builtin.c eppic_type.c \ $ Luc, can you apply the attached eppic-m32.patch to the eppic git tree? Thanks, Dave
Attachment:
eppic.mk
Description: Binary data
diff --git a/libeppic/Makefile b/libeppic/Makefile index f323eab..3b6d212 100644 --- a/libeppic/Makefile +++ b/libeppic/Makefile @@ -28,6 +28,13 @@ CFLAGS += -O0 -g -fPIC ifeq ($(TARGET), PPC64) CFLAGS += -m64 endif +ifeq ($(TARGET), ARM) + CFLAGS += -m32 +endif +ifeq ($(TARGET), X86) + CFLAGS += -m32 +endif + CFILES = eppic_util.c eppic_node.c eppic_var.c eppic_func.c eppic_str.c \ eppic_op.c eppic_num.c eppic_stat.c eppic_builtin.c eppic_type.c \
-- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility