File omr-libdwarf-2.patch of Package java-17-openj9
--- a/omr/cmake/modules/FindLibDwarf.cmake
+++ b/omr/cmake/modules/FindLibDwarf.cmake
@@ -62,6 +62,16 @@ if(LIBDWARF_0_DWARF_H_INCLUDE_DIR)
set(DWARF_H_FOUND true)
endif()
+if(NOT DWARF_H_FOUND)
+ find_path(LIBDWARF_2_DWARF_H_INCLUDE_DIR "libdwarf-2/dwarf.h")
+
+ if(LIBDWARF_2_DWARF_H_INCLUDE_DIR)
+ list(APPEND DWARF_H_INCLUDE_DIRS "${LIBDWARF_2_DWARF_H_INCLUDE_DIR}")
+ list(APPEND DWARF_H_DEFINITIONS HAVE_LIBDWARF_2_DWARF_H)
+ set(DWARF_H_FOUND true)
+ endif()
+endif()
+
if(NOT DWARF_H_FOUND)
find_path(LIBDWARF_DWARF_H_INCLUDE_DIR "libdwarf/dwarf.h")
@@ -106,6 +116,16 @@ if(LIBDWARF_0_LIBDWARF_H_INCLUDE_DIR)
set(LIBDWARF_H_FOUND true)
endif()
+if(NOT LIBDWARF_H_FOUND)
+ find_path(LIBDWARF_2_LIBDWARF_H_INCLUDE_DIR "libdwarf-2/libdwarf.h")
+
+ if(LIBDWARF_2_LIBDWARF_H_INCLUDE_DIR)
+ list(APPEND LIBDWARF_H_INCLUDE_DIRS "${LIBDWARF_2_LIBDWARF_H_INCLUDE_DIR}")
+ list(APPEND LIBDWARF_H_DEFINITIONS HAVE_LIBDWARF_2_LIBDWARF_H)
+ set(LIBDWARF_H_FOUND true)
+ endif()
+endif()
+
if(NOT LIBDWARF_H_FOUND)
find_path(LIBDWARF_LIBDWARF_H_INCLUDE_DIR "libdwarf/libdwarf.h")
--- a/omr/ddr/include/ddr/scanner/dwarf/DwarfScanner.hpp
+++ b/omr/ddr/include/ddr/scanner/dwarf/DwarfScanner.hpp
@@ -33,22 +33,26 @@
#if defined(HAVE_LIBDWARF_0_DWARF_H)
#include <libdwarf-0/dwarf.h>
-#elif defined(HAVE_LIBDWARF_DWARF_H) /* defined(HAVE_LIBDWARF_0_DWARF_H) */
+#elif defined(HAVE_LIBDWARF_2_DWARF_H) /* defined(HAVE_LIBDWARF_0_DWARF_H) */
+#include <libdwarf-2/dwarf.h>
+#elif defined(HAVE_LIBDWARF_DWARF_H) /* defined(HAVE_LIBDWARF_2_DWARF_H) */
#include <libdwarf/dwarf.h>
#elif defined(HAVE_DWARF_H) /* defined(HAVE_LIBDWARF_DWARF_H) */
#include <dwarf.h>
#else /* defined(HAVE_DWARF_H) */
-#error "Need libdwarf-0/dwarf.h, libdwarf/dwarf.h or dwarf.h"
+#error "Need libdwarf-0/dwarf.h, libdwarf-2/dwarf.h, libdwarf/dwarf.h or dwarf.h"
#endif /* defined(HAVE_LIBDWARF_0_DWARF_H) */
#if defined(HAVE_LIBDWARF_0_LIBDWARF_H)
#include <libdwarf-0/libdwarf.h>
-#elif defined(HAVE_LIBDWARF_LIBDWARF_H) /* defined(HAVE_LIBDWARF_0_LIBDWARF_H) */
+#elif defined(HAVE_LIBDWARF_2_LIBDWARF_H) /* defined(HAVE_LIBDWARF_0_LIBDWARF_H) */
+#include <libdwarf-2/libdwarf.h>
+#elif defined(HAVE_LIBDWARF_LIBDWARF_H) /* defined(HAVE_LIBDWARF_2_LIBDWARF_H) */
#include <libdwarf/libdwarf.h>
#elif defined(HAVE_LIBDWARF_H) /* defined(HAVE_LIBDWARF_LIBDWARF_H) */
#include <libdwarf.h>
#else /* defined(HAVE_LIBDWARF_H) */
-#error "Need libdwarf-0/libdwarf.h, libdwarf/libdwarf.h or libdwarf.h"
+#error "Need libdwarf-0/libdwarf.h, libdwarf-2/libdwarf.h, libdwarf/libdwarf.h or libdwarf.h"
#endif /* defined(HAVE_LIBDWARF_0_LIBDWARF_H) */
#endif /* defined(AIXPPC) || defined(OSX) */