----- 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: [Crash-utility] [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