commit cd3f1f8c78b488a30218c8201d4d510e15428965
Author: Andrew Cagney <cagney@gnu.org>
Date: Fri Jan 6 16:09:16 2017 -0500
Ignore return type of gelf_newphdr()
At some point it changes from long int to void *.
Patch: frysk-0.4-gelf-newphdr.patch
diff --git a/frysk-sys/lib/dwfl/Elf.java b/frysk-sys/lib/dwfl/Elf.java
index 5ac8cd5..0c93dd0 100644
--- a/frysk-sys/lib/dwfl/Elf.java
+++ b/frysk-sys/lib/dwfl/Elf.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, 2006, 2007, 2008 Red Hat Inc.
+// Copyright 2017 Andrew Cagney
//
// FRYSK is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by
@@ -213,8 +214,8 @@ public class Elf {
* @param count
* @return The program header table
*/
- public int createNewPHeader (long count) {
- return elf_newphdr(count);
+ public void createNewPHeader (long count) {
+ elf_newphdr(count);
}
/**
@@ -426,7 +427,7 @@ public class Elf {
protected native int elf_updatephdr(int index, ElfPHeader header);
- protected native int elf_newphdr (long __cnt);
+ protected native void elf_newphdr (long __cnt);
protected native long elf_offscn (long offset);
diff --git a/frysk-sys/lib/dwfl/jni/DwarfDie.cxx b/frysk-sys/lib/dwfl/jni/DwarfDie.cxx
index b4071c7..1e6d294 100644
--- a/frysk-sys/lib/dwfl/jni/DwarfDie.cxx
+++ b/frysk-sys/lib/dwfl/jni/DwarfDie.cxx
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, 2007, 2008, Red Hat Inc.
+// Copyright (C) 2016, Andrew Cagney
//
// FRYSK is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by
@@ -405,7 +406,7 @@ lib::dwfl::DwarfDie::get_framebase(jnixx::env env, jlong var_die,
Dwarf_Attribute *fb_attr;
size_t fb_len;
- if (dwarf_attr_integrate (die, DW_AT_location, &loc_attr) >= 0) {
+ if (dwarf_attr_integrate (die, DW_AT_location, &loc_attr)) {
size_t i = 0;
code = dwarf_getlocation_addr (&loc_attr,pc, &fb_expr, &fb_len, 5);
@@ -436,7 +437,7 @@ lib::dwfl::DwarfDie::get_data_member_location(jnixx::env env, jlong var_die) {
Dwarf_Op *fb_expr;
size_t fb_len;
- if (dwarf_attr_integrate (die, DW_AT_data_member_location, &loc_attr) >= 0) {
+ if (dwarf_attr_integrate (die, DW_AT_data_member_location, &loc_attr)) {
dwarf_getlocation (&loc_attr, &fb_expr, &fb_len);
if (fb_len > 0 && fb_expr[0].atom == DW_OP_plus_uconst)
return fb_expr[0].number;
diff --git a/frysk-sys/lib/dwfl/jni/Elf.cxx b/frysk-sys/lib/dwfl/jni/Elf.cxx
index da9d2a9..c22fa58 100644
--- a/frysk-sys/lib/dwfl/jni/Elf.cxx
+++ b/frysk-sys/lib/dwfl/jni/Elf.cxx
@@ -1,7 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, 2007, 2008, Red Hat Inc.
-// Copyright 2016, Andrew Cagney
+// Copyright 2016-2017, Andrew Cagney
//
// FRYSK is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by
@@ -254,10 +254,9 @@ lib::dwfl::Elf::elf_updatephdr(jnixx::env env, jint index,
return ::gelf_update_phdr (elf, index, &header);
}
-
-jint
+void
lib::dwfl::Elf::elf_newphdr(jnixx::env env, jlong cnt) {
- return (jint) ::gelf_newphdr(ELF_POINTER, (size_t) cnt);
+ ::gelf_newphdr(ELF_POINTER, (size_t) cnt);
}
jlong