Skip to content

Getting warning bad fde: FDE is really a CIE - GCC 6.3.1 extern "C" #86

Open
@suedama1756

Description

@suedama1756

Environment:

  • Redhat Enterprise Server Linux Server release 7.6
  • G++: 6.3.1 20170216 (Redhat 6.3.1-3)
  • LLVM 9.0

I'm getting an "bad fde: FDE is really a CIE" warning when making calls to extern "C" functions in GCC 6.3.1. I can make the issue go away if I mark the external function with NoUnwind, however, I don't think this is the correct solution as the function may throw.

Taking a wild guess I tried setting the personality of the external function to __gxx_personality_v0 however this then fails validation as external functions cannot be given a personality.

I'm using LLVM 9.0 as a JIT, I'm using the ORC2 API, however, the issue is also demonstrable using the Kaleidascope JIT here: https://llvm.org/docs/tutorial/index.html The error is raised from the DwarfParser.hpp at the point the generated function is resolved (jitted)

Is there a correct way to deal with this, is it something I need to even worry about?

Metadata

Metadata

Assignees

No one assigned

    Labels

    clang:codegenIR generation bugs: mangling, exceptions, etc.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions