Coder Social home page Coder Social logo

eppic's People

Contributors

lucchouina avatar

eppic's Issues

Support for ARM64

What steps will reproduce the problem?

1. From within a crash utility source tree, enter "make extensions"

What is the expected output? What do you see instead?

[root@apm-mustang-ev2-01 crash.git]# make extensions
...
cd eppic/libeppic && make
bison -peppic -v -t -d eppic.y
eppic.y: conflicts: 253 shift/reduce, 20 reduce/reduce
cc -O0 -g -fPIC   -c -o eppic_util.o eppic_util.c
cc -O0 -g -fPIC   -c -o eppic_node.o eppic_node.c
cc -O0 -g -fPIC   -c -o eppic_var.o eppic_var.c
cc -O0 -g -fPIC   -c -o eppic_func.o eppic_func.c
cc -O0 -g -fPIC   -c -o eppic_str.o eppic_str.c
cc -O0 -g -fPIC   -c -o eppic_op.o eppic_op.c
cc -O0 -g -fPIC   -c -o eppic_num.o eppic_num.c
cc -O0 -g -fPIC   -c -o eppic_stat.o eppic_stat.c
cc -O0 -g -fPIC   -c -o eppic_builtin.o eppic_builtin.c
cc -O0 -g -fPIC   -c -o eppic_type.o eppic_type.c
cc -O0 -g -fPIC   -c -o eppic_case.o eppic_case.c
cc -O0 -g -fPIC   -c -o eppic_api.o eppic_api.c
cc -O0 -g -fPIC   -c -o eppic_member.o eppic_member.c
cc -O0 -g -fPIC   -c -o eppic_alloc.o eppic_alloc.c
cc -O0 -g -fPIC   -c -o eppic_define.o eppic_define.c
cc -O0 -g -fPIC   -c -o eppic_input.o eppic_input.c
cc -O0 -g -fPIC   -c -o eppic_print.o eppic_print.c
bison -peppicpp -v -t -d eppicpp.y
eppicpp.y: conflicts: 23 shift/reduce
cc -O0 -g -fPIC -c eppicpp.tab.c
cc -O0 -g -fPIC -c eppic.tab.c
flex -L -Peppic -t eppic.l > lex.eppic.c
cc -O0 -g -fPIC -c lex.eppic.c
flex -Peppicpp -t eppicpp.l  > lex.eppicpp.c
cc -O0 -g -fPIC -c lex.eppicpp.c
cc -O0 -g -fPIC -o mkbaseop mkbaseop.c
./mkbaseop > baseops.c
cc -O0 -g -fPIC -c baseops.c
ar ccurl libeppic.a eppic_util.o eppic_node.o eppic_var.o eppic_func.o 
eppic_str.o eppic_op.o eppic_num.o eppic_stat.o eppic_builtin.o eppic_type.o 
eppic_case.o eppic_api.o eppic_member.o eppic_alloc.o eppic_define.o 
eppic_input.o eppic_print.o eppicpp.tab.o eppic.tab.o lex.eppic.o lex.eppicpp.o 
baseops.o
gcc -g -Ieppic/libeppic -I../gdb-7.6/gdb -I../gdb-7.6/bfd -I../gdb-7.6/include 
-I../gdb-7.6/gdb/config -I../gdb-7.6/gdb/common -I../gdb-7.6 -nostartfiles 
-shared -rdynamic -o eppic.so eppic/applications/crash/eppic.c -fPIC -DARM64 
-DGDB_7_6 -Leppic/libeppic -leppic 
eppic/applications/crash/eppic.c: In function '_init':
eppic/applications/crash/eppic.c:1038:2: error: #error eppic: Unkown ABI
 #error eppic: Unkown ABI 
  ^
eppic/applications/crash/eppic.c:1045:24: error: 'EPPIC_ABI' undeclared (first 
use in this function)
   eppic_apiset(&icops, EPPIC_ABI, sizeof(long), 0);
                        ^
eppic/applications/crash/eppic.c:1045:24: note: each undeclared identifier is 
reported only once for each function it appears in
make[4]: [eppic.so] Error 1 (ignored)
...

What version of the product are you using? On what operating system?

This upstream version of eppic, on an ARM64 machine running a Linux 3.15.0-based
kernel.

Please provide any additional information below.

This patch allows the eppic.so module to be built and loaded into a crash
session successfully:

--- eppic/applications/crash/eppic.c.orig
+++ eppic/applications/crash/eppic.c
@@ -1035,10 +1035,14 @@ _init() /* Register the command set. */
 #ifdef PPC64
 #define EPPIC_ABI  ABI_PPC64
 #else
+#ifdef ARM64
+#define EPPIC_ABI  ABI_ARM64
+#else
 #error eppic: Unkown ABI 
 #endif
 #endif
 #endif
+#endif
 #endif
 #endif
 #endif
--- eppic/libeppic/eppic_api.h.orig
+++ eppic/libeppic/eppic_api.h
@@ -29,6 +29,7 @@
 #define ABI_S390        4
 #define ABI_S390X       5
 #define ABI_PPC64   6
+#define ABI_ARM64   7

 /* types of variables */
 #define V_BASE          1

Since the only consumer of EPPIC_ABI is the eppic_apiset() function -- which
ignores it entirely -- I'm presuming that there are no other arch-specific 
issues
that are required?


Original issue reported on code.google.com by [email protected] on 19 Jun 2014 at 3:50

Attachments:

How to redefine a kernel struct using eppic?

Hi guys,
Sorry for asking here, but I really need help from someone who is expert at eppic.

Here's the issue report on ML," [dm-devel] [Report] crash tool cannot resolve struct dm_table properly" - https://www.redhat.com/archives/dm-devel/2017-June/msg00100.html

So, I just want to redefine "struct dm_table{...}" using eppic, so that crash tool can solve it correctly. Before asking here, I've read README and READ.code, and can import the demo ipcs2 into crash sucessfully.

Thanks in advance:-P

exception on function that defines a pointer to a union

What steps will reproduce the problem?

The struct xpmem_id is a length of 8.
I know there are other ways to do this, but
this function causes an exception in just loading
the script.

static void
show_id(long id)
{
        union locid {
                struct xpmem_id sid;
                long lid;
        } *lup;
        long local_id;

        local_id = id;
        lup = (union locid *)&local_id;

        printf("(pid %d uniq %d partid %d)",
                lup->sid.tgid, lup->sid.uniq,
                lup->sid.partid);
}

What is the expected output? What do you see instead?

exception, and failure to load the script

What version of the product are you using? On what operating system?

crash.6.0.8   sles11sp2 on x86_64

Please provide any additional information below.

Luc, you saw this already.  This is just a
memory jogger.

Original issue reported on code.google.com by [email protected] on 9 Aug 2012 at 2:10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.