Why do variables and functions get prefixed with "__be_" when compiled with ICC bi-endian compiler?

Viewed 47

I have compiled my C code using ICC bi-endian compiler.

And I am using GDB 8.1.3, for debugging.

When I run the GDB with my image as input file, and give a function name to put a breakpoint, it doesn't accept. It throws a message like -

Function "myFunction" not defined.
Make breakpoint pending on future shared library load? (y or [n]) 

However, if I try to put a breakpoint by pre-fixing the function name with __be_ then it accepts -

(gdb) b __be_myFunction
Breakpoint 2 at 0x7777777b72347e: file ../abc/efg/src/source_file.c, line 123.

I am not able to understand what is the significance of __be_ here? Why GDB is not able to understand the function name as is?

Note: With older version of GDB - 7.2.2, I can place the breakpoint with the function names as is; and don't have to prefix it with __be_

0 Answers
Related