Compare commits

...
Sign in to create a new pull request.

84 commits

Author SHA1 Message Date
Jiri Vanek
b1e8523956 Rebuilt for java-25-openjdk as preffered jdk
https://fedoraproject.org/wiki/Changes/Java25AndNoMoreSystemJdk
Note, that since f43, you should be always explicit on what jdk to use.
This commit should do exactly that.
2025-07-29 20:48:00 +02:00
Fedora Release Engineering
93625bcf76 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 20:50:22 +00:00
Andrew Cagney
2b81f52b88 Fix latest java and C errors. 2025-02-28 19:43:04 -05:00
Fedora Release Engineering
de0a6f43a1 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 18:54:59 +00:00
Fedora Release Engineering
3655ee9878 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 23:42:57 +00:00
Software Management Team
df3591df6c Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:46:46 +02:00
Jiri Vanek
39913091cc Rebuilt for java-21-openjdk as system jdk
https://fedoraproject.org/wiki/Changes/Java21
2024-02-27 15:33:09 +01:00
Fedora Release Engineering
d136642936 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 12:06:24 +00:00
Fedora Release Engineering
5a10057321 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 19:51:30 +00:00
Fedora Release Engineering
23596acd39 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 20:19:42 +00:00
Andrew Cagney
0413799665 drop hack mangling _FORTIFY_SOURCE; fix 2161322 2023-05-15 11:11:08 -04:00
Andrew Cagney
6bbb573a83 update frysk licence 2023-04-03 16:47:49 -04:00
Andrew Cagney
d65f29b78c Update getopt and libunwind sub licences 2023-03-09 15:47:03 -05:00
Fedora Release Engineering
8b204e83ac Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 03:57:40 +00:00
Andrew Cagney
e180ded93b don't build libunwind tests; frysk-0.4-52-libunwind-tests.patch 2022-09-29 13:27:26 -04:00
Andrew Cagney
038b1f7e9f ding dong the 32-bit Java is dead; #2104040 2022-07-21 13:31:05 -04:00
Fedora Release Engineering
06cf29c0c0 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 03:41:36 +00:00
Jiri
5802181851 Rebuilt for java-17-openjdk as system jdk
https://fedoraproject.org/wiki/Changes/Java17
2022-02-05 20:43:53 +01:00
Fedora Release Engineering
3bccf2d023 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 03:29:11 +00:00
Andrew Cagney
12df6ac17c require debugedit; fix hardwired path 2021-08-05 18:03:17 -04:00
Andrew Cagney
80547c1bbc Allow autoconf 2.69 2021-08-04 19:08:13 -04:00
Fedora Release Engineering
03a7fed2b6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 23:25:19 +00:00
Andrew Cagney
03baa9b3c3 autoconf 2.70 2021-04-12 15:23:57 -04:00
Fedora Release Engineering
b36bdb2abb - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 05:59:07 +00:00
Tom Stellard
6a7112fcc5 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-05 00:48:19 +00:00
Jerry James
11887f519d Depend on jline2, not jline 2020-12-15 12:02:22 -07:00
Andrew Cagney
47bbd0f953 fix check of elf_newehdr()'s return value 2020-12-11 22:23:47 -05:00
Fedora Release Engineering
37ceded0e4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 17:53:45 +00:00
Andrew Cagney
123661c4cf jnixx on java 11 2020-07-16 20:26:01 -04:00
Jiri
56a0021401 Rebuilt for JDK-11 2020-07-10 19:40:04 +02:00
Andrew Cagney
0e977d99b1 drop -source 1.4 -- frysk-0.4-javac.patch 2020-06-09 17:46:12 -04:00
Andrew Cagney
17228d9010 pacify gcc -fcommon 2020-01-28 21:32:13 -05:00
Fedora Release Engineering
3f3210c0a0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 19:04:50 +00:00
Andrew Cagney
eef2ceda2c Merge #2 #1769820 2019-11-14 22:09:49 +00:00
Andrew Cagney
526415d8aa make runtime java dependencies explicit - found by Magnus Glantz 2019-11-14 16:56:49 -05:00
Andrew Cagney
52c690ef0b jline updates
Updates for jline(2)
Pacify GCC - fix some indentation
Default to no 32-bit tests (drop config's --disable-arch32-tests)
2019-11-14 16:56:40 -05:00
Andrew Cagney
c261862558 Depend on jline, not jline1 2019-11-14 16:56:23 -05:00
Andrew Cagney
5ee895d719 make runtime java dependencies explicit - found by Magnus Glantz 2019-11-14 14:52:04 -05:00
Andrew Cagney
e3410604ae jline updates
Updates for jline(2)
Pacify GCC - fix some indentation
Default to no 32-bit tests (drop config's --disable-arch32-tests)
2019-09-06 12:43:36 -04:00
Andrew Cagney
55e8052336 Depend on jline, not jline1 2019-09-05 20:17:37 -04:00
Fedora Release Engineering
5faff897d2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 01:06:35 +00:00
Andrew Cagney
80e0cc3979 Update README cribsheet 2019-02-15 12:22:21 -05:00
Fedora Release Engineering
a5bc6747ee - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 20:14:04 +00:00
Igor Gnatenko
4b10a45e48 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:02 +01:00
Andrew Cagney
8129214caf Deal with python 3 2018-07-24 21:29:05 -04:00
Igor Gnatenko
55f83a1385 add BuildRequires: gcc-c++
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2018-07-19 20:56:43 +02:00
Fedora Release Engineering
849fda424e - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 00:53:55 +00:00
Iryna Shcherbina
95de955ac4 Update Python 2 dependency declarations to new packaging standards 2018-03-15 03:10:14 +01:00
Igor Gnatenko
3fdaee2308
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 07:13:15 +01:00
Igor Gnatenko
dcff095a36 Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-13 23:23:39 +01:00
Fedora Release Engineering
a1d22d3d41 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 10:14:39 +00:00
Fedora Release Engineering
cb8c28a7f9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 20:49:58 +00:00
Fedora Release Engineering
9a289f6987 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 08:49:10 +00:00
Andrew Cagney
9d4d64a7ef fix warnings/errors from latest compilers 2017-02-10 21:02:55 -05:00
Fedora Release Engineering
6aaf2935c3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 10:03:13 +00:00
Andrew Cagney
de99fd1377 work around evolving gelf_newphdr() interface 2017-01-06 16:35:49 -05:00
Andrew Cagney
870153ed42 Fix some fedpkg lint problems.
frysk-0.4-fedpkg-lint-solib.patch
frysk-0.4-fedpkg-lint-licence.patch
2016-04-19 17:04:13 -04:00
Andrew Cagney
dc1e103467 clone the jobject when cloning the cursor - frysk-0.4-clone-cursor.patch 2016-04-19 11:04:49 -04:00
Andrew Cagney
8e1dbfbdf9 better handle prelink - frysk-0.4-libunwind-fstack.patch 2016-04-18 23:57:51 -04:00
Andrew Cagney
6a61affbb8 clean up rpm and reduce dependencies
- do not bundle junit.jar
- do not bundle jline.jar
- update licence list - drop unbundled code
- remove long dead configurations
- in JNIXX operator== use IsSameObject
- switch to javac
2016-04-13 19:24:35 -04:00
Andrew Cagney
b8094320b1 Do not ship a local copy of antlr.jar 2016-04-12 21:02:27 -04:00
Andrew Cagney
f1ee58869f Use a global java ID in libunwind 2016-04-12 14:17:57 -04:00
Andrew Cagney
8f6806eca5 Use java ID for local thread 2016-04-06 20:20:04 -04:00
Dennis Gilmore
4f7e8bd8c9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-03 20:50:45 +00:00
Andrew Cagney
97798306c8 Fix AWK gensub parameter 3 and test assembler.
- new AWK warning about bad gensub parameter ends up in generated Java
  files so fix it

- Don't build assembler test files as conflicts with building PIC.
2015-08-17 15:44:38 -04:00
Dennis Gilmore
e951ba02d6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 06:46:10 +00:00
Peter Robinson
6dd56cee1d - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-16 13:19:55 +00:00
Andrew Cagney
869034e552 Switch from the CNI to the JNI native bindings
- Build using Java/ECJ removing dependency on gcc-java
- Added patch frysk-0.4-jni.patch
2014-06-21 21:37:03 -04:00
Andrew Cagney
f273c9ebc8 Add "make scratch" which does the right thing with fedpkg scratch. 2014-06-21 20:19:36 -04:00
Andrew Cagney
ba73a2bbfe Mention how to fix an out-of-date cert. 2014-06-21 20:18:56 -04:00
Dennis Gilmore
019d3f9616 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 07:57:45 -05:00
Andrew Cagney
bf1e41ea9e Fix invalid dates in %changelog entries. 2014-06-03 21:20:32 -04:00
Dennis Gilmore
91f5e59d35 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-03 07:02:19 -05:00
Andrew Cagney
9590396545 When not gnome, don't include jdom in rpm (missing from earlier change). 2013-02-15 00:00:45 -05:00
Andrew Cagney
ae161c50e2 Oops; forgot to bump version. 2013-02-14 22:27:10 -05:00
Andrew Cagney
9fbb300caf Don't build jdom, no longer needed
Force the generation of some cni headers
Pacify automake by giving config files names it likes
2013-02-14 22:26:21 -05:00
Andrew Cagney
ce0f313fcd Rebuild unchanged against new gcj so it picks up libgcj.so.14. 2013-01-26 14:03:16 -05:00
Andrew Cagney
3bf35f3b86 Add java-1.5.0-gcj to BuildRequires list. 2012-08-08 08:16:09 -04:00
Andrew Cagney
763925d1ad Add rule to download sources. 2012-08-08 08:15:15 -04:00
Dennis Gilmore
607a971cda - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-18 22:23:33 -05:00
Andrew Cagney
37486b6ae1 Clean up pkglibdir and pkglibdata dir, devel package not needed. 2012-02-12 10:05:32 -05:00
Andrew Cagney
98dfc69ea8 Add frysk-0.4-configure-enable-gnome.patch as no vte/java bindings.
Use installed antlr, frysk-0.4-bin-antlr.patch
Fix scope warning from latest c++, frysk-04-cxx-scope.patch
2012-02-11 12:08:54 -05:00
Dennis Gilmore
cd90207c3f - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-12 20:46:29 -06:00
Adam Jackson
9e56fb029a Rebuild for new libpng 2011-12-05 23:08:26 -05:00
50 changed files with 84741 additions and 77788 deletions

4
.gitignore vendored
View file

@ -1 +1,5 @@
frysk-0.4.tar.bz2
clog
*.rpm
frysk-0.4
results.*

152
Makefile
View file

@ -1,37 +1,139 @@
# Make mock usable. The only standard target is mockbuild which
# doesn't do what you typically want.
SRPM := $(PWD)/$(shell fedpkg verrel).src.rpm
RESULTDIR := $(PWD)/$(shell fedpkg verrel)
MOCKCFG = fedora-devel-i386
# Somewhat superseeded by fedpkg
BRANCH := $(shell fedpkg switch-branch | sed -n -e 's/ f/ /' -e 's/main/rawhide/' -e 's/^\* //p')
SPEC_FILE = $(shell fedpkg gimmespec)
# VERREL is very slow
VERREL := $(shell fedpkg verrel)
VERREL_WORDS := $(shell fedpkg verrel | sed -e 's/^\(.*\)\-\([^-]*\)\.\([^.]*\)$$/\1 \2 \3/')
DIST = $(word 1, $(VERREL_WORDS))
SPEC_VERSION = $(word 2, $(VERREL_WORDS))
SPEC_RELEASE = $(word 3, $(VERREL_WORDS))
SPEC_SOURCES = $(shell awk '{print $$2}' sources)
# Order that dependent libraries need to be built and installed.
comma := ,
empty :=
space := $(empty) $(empty)
ORDER = \
glib-java \
cairo-java \
libgtk-java \
libgconf-java \
libvte-java libgnome-java \
libglade-java \
frysk
MOCKCFG = fedora-$(BRANCH)-x86_64
#MOCKCFG = jvanek-java11-fedora-rawhide-x86_64
MOCK_WORDS := $(subst -, , $(MOCKCFG))
MOCK_OS := $(word 1,$(MOCK_WORDS))
MOCK_RELEASE := $(word 2,$(MOCK_WORDS))
MOCK_ARCH := $(word 3,$(MOCK_WORDS))
MOCK_RESULTS := results.$(MOCKCFG)
ARCH := $(if $(findstring i386,$(MOCK_ARCH)),i686,$(MOCK_ARCH))
# --offline?
NO_CLEAN := --no-clean --no-cleanup-after
MOCK := /usr/bin/mock $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(MOCK_RESULTS)
SOURCES = *.spec *.patch $(SPEC_SOURCES)
SRPM = $(VERREL).src.rpm
RPM = $(VERREL).$(ARCH).rpm
help:
@echo "Mock targets"
@echo " mock-local mock-build: Build from scratch using mock; keep the results"
@echo " mock-shell: Start a chrooted shell in the build-chroot"
@echo " mock-init: Initialize a new clean build-chroot"
@echo " mock-clean: Purge the build-chroot"
@echo " mock-update: Run yum update in the build-chroot"
@echo " mock-orphanskill: Kill any stray processes from the build"
@echo " mock-install PACKAGE=rpm: Install PACKAGE"
@echo " mock-installdeps PACKAGE=rpm: Install dependencies for PACKAGE"
@echo "targets"
@echo ""
@echo " init: Initialize the $(MOCKCFG) chroot (if needed)"
@echo " build: Build, logs in $(MOCK_RESULTS)"
@echo " deploy: Build/Deploy $(ARCH) package"
@echo " useful: Install some missing applications"
@echo " shell: Start a shell in the chroot"
@echo ""
@echo " clean: Purge the $(ARCH) chroot tree"
@echo " scrub: Completely purge the chroot tree, yum, everything"
@echo ""
@echo " update: Run yum update in the chroot"
@echo " orphanskill: Kill any stray processes from the build"
@echo " installdeps: Install dependencies for this package"
@echo " lint: runs lint over the rpm"
@echo " install MOCKARGS=...: install ... into chroot"
@echo ""
@echo " scratch: Do a scratch build of the SRPM in bodhi"
@echo ""
@echo "Use MOCKARGS= for extra arguments"
.PHONY:: help
# -prep -compile -install -compile-short -install-short
local build: srpm
mock --no-clean --no-cleanup-after $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(RESULTDIR) --rebuild $(SRPM)
.PHONY:: local build
init:
$(MOCK) -q --chroot pwd \
|| $(MOCK) --init
.PHONY:: init
init clean shell update orphanskill:
mock $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(RESULTDIR) --$@
.PHONY:: init clean shell update orphanskill
mock build $(MOCK_RESULTS)/$(RPM): init $(SOURCES)
rm -f $(MOCK_RESULTS)/*.src.rpm
$(MOCK) $(NO_CLEAN) --buildsrpm --spec $(SPEC_FILE) --sources $(PWD)
$(MOCK) $(NO_CLEAN) --rebuild $(MOCK_RESULTS)/*.src.rpm
.PHONY:: build
install installdeps:
if test x"$(PACKAGE)" = x ; then echo Supply PACKAGE ; exit 1 ; fi
mock $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(RESULTDIR) --$@ $(PACKAGE)
.PHONY:: install installdeps
# rpmspec -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' $(SPEC_FILE)
deploy: $(MOCK_RESULTS)/$(RPM)
$(MOCK) -q --chroot 'rm -f /tmp/*.rpm'
for rpm in $(MOCK_RESULTS)/*.rpm ; do \
case $$rpm in \
*.src.rpm | *-debuginfo-* ) ;; \
* ) $(MOCK) -q --copyin $$rpm /tmp ;; \
esac ; \
done
$(MOCK) -q --chroot "rpm -Uvh --force /tmp/*.rpm"
.PHONY:: deploy
srpm:
fedpkg srpm
$(SPEC_SOURCES):
fedpkg sources
world gnome:
set -e ; \
for d in $(ORDER) ; do \
pushd ../$$d ; \
$(MAKE) -f $(PWD)/Makefile deploy ; \
popd ; \
done
.PHONY:: world
usable useful: init
$(MOCK) install vi less strace emacs git nss-devel libevent-devel unbound-devel bison libcurl-devel pam-devel libselinux-devel libseccomp-devel systemd-devel libcap-ng-devel ldns-devel
.PHONY:: usable useful
clog prep:
fedpkg $@
.PHONY:: clog prep
lint:
fedpkg lint
.PHONY:: lint
scratch: $(SRPM)
fedpkg scratch-build --srpm $(SRPM)
.PHONY:: scratch
srpm: $(SRPM)
.PHONY:: srpm
$(SRPM): $(SOURCES)
fedpkg srpm
clean:
$(MOCK) --$@ $(ARGS) $(PACKAGE)
rm -rf $(MOCK_RESULTS)
.PHONY:: clean
scrub:
$(MOCK) --$@=all $(ARGS)
shell install update remove orphanskill copyin copyout:
$(MOCK) --$@ $(ARGS) $(PACKAGE)
.PHONY:: shell install update remove orphanskill scrub copyin copyout

51
README
View file

@ -1,3 +1,54 @@
This week's URLs:
The build system:
https://koji.fedoraproject.org/koji/packageinfo?packageID=100
to login see:
https://fedoraproject.org/wiki/Infrastructure/Kerberos?rd=Infrastructure_kerberos_authentication
i.e.,
kinit <account>@FEDORAPROJECT.ORG
klist -A
The account system, login here first?
https://admin.fedoraproject.org
The FRYSK package and who is maintaining it:
https://src.fedoraproject.org/rpms/frysk
Pushing updates (seems to have replaced admin.):
https://bodhi.fedoraproject.org/
Fixing Fedora so it can do local and remote builds:
- install fedora-packager
For a local native build:
$ fedpkg compile
To do a scratch build in the build system:
$ fedpkg srpm
$ fedpkg scratch-build --srpm BLAH.src.rpm
If you get this:
$ fedpkg scratch-build ...
Could not execute scratch_build: [('SSL routines', 'SSL3_READ_BYTES', 'sslv3 alert certificate expired'), ('SSL routines', 'SSL3_READ_BYTES', 'ssl handshake failure')]
try this:
$ fedora-cert
Certificate has expired, getting a new one
FAS Password:
To build in a local chroot aka mock, start with:
gmake help
Updating the frysk rpm in Fedora (by Sami)
Before doing this make sure you have a fedora account and that your

View file

@ -0,0 +1,13 @@
diff --git a/frysk-sys/lib/dwfl/jni/Elf.cxx b/frysk-sys/lib/dwfl/jni/Elf.cxx
index c22fa58ee..92f19417b 100644
--- a/frysk-sys/lib/dwfl/jni/Elf.cxx
+++ b/frysk-sys/lib/dwfl/jni/Elf.cxx
@@ -174,7 +174,7 @@ lib::dwfl::Elf::elf_newehdr(jnixx::env env, jint wordSize) {
runtimeException(env, "Bad parameter to elf_newehdr (word size %d)",
wordSize);
}
- if (::gelf_newehdr(elf, elfClass) < 0)
+ if (::gelf_newehdr(elf, elfClass) == NULL)
throw_last_elf_error(env);
}

View file

@ -0,0 +1,119 @@
diff --git a/frysk-common/frysk-common.ac b/frysk-common/frysk-common.ac
index c9a2be863..7e0bbb0d0 100644
--- a/frysk-common/frysk-common.ac
+++ b/frysk-common/frysk-common.ac
@@ -89,13 +89,13 @@ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/$lib/frysk/pkgconfig
# Check for XMLLINT
AC_CHECK_PROGS([XMLLINT], [xmllint], [no])
-test $XMLLINT = no && AC_ERROR([no xmllint program found])
+test $XMLLINT = no && AC_MSG_ERROR([no xmllint program found])
AC_CHECK_PROGS([XMLCATALOG], [xmlcatalog], [no])
-test $XMLCATALOG = no && AC_ERROR([no xmlcatalog program found])
+test $XMLCATALOG = no && AC_MSG_ERROR([no xmlcatalog program found])
# Check for uudecode
AC_CHECK_PROGS([UUDECODE], [uudecode], [no])
-test $UUDECODE = no && AC_ERROR([no uudecode program found, please install sharutils package])
+test $UUDECODE = no && AC_MSG_ERROR([no uudecode program found, please install sharutils package])
FRYSK_USE_LIBUNWIND
diff --git a/frysk-core/configure.ac b/frysk-core/configure.ac
index 69fc220b3..d0fe07c3a 100644
--- a/frysk-core/configure.ac
+++ b/frysk-core/configure.ac
@@ -37,7 +37,7 @@
# version and license this file solely under the GPL without
# exception.
-AC_PREREQ(2.59)
+AC_PREREQ([2.69])
sinclude(common/version.ac)
AC_INIT(frysk, [FRYSK_VERSION])
diff --git a/frysk-gtk/configure.ac b/frysk-gtk/configure.ac
index aaa123f82..55c592ebf 100644
--- a/frysk-gtk/configure.ac
+++ b/frysk-gtk/configure.ac
@@ -36,7 +36,7 @@
# version and license this file solely under the GPL without
# exception.
-AC_PREREQ(2.59)
+AC_PREREQ([2.69])
sinclude(common/version.ac)
AC_INIT(frysk, [FRYSK_VERSION])
diff --git a/frysk-gui/configure.ac b/frysk-gui/configure.ac
index 9a274c68b..ec5950d2a 100644
--- a/frysk-gui/configure.ac
+++ b/frysk-gui/configure.ac
@@ -36,7 +36,7 @@
# version and license this file solely under the GPL without
# exception.
-AC_PREREQ(2.59)
+AC_PREREQ([2.69])
sinclude(common/version.ac)
AC_INIT(frysk, [FRYSK_VERSION])
diff --git a/frysk-imports/configure.ac b/frysk-imports/configure.ac
index b9a6c32c3..e65f4c433 100644
--- a/frysk-imports/configure.ac
+++ b/frysk-imports/configure.ac
@@ -37,7 +37,7 @@
# version and license this file solely under the GPL without
# exception.
-AC_PREREQ(2.59)
+AC_PREREQ([2.69])
sinclude(common/version.ac)
AC_INIT(frysk, [FRYSK_VERSION])
diff --git a/frysk-imports/libunwind/configure.ac b/frysk-imports/libunwind/configure.ac
index 7fa2e4bcf..37c9072a0 100644
--- a/frysk-imports/libunwind/configure.ac
+++ b/frysk-imports/libunwind/configure.ac
@@ -57,7 +57,6 @@ esac
CHECK_ATOMIC_OPS
dnl Checks for header files.
-AC_HEADER_STDC
AC_CHECK_HEADERS(asm/ptrace_offsets.h endian.h sys/endian.h execinfo.h \
ia64intrin.h sys/uc_access.h unistd.h signal.h sys/types.h \
sys/procfs.h sys/ptrace.h byteswap.h elf.h sys/elf.h link.h sys/link.h)
diff --git a/frysk-sys/configure.ac b/frysk-sys/configure.ac
index 6a1e0cad8..4f838439d 100644
--- a/frysk-sys/configure.ac
+++ b/frysk-sys/configure.ac
@@ -36,7 +36,7 @@
# version and license this file solely under the GPL without
# exception.
-AC_PREREQ(2.59)
+AC_PREREQ([2.69])
sinclude(common/version.ac)
AC_INIT(frysk, [FRYSK_VERSION])
diff --git a/frysk-top/configure.ac b/frysk-top/configure.ac
index f57136a56..ee68665d3 100644
--- a/frysk-top/configure.ac
+++ b/frysk-top/configure.ac
@@ -36,14 +36,14 @@
# version and license this file solely under the GPL without
# exception.
-AC_PREREQ(2.59)
+AC_PREREQ([2.69])
sinclude(common/version.ac)
AC_INIT(frysk,defn([FRYSK_VERSION]))
m4_include([common/frysk-common.ac])
AC_ARG_ENABLE(gnome,
-AC_HELP_STRING(
+AS_HELP_STRING(
[--enable-gnome],
[enable gnome user interface (default no)]),
[enable_gnome=$enableval],

View file

@ -0,0 +1,13 @@
--- frysk-0.4/frysk-core/Makefile.am.orig 2021-08-05 14:51:10.741080868 -0400
+++ frysk-0.4/frysk-core/Makefile.am 2021-08-05 14:51:29.595873910 -0400
@@ -225,8 +225,8 @@
(cd $@/usr/src/debug; \
$(COMPILE) funit-bubblesort.c -fpic -shared -o ../../lib/libbubble.so -g; \
$(COMPILE) funit-quicksort.c -L ../../lib -lbubble -g -o ../../bin/funit-quicksort -DNO_MAIN)
- /usr/lib/rpm/debugedit -b $(abspath $@) -d / $@/usr/bin/funit-quicksort
- /usr/lib/rpm/debugedit -b $(abspath $@) -d / $@/usr/lib/libbubble.so
+ debugedit -b $(abspath $@) -d / $@/usr/bin/funit-quicksort
+ debugedit -b $(abspath $@) -d / $@/usr/lib/libbubble.so
eu-strip --remove-comment -f $@/usr/lib/debug/usr/bin/funit-quicksort.debug $@/usr/bin/funit-quicksort; \
eu-strip --remove-comment -f $@/usr/lib/debug/usr/lib/funit-bubblesort.debug $@/usr/lib/libbubble.so;

View file

@ -0,0 +1,13 @@
diff --git a/frysk-imports/libunwind/Makefile.am b/frysk-imports/libunwind/Makefile.am
index 6a3ed9e78..d0a23a569 100644
--- frysk-0.4/frysk-imports/libunwind/Makefile.am.orig
+++ frysk-0.4/frysk-imports/libunwind/Makefile.am
@@ -42,7 +42,7 @@ endif
nodist_include_HEADERS = include/libunwind-common.h
-SUBDIRS = src tests
+SUBDIRS = src
if CONFIG_DOCS
SUBDIRS += doc

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,135 @@
diff --git a/frysk-core/frysk/pkglibdir/funit-2threads.c b/frysk-core/frysk/pkglibdir/funit-2threads.c
index 970c90c37..e4b969046 100644
--- a/frysk-core/frysk/pkglibdir/funit-2threads.c
+++ b/frysk-core/frysk/pkglibdir/funit-2threads.c
@@ -46,7 +46,7 @@
pthread_t thread;
-void* thread_func ()
+void* thread_func (void*)
{
int count1 = 0;
diff --git a/frysk-core/frysk/pkglibdir/funit-rt-goto.c b/frysk-core/frysk/pkglibdir/funit-rt-goto.c
index 928096bd7..f79197509 100644
--- a/frysk-core/frysk/pkglibdir/funit-rt-goto.c
+++ b/frysk-core/frysk/pkglibdir/funit-rt-goto.c
@@ -52,7 +52,7 @@ volatile int sig;
volatile int j = 0;
void
-*signal_parent ()
+*signal_parent (void*)
{
while (lock);
diff --git a/frysk-core/frysk/pkglibdir/funit-rt-siglongjmp.c b/frysk-core/frysk/pkglibdir/funit-rt-siglongjmp.c
index 3ad4368aa..c65358d27 100644
--- a/frysk-core/frysk/pkglibdir/funit-rt-siglongjmp.c
+++ b/frysk-core/frysk/pkglibdir/funit-rt-siglongjmp.c
@@ -54,7 +54,7 @@ volatile int sig;
static sigjmp_buf *env;
void
-*signal_parent ()
+*signal_parent (void*)
{
while (lock);
diff --git a/frysk-core/frysk/pkglibdir/funit-rt-sigraise.c b/frysk-core/frysk/pkglibdir/funit-rt-sigraise.c
index 4270edf07..1f9c26151 100644
--- a/frysk-core/frysk/pkglibdir/funit-rt-sigraise.c
+++ b/frysk-core/frysk/pkglibdir/funit-rt-sigraise.c
@@ -53,7 +53,7 @@ volatile int sig;
volatile int j = 0;
void
-*signal_parent ()
+*signal_parent (void*)
{
while (lock);
diff --git a/frysk-core/frysk/pkglibdir/funit-rt-steptester.c b/frysk-core/frysk/pkglibdir/funit-rt-steptester.c
index 0effca488..2b0392013 100644
--- a/frysk-core/frysk/pkglibdir/funit-rt-steptester.c
+++ b/frysk-core/frysk/pkglibdir/funit-rt-steptester.c
@@ -56,7 +56,7 @@ volatile int kill_bool = 1;
volatile int sig_rec = 0;
void
-*signal_parent ()
+*signal_parent (void*)
{
while (lock);
diff --git a/frysk-core/frysk/pkglibdir/funit-rt-threader.c b/frysk-core/frysk/pkglibdir/funit-rt-threader.c
index 73d0aa427..fe34a5041 100644
--- a/frysk-core/frysk/pkglibdir/funit-rt-threader.c
+++ b/frysk-core/frysk/pkglibdir/funit-rt-threader.c
@@ -56,7 +56,7 @@ volatile pid_t pid;
volatile int sig;
void
-*signal_parent ()
+*signal_parent (void*)
{
while (lock_one || lock_two);
kill (pid, sig);
@@ -124,7 +124,7 @@ foo_two ()
/* tester_thread_one: a = 1 */
void
-*foo ()
+*foo (void*)
{
bar ();
return NULL;
diff --git a/frysk-core/frysk/pkglibdir/funit-rt-threadstepper.c b/frysk-core/frysk/pkglibdir/funit-rt-threadstepper.c
index b69736ce9..c634dc659 100644
--- a/frysk-core/frysk/pkglibdir/funit-rt-threadstepper.c
+++ b/frysk-core/frysk/pkglibdir/funit-rt-threadstepper.c
@@ -184,7 +184,7 @@ bar ()
/* tester_thread_two: a = 0 */
void
-*foo_two ()
+*foo_two (void*)
{
bar_two ();
return NULL;
@@ -192,7 +192,7 @@ void
/* tester_thread_one: a = 1 */
void
-*foo ()
+*foo (void*)
{
bar ();
return NULL;
diff --git a/frysk-core/frysk/pkglibdir/funit-threads-looper.c b/frysk-core/frysk/pkglibdir/funit-threads-looper.c
index bc2931a5d..557be4089 100644
--- a/frysk-core/frysk/pkglibdir/funit-threads-looper.c
+++ b/frysk-core/frysk/pkglibdir/funit-threads-looper.c
@@ -64,7 +64,7 @@ pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
static char * myname;
void
-*do_it ()
+*do_it (void*)
{
int t = 34543;
while (t > 0)
diff --git a/frysk-core/prog/kill/detach.c b/frysk-core/prog/kill/detach.c
index 78f759194..e536f9e9c 100644
--- a/frysk-core/prog/kill/detach.c
+++ b/frysk-core/prog/kill/detach.c
@@ -53,7 +53,7 @@
// Simple sleep for roughly SECONDS and then exit.
static void
-sigalrm ()
+sigalrm (int)
{
exit (0);
}

193
frysk-0.4-awk-gensub.patch Normal file
View file

@ -0,0 +1,193 @@
diff -up frysk-0.4/frysk-common/antlr-warnings.awk.awk-gensub frysk-0.4/frysk-common/antlr-warnings.awk
--- frysk-0.4/frysk-common/antlr-warnings.awk.awk-gensub 2015-08-17 11:28:51.763304833 -0400
+++ frysk-0.4/frysk-common/antlr-warnings.awk 2015-08-17 11:31:02.856574123 -0400
@@ -46,7 +46,7 @@
function get_prob_field(field) {
return gensub(/^(.*\.java):([0-9]+): (error|warning): (.*)$/, \
- "\\" field, "")
+ "\\" field, 1)
}
{
@@ -59,7 +59,7 @@ function get_prob_field(field) {
line = get_prob_field(2)
prob = get_prob_field(4)
getline
- code = gensub(/^[[:space:]]*(.*)[[:space:]]*$/, "\\1", "")
+ code = gensub(/^[[:space:]]*(.*)[[:space:]]*$/, "\\1", 1)
} else if ($0 ~ /^[[:digit:]]+\. (WARNING|ERROR) in .*\.java$/) {
# An ECJ warning looks like:
# <num>. (WARNING|ERROR) in <file>
@@ -69,9 +69,9 @@ function get_prob_field(field) {
# <prob>
file = $4
getline
- line = gensub(/)/, "", "", $3)
+ line = gensub(/)/, "", 1, $3)
getline
- code = gensub(/^[[:space:]]*(.*)[[:space:]]*$/, "\\1", "")
+ code = gensub(/^[[:space:]]*(.*)[[:space:]]*$/, "\\1", 1)
getline
getline
prob = $0
@@ -83,16 +83,16 @@ function get_prob_field(field) {
# <prob>
java = ECJ
file = $4
- line = gensub(/)/, "", "", $7)
+ line = gensub(/)/, "", 1, $7)
getline
- code = gensub(/^[[:space:]]*(.*)[[:space:]]*$/, "\\1", "")
+ code = gensub(/^[[:space:]]*(.*)[[:space:]]*$/, "\\1", 1)
getline
getline
prob = $0
} else {
next
}
- base = gensub(/^(|.*\/)([[:alnum:]]*)\.java/, "\\2", "", file)
+ base = gensub(/^(|.*\/)([[:alnum:]]*)\.java/, "\\2", 1, file)
sed = ""
if (DEBUG) {
print "file=" file >> "/dev/stderr"
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum.awk-gensub frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum.awk-gensub 2015-08-17 12:51:26.234215677 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum 2015-08-17 12:54:55.770427076 -0400
@@ -45,8 +45,8 @@ CC=${CC:-gcc}
$CC -dD -E /usr/include/dwarf.h | awk '
/DW_ACCESS_.* = / {
p = $1
- v = gensub(",","","",$3)
- n = toupper(gensub("DW_ACCESS_","","",p))
+ v = gensub(",","",1,$3)
+ n = toupper(gensub("DW_ACCESS_","",1,p))
print n, v, p
}
'
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum.awk-gensub frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum.awk-gensub 2015-08-17 12:51:10.498579529 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum 2015-08-17 12:55:14.737997869 -0400
@@ -45,8 +45,8 @@ CC=${CC:-gcc}
$CC -dD -E /usr/include/dwarf.h | awk '
/DW_ATE_.* = / {
p = $1
- v = gensub(",","","",$3)
- n = toupper(gensub("DW_ATE_","","",p))
+ v = gensub(",","",1,$3)
+ n = toupper(gensub("DW_ATE_","",1,p))
print n, v, p
}
'
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum.awk-gensub frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum.awk-gensub 2015-08-17 12:50:05.037093181 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum 2015-08-17 12:55:34.063560561 -0400
@@ -45,8 +45,8 @@ CC=${CC:-gcc}
$CC -dD -E /usr/include/dwarf.h | awk '
/DW_AT_.* = / {
p = $1
- v = gensub(",","","",$3)
- n = toupper(gensub("DW_AT_","","",p))
+ v = gensub(",","",1,$3)
+ n = toupper(gensub("DW_AT_","",1,p))
print n, v, p
}
'
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum.awk-gensub frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum.awk-gensub 2015-08-17 12:50:21.258718092 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum 2015-08-17 12:55:54.736092772 -0400
@@ -45,8 +45,8 @@ CC=${CC:-gcc}
$CC -dD -E /usr/include/dwarf.h | awk '
/DW_DSC_.* = / {
p = $1
- v = gensub(",","","",$3)
- n = toupper(gensub("DW_DSC_","","",p))
+ v = gensub(",","",1,$3)
+ n = toupper(gensub("DW_DSC_","",1,p))
print n, v, p
}
'
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum.awk-gensub frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum.awk-gensub 2015-08-17 12:50:32.963447446 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum 2015-08-17 12:56:13.462669019 -0400
@@ -45,8 +45,8 @@ CC=${CC:-gcc}
$CC -dD -E /usr/include/dwarf.h | awk '
/DW_DS_.* = / {
p = $1
- v = gensub(",","","",$3)
- n = toupper(gensub("DW_DS_","","",p))
+ v = gensub(",","",1,$3)
+ n = toupper(gensub("DW_DS_","",1,p))
print n, v, p
}
'
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum.awk-gensub frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum.awk-gensub 2015-08-17 12:51:54.258567676 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum 2015-08-17 12:56:34.959182585 -0400
@@ -45,8 +45,8 @@ CC=${CC:-gcc}
$CC -dD -E /usr/include/dwarf.h | awk '
/DW_END_.* = / {
p = $1
- v = gensub(",","","",$3)
- n = toupper(gensub("DW_END_","","",p))
+ v = gensub(",","",1,$3)
+ n = toupper(gensub("DW_END_","",1,p))
print n, v, p
}
'
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum.awk-gensub frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum.awk-gensub 2015-08-17 12:50:44.749174927 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum 2015-08-17 12:56:53.437764443 -0400
@@ -45,8 +45,8 @@ CC=${CC:-gcc}
$CC -dD -E /usr/include/dwarf.h | awk '
/DW_INL_.* = / {
p = $1
- v = gensub(",","","",$3)
- n = toupper(gensub("DW_INL_","","",p))
+ v = gensub(",","",1,$3)
+ n = toupper(gensub("DW_INL_","",1,p))
print n, v, p
}
'
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum.awk-gensub frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum.awk-gensub 2015-08-17 12:51:41.343866300 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum 2015-08-17 12:57:16.653239112 -0400
@@ -46,8 +46,8 @@ $CC -dD -E /usr/include/dwarf.h | awk '
/lo_user/ || /hi_user/ { next }
/DW_OP_.* = / {
p = $1
- v = gensub(",","","",$3)
- n = toupper(gensub("DW_OP_","","",p))
+ v = gensub(",","",1,$3)
+ n = toupper(gensub("DW_OP_","",1,p))
print n, v, p
}
'
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum.awk-gensub frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum.awk-gensub 2015-08-17 12:50:56.155911172 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum 2015-08-17 12:57:33.172865298 -0400
@@ -45,8 +45,8 @@ CC=${CC:-gcc}
$CC -dD -E /usr/include/dwarf.h | awk '
/DW_ORD_.* = / {
p = $1
- v = gensub(",","","",$3)
- n = toupper(gensub("DW_ORD_","","",p))
+ v = gensub(",","",1,$3)
+ n = toupper(gensub("DW_ORD_","",1,p))
print n, v, p
}
'
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum.awk-gensub frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum.awk-gensub 2015-08-17 12:52:06.320288776 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum 2015-08-17 12:57:54.620379973 -0400
@@ -45,8 +45,8 @@ CC=${CC:-gcc}
$CC -dD -E /usr/include/dwarf.h | awk '
/DW_TAG_/ {
p = $1
- v = gensub(",","","",$3)
- n = toupper(gensub("DW_TAG_","","",p))
+ v = gensub(",","",1,$3)
+ n = toupper(gensub("DW_TAG_","",1,p))
print n, v, p
}
' 2>&1

14
frysk-0.4-bin-antlr.patch Normal file
View file

@ -0,0 +1,14 @@
diff -up frysk-0.4/frysk-common/Makefile.rules.bin-antlr frysk-0.4/frysk-common/Makefile.rules
--- frysk-0.4/frysk-common/Makefile.rules.bin-antlr 2012-01-23 20:47:12.479000002 -0500
+++ frysk-0.4/frysk-common/Makefile.rules 2012-01-23 20:48:29.693998397 -0500
@@ -567,9 +567,7 @@ endif
# running the generated files through the compiler and then "fix" the
# warnings. Reuse the tmp directory for successive runs on related .g files.
-ANTLR = $(JAVA) \
- -classpath @abs_builddir@/../frysk-imports/antlr.jar \
- antlr.Tool
+ANTLR = antlr
SUFFIXES += .antlred .g
.g.antlred:

View file

@ -0,0 +1,11 @@
--- frysk-0.4/frysk-sys/frysk/sys/proc/jni/Status.cxx.dist 2017-02-10 18:49:47.680517267 -0500
+++ frysk-0.4/frysk-sys/frysk/sys/proc/jni/Status.cxx 2017-02-10 18:49:59.424346177 -0500
@@ -91,7 +91,7 @@
break;
}
}
- if (state == '\0')
+ if (*p == '\0')
return Status(env, NULL);
// UID

View file

@ -0,0 +1,154 @@
commit 1b43afaf5f93e3fd2c7198054c038268bb671149
Author: Andrew Cagney <cagney@gnu.org>
Date: Tue Apr 19 10:38:01 2016 -0400
When cloning a unw_cursor_t also clone the jobject ref.
diff --git a/frysk-sys/lib/unwind/jni/UnwindH.hxx b/frysk-sys/lib/unwind/jni/UnwindH.hxx
index 4d72423..6c16f39 100644
--- a/frysk-sys/lib/unwind/jni/UnwindH.hxx
+++ b/frysk-sys/lib/unwind/jni/UnwindH.hxx
@@ -64,9 +64,12 @@
using namespace java::lang;
using namespace lib::unwind;
+#define CURSOR_MAGIC 0xfab
+
struct jni_cursor {
unw_cursor_t cursor;
jobject addressSpace;
+ int magic;
};
#define UNW_PROC_INFO ((unw_proc_info_t*)unwProcInfo)
@@ -248,27 +251,56 @@ jlong
TARGET::createCursor(jnixx::env env,
AddressSpace addressSpace,
jlong unwAddressSpace) {
- logf(FINE, "createCursor from address-space %lx", (long) UNW_ADDRESS_SPACE);
jni_cursor *cursor = new(jni_cursor);
+ logf(FINE, "createCursor %p using address-space %p arg %llx",
+ cursor, UNW_ADDRESS_SPACE, (long long) addressSpace._object);
// XXX: Need to zero out the cursor, as unw_init_remote doesn't seem
// to do it.
memset(cursor, 0, sizeof(jni_cursor));
// Make global as object is used across JNI calls
+ cursor->magic = CURSOR_MAGIC;
cursor->addressSpace = env.NewGlobalRef(addressSpace._object);
unw_init_remote(&cursor->cursor, UNW_ADDRESS_SPACE, cursor->addressSpace);
- logf(FINE, "createCursor at %p", cursor);
+ logf(FINE, "createCursor %p global address-space ref %llx",
+ cursor, (long long) cursor->addressSpace);
return (jlong)cursor;
}
void
TARGET::destroyCursor(jnixx::env env, jlong unwCursor) {
jni_cursor *cursor = (jni_cursor*)unwCursor;
- logf(FINE, "destroyCursor at %p", cursor);
+ logf(FINE, "destroyCursor %p", cursor);
+ if (cursor->magic != CURSOR_MAGIC) {
+ fprintf(stderr, "\n%s: cursor %p has bad CURSOR_MAGIC number\n",
+ __func__, cursor);
+ abort();
+ }
+ logf(FINE, "destroyCursor %p deleting global address-space ref %llx",
+ cursor, (long long) cursor->addressSpace);
env.DeleteGlobalRef(cursor->addressSpace);
::free(cursor);
}
jlong
+TARGET::copyCursor(jnixx::env env, jlong unwCursor) {
+ jni_cursor *original = (jni_cursor*) unwCursor;
+ logf(FINE, "copyCursor %p", original);
+ if (original->magic != CURSOR_MAGIC) {
+ fprintf(stderr, "\n%s: cursor %p has bad CURSOR_MAGIC number\n",
+ __func__, original);
+ abort();
+ }
+ jni_cursor *copy = new(jni_cursor);
+ // Create a local copy of the unwind cursor
+ ::memcpy(&copy->cursor, &original->cursor, sizeof(original->cursor));
+ copy->magic = CURSOR_MAGIC;
+ copy->addressSpace = env.NewGlobalRef(original->addressSpace);
+ logf(FINE, "copyCursor %p to %p global address-space ref %llx",
+ original, copy, (long long) copy->addressSpace);
+ return (jlong) copy;
+}
+
+jlong
TARGET::createAddressSpace(jnixx::env env, ByteOrder byteOrder) {
logf(FINE, "createAddressSpace, byteOrder %d",
(int) byteOrder.hashCode(env));
@@ -304,13 +336,13 @@ TARGET::setCachingPolicy(jnixx::env env, jlong unwAddressSpace,
jint
TARGET::isSignalFrame(jnixx::env env, jlong unwCursor) {
- logf(FINE, "isSignalFrame");
+ logf(FINE, "isSignalFrame: %p", UNW_CURSOR);
return unw_is_signal_frame(UNW_CURSOR);
}
jint
TARGET::step(jnixx::env env, jlong unwCursor) {
- logf(FINE, "step cursor: %lx", (long) UNW_CURSOR);
+ logf(FINE, "step cursor: %p", UNW_CURSOR);
return unw_step(UNW_CURSOR);
}
@@ -329,8 +361,8 @@ TARGET::getRegister(jnixx::env env, jlong unwCursor,
Number num, jlong offset, jint length,
jnixx::jbyteArray jbytes, jint start) {
int regNum = num.intValue(env);
- logf(FINE, "getRegister %d from %lx, offset %ld length %d start %d",
- regNum, (long)UNW_CURSOR, (long) offset, (int)length, (int)start);
+ logf(FINE, "getRegister: %d from cursor: %p offset: %ld length: %d start: %d",
+ regNum, UNW_CURSOR, (long) offset, (int)length, (int)start);
int status;
union {
unw_word_t w;
@@ -423,9 +455,11 @@ TARGET::getCFA(jnixx::env env, jlong unwCursor) {
// This is wasteful, but there is no generic UNW_REG_CFA.
// So just unwind and return the stack pointer.
#define FRYSK_UNW_REG_CFA UNW_REG_SP
- unw_cursor_t copy;
+ // Need to copy everything including magic and the addressSpace
+ // handle.
+ jni_cursor copy;
memcpy(&copy, UNW_CURSOR, sizeof (copy));
- if (unw_step(&copy) < 0)
+ if (unw_step(&copy.cursor) < 0)
return 0;
unwCursor = (jlong) &copy;
#endif
@@ -446,17 +480,6 @@ TARGET::getContext(jnixx::env env, jlong context) {
}
jlong
-TARGET::copyCursor(jnixx::env env, jlong unwCursor) {
- ::unw_cursor_t *nativeCursor
- = (::unw_cursor_t*) ::malloc(sizeof(::unw_cursor_t));
- // Create a local copy of the unwind cursor
- ::memcpy(nativeCursor, UNW_CURSOR, sizeof(*UNW_CURSOR));
- logf(FINE, "copyCursor %lx to %lx", (long) UNW_CURSOR,
- (long) nativeCursor);
- return (jlong) nativeCursor;
-}
-
-jlong
TARGET::getProcInfo(jnixx::env env, jlong unwCursor) {
logf(FINE, "getProcInfo cursor: %lx", (long) UNW_CURSOR);
unw_proc_info_t *procInfo
@@ -510,8 +533,9 @@ image_access_mem(unw_addr_space_t as, unw_word_t addr,
unw_word_t *val, int write, void *arg) {
struct image *image = (struct image*) arg;
if (image->magic != IMAGE_MAGIC) {
- fprintf(stderr, "%s: bad magic number\n", __func__);
- return -UNW_EINVAL;
+ fprintf(stderr, "%s: image %p has bad IMAGE_MAGIC number\n",
+ __func__, image);
+ abort();
}
// Writing is not supported
if (write)

View file

@ -0,0 +1,153 @@
commit 3fbf17b6271ca389cd4de1e33d6ec33708261228
Author: Andrew Cagney <cagney@sourceware.org>
Date: Sat Jul 17 13:06:46 2010 -0400
Add --enable-gnome; make gnome interface optional.
2010-07-17 Andrew Cagney <cagney@gnu.org>
* configure.ac: Add --enable-gnome option; only check for
java-gnome when enabled.
* Makefile.am (manpages manpages/index.html): Only include
frysk-gui when ENABLE_GNOME.
diff --git a/frysk-top/ChangeLog b/frysk-top/ChangeLog
index 00498f2..0c72180 100644
--- a/frysk-top/ChangeLog
+++ b/frysk-top/ChangeLog
@@ -1,3 +1,11 @@
+2010-07-17 Andrew Cagney <cagney@gnu.org>
+
+ * configure.ac: Add --enable-gnome option; only check for
+ java-gnome when enabled.
+
+ * Makefile.am (manpages manpages/index.html): Only include
+ frysk-gui when ENABLE_GNOME.
+
2008-06-06 Rick Moseley <rmoseley@redhat.com>
* NEWS: Add bz #'s; add item on hover-over variable.
diff --git a/frysk-top/Makefile.am b/frysk-top/Makefile.am
index d852fba..49444fb 100644
--- a/frysk-top/Makefile.am
+++ b/frysk-top/Makefile.am
@@ -41,30 +41,35 @@
include common/Makefile.rules
-SUBDIRS = \
- frysk-imports \
- frysk-sys \
- frysk-core \
- frysk-gtk \
- frysk-gui
+SUBDIRS =
+SUBDIRS += frysk-imports
+SUBDIRS += frysk-sys
+SUBDIRS += frysk-core
+if ENABLE_GNOME
+SUBDIRS += frysk-gtk
+SUBDIRS += frysk-gui
+endif
# Note the dir/. is needed, causes the file copy to put the contents
# into the top level directory.
-SOURCEDIRS = \
- $(patsubst %,$(srcdir)/%/frysk,$(SUBDIRS)) \
- $(patsubst %,$(top_builddir)/%/frysk,$(SUBDIRS)) \
- $(srcdir)/frysk-sys/lib \
- $(top_builddir)/frysk-sys/lib \
- $(srcdir)/frysk-sys/inua \
- $(top_builddir)/frysk-sys/inua \
- $(srcdir)/frysk-imports/getopt/src/getopt/gnu \
- $(srcdir)/frysk-imports/jline/src/jline \
- $(srcdir)/frysk-imports/junit/src/junit \
- $(srcdir)/frysk-core/frysk/pkglibdir/. \
- $(srcdir)/frysk-core/frysk/bindir/. \
- $(srcdir)/frysk-gui/frysk/bindir/. \
- $(empty)
+SOURCEDIRS =
+SOURCEDIRS += $(patsubst %,$(srcdir)/%/frysk,$(SUBDIRS))
+SOURCEDIRS += $(patsubst %,$(top_builddir)/%/frysk,$(SUBDIRS))
+SOURCEDIRS += $(srcdir)/frysk-sys/lib
+SOURCEDIRS += $(top_builddir)/frysk-sys/lib
+SOURCEDIRS += $(srcdir)/frysk-sys/inua
+SOURCEDIRS += $(top_builddir)/frysk-sys/inua
+SOURCEDIRS += $(srcdir)/frysk-imports/getopt/src/getopt/gnu
+SOURCEDIRS += $(srcdir)/frysk-imports/jline/src/jline
+SOURCEDIRS += $(srcdir)/frysk-imports/junit/src/junit
+SOURCEDIRS += $(srcdir)/frysk-core/frysk/pkglibdir/.
+SOURCEDIRS += $(srcdir)/frysk-core/frysk/bindir/.
+SOURCEDIRS += $(srcdir)/frysk-gui/frysk/bindir/.
+
+if ENABLE_GNOME
+SOURCEDIRS += $(srcdir)/frysk-gui/frysk/bindir/.
+endif
# Generate html manpages. Use same xml sources, but generate html.
@@ -78,6 +83,7 @@ TEMPLATE = $(srcdir)/htdocs/template.html
manpages manpages/index.html:
rm -rf manpages
mkdir -p manpages
+if ENABLE_GNOME
XMLTO=$(XMLTO) \
sh $(srcdir)/frysk-common/manpages.sh \
$(TEMPLATE) \
@@ -89,6 +95,17 @@ manpages manpages/index.html:
frysk-gui/frysk/bindir/*.xml \
-"Test framework" \
*/frysk/pkglibdir/*.xml
+else
+ XMLTO=$(XMLTO) \
+ sh $(srcdir)/frysk-common/manpages.sh \
+ $(TEMPLATE) \
+ -"Overview" \
+ frysk-common/frysk.xml \
+ -"Command Line Utilities" \
+ frysk-core/frysk/bindir/*.xml \
+ -"Test framework" \
+ */frysk/pkglibdir/*.xml
+endif
mv manpages/index.new manpages/index.html
# Generate JAVADOC documentation.
diff --git a/frysk-top/configure.ac b/frysk-top/configure.ac
index 6e1d234..bf122ce 100644
--- a/frysk-top/configure.ac
+++ b/frysk-top/configure.ac
@@ -43,11 +43,24 @@ sinclude(common/version.ac)
AC_INIT(frysk,defn([FRYSK_VERSION]))
m4_include([common/frysk-common.ac])
+AC_ARG_ENABLE(gnome,
+AC_HELP_STRING(
+ [--enable-gnome],
+ [enable gnome user interface (default no)]),
+[enable_gnome=$enableval],
+[enable_gnome=no])
+AM_CONDITIONAL([ENABLE_GNOME], [test x$enable_gnome = xyes])
+
AM_INIT_AUTOMAKE([subdir-objects foreign no-installinfo no-exeext no-dist])
AC_CONFIG_FILES([Makefile])
-AC_CONFIG_SUBDIRS([frysk-imports frysk-sys frysk-core frysk-gtk frysk-gui])
+
+AC_CONFIG_SUBDIRS([frysk-imports frysk-sys frysk-core])
+if test x$enable_gnome = xyes; then
+ AC_CONFIG_SUBDIRS([frysk-gtk frysk-gui])
+fi
# Need to call PKG_CHECK_MODULES to get PKG_CONFIG set; used by javadoc.
+if test x$enable_gnome = xyes ; then
PKG_CHECK_MODULES(FRYSK_GNOME, [gtk+-2.0 >= 2.7.0 gtk2-java >= 2.7.0
glade-java >= 2.7.0 glib-java >= 0.2 cairo-java >= 1.0 vte-java >=
0.11.11 pango >= 1.10.0 pangox >= 1.10.0 pangoft2 >= 1.10.0])
@@ -55,5 +68,6 @@ FRYSK_PKG_MODULE_VARIABLE(FRYSK_GNOME_JARS, classpath, [gtk+-2.0 >= 2.7.0
gtk2-java >= 2.7.0 glade-java >= 2.7.0 glib-java >= 0.2
cairo-java >= 1.0 vte-java
>= 0.11.11 pango >= 1.10.0 pangox >= 1.10.0 pangoft2 >= 1.10.0])
+fi
AC_OUTPUT

12
frysk-0.4-cxx-scope.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up frysk-0.4/frysk-sys/jnixx/elements.hxx.cxx-scope frysk-0.4/frysk-sys/jnixx/elements.hxx
--- frysk-0.4/frysk-sys/jnixx/elements.hxx.cxx-scope 2012-01-22 21:21:58.336000647 -0500
+++ frysk-0.4/frysk-sys/jnixx/elements.hxx 2012-01-22 21:22:13.119000651 -0500
@@ -207,7 +207,7 @@ private:
char file[FILENAME_MAX];
public:
void operator=(const FileElements& src) {
- copy(src);
+ this->copy(src);
::strcpy(this->file, src.file);
// Don't copy the pointer.
}

View file

@ -0,0 +1,29 @@
commit be258fda95c5a89305aa7a1bf2530d307a293115
Author: Andrew Cagney <cagney@gnu.org>
Date: Fri Sep 6 12:24:43 2019 -0400
disable arch32 tests by default
frysk-0.4-disable-arch32-tests.patch
diff --git a/frysk-common/m4/frysk_do_arch32_test.m4 b/frysk-common/m4/frysk_do_arch32_test.m4
index 6f8c2a13d..d8b3b7b54 100644
--- a/frysk-common/m4/frysk_do_arch32_test.m4
+++ b/frysk-common/m4/frysk_do_arch32_test.m4
@@ -39,13 +39,9 @@
AC_DEFUN([FRYSK_DO_ARCH32_TEST], [
AC_REQUIRE([AC_CANONICAL_TARGET])
AC_ARG_ENABLE([arch32_tests],
- [AS_HELP_STRING([--disable-arch32-tests],
- [Disable the multiarch testing on 64-bit platforms.])],
+ [AS_HELP_STRING([--enable-arch32-tests],
+ [Enable the multiarch testing on 64-bit platforms.])],
[],
- [dnl The default:
- case $target_cpu in #(
- x86_64|powerpc64|ppc64) enable_arch32_tests=yes;; #(
- *) enable_arch32_tests=no;;
- esac])
+ [enable_arch32_tests=no])
AM_CONDITIONAL([DO_ARCH32_TEST], [test "$enable_arch32_tests" = yes])
])

View file

@ -1,295 +0,0 @@
diff --git b/libdwfl/ChangeLog a/libdwfl/ChangeLog
index e1d00f1..01a2537 100644
--- b/libdwfl/ChangeLog
+++ a/libdwfl/ChangeLog
@@ -1,39 +1,3 @@
-2008-06-19 Andrew Cagney <cagney@redhat.com>
-
- * dwfl_module_addrsym.c (dwfl_module_addrsym): Correctly update
- min_label.
-
-2008-06-07 Andrew Cagney <cagney@redhat.com>
-
- * dwfl_module_getdwarf.c (open_elf): Don't align the module's load
- address. Bug frysk/6599, redhat/450218.
-
- * dwfl_module_getsrc.c (dwfl_module_getsrc): Remove bias from
- address. Fix frysk/6600, redhat/450229.
-
-
-2008-05-21 Petr Machata <pmachata@redhat.com>
-
- * dwfl_module_getdwarf.c (open_elf): Assume that debuginfo of EXEC
- files has the same bias as the main file.
-
-2008-04-02 Petr Machata <pmachata@redhat.com>
-
- * dwfl_module_getdwarf.c (find_debuginfo): Return DWFL_E_CB when
- the callback results in an error.
- (find_file): Likewise.
-
-2008-03-24 Stan Cox <scox@redhat.com>
-
- * dwfl_module_getdwarf.c (load_symtab): Keep looking for an external
- symbol table even if we have a .dynsym. Should be fixed post 0.133.
-
-2008-03-13 Tim Moore <timoore@redhat.com>
-
- * dwfl_module_addrsym.c (dwfl_module_addrsym): Start min_label
- from 0 to allow sizeless symbols below the address. Choose the
- best sizeless symbol.
-
2008-02-19 Roland McGrath <roland@redhat.com>
* relocate.c (relocate_section): Check for an unhandled relocation
diff --git b/libdwfl/dwfl_module_addrsym.c a/libdwfl/dwfl_module_addrsym.c
index 77033a6..f16de11 100644
--- b/libdwfl/dwfl_module_addrsym.c
+++ a/libdwfl/dwfl_module_addrsym.c
@@ -49,13 +49,10 @@
#include "libdwflP.h"
-#include <stdio.h>
-
const char *
dwfl_module_addrsym (Dwfl_Module *mod, GElf_Addr addr,
GElf_Sym *closest_sym, GElf_Word *shndxp)
{
- // fprintf(stderr, "looking up %lx\n", (long) addr);
int syments = INTUSE(dwfl_module_getsymtab) (mod);
if (syments < 0)
return NULL;
@@ -111,7 +108,7 @@ dwfl_module_addrsym (Dwfl_Module *mod, GElf_Addr addr,
GElf_Word sizeless_shndx = SHN_UNDEF;
/* Keep track of the lowest address a relevant sizeless symbol could have. */
- GElf_Addr min_label = 0;
+ GElf_Addr min_label = addr;
/* Look through the symbol table for a matching symbol. */
for (int i = 1; i < syments; ++i)
@@ -119,20 +116,15 @@ dwfl_module_addrsym (Dwfl_Module *mod, GElf_Addr addr,
GElf_Sym sym;
GElf_Word shndx;
const char *name = INTUSE(dwfl_module_getsym) (mod, i, &sym, &shndx);
- // fprintf(stderr, "symbol %s at 0x%lx 0x%ld\n", name, (long) sym.st_value, (long) sym.st_size);
- /* Even if we don't choose this symbol, its existence excludes
- any sizeless symbol (assembly label) that is below its upper
- bound. */
- if (name != NULL && sym.st_value <= addr
- && sym.st_value + sym.st_size > min_label) {
- min_label = sym.st_value + sym.st_size;
- // fprintf(stderr, " min to %s size ends at %lx\n", name, (long) min_label);
- }
if (name != NULL
&& sym.st_value <= addr
&& (sym.st_size == 0 || addr - sym.st_value < sym.st_size))
{
- // fprintf(stderr, " candidate %s at 0x%lx 0x%ld\n", name, (long) sym.st_value, (long) sym.st_size);
+ /* Even if we don't choose this symbol, its existence
+ excludes any sizeless symbol (assembly label) that
+ is inside its bounds. */
+ if (sym.st_value + sym.st_size > addr)
+ min_label = sym.st_value + sym.st_size;
/* This symbol is a better candidate than the current one
if it's a named symbol, not a section or file symbol,
@@ -148,7 +140,6 @@ dwfl_module_addrsym (Dwfl_Module *mod, GElf_Addr addr,
{
if (sym.st_size != 0)
{
- // fprintf(stderr, " closest %s at %lx\n", name, (long)sym.st_value);
*closest_sym = sym;
closest_shndx = shndx;
closest_name = name;
@@ -159,29 +150,17 @@ dwfl_module_addrsym (Dwfl_Module *mod, GElf_Addr addr,
st_size. If no symbol with proper size includes
the address, we'll use the closest one that is in
the same section as ADDR. */
- if (sizeless_name == NULL
- || sizeless_sym.st_value < sym.st_value
- || (sizeless_sym.st_value == sym.st_value
- && strcmp(name, sizeless_name) < 0))
- {
- // fprintf(stderr, " sizeless %s at %lx\n", name, (long)sym.st_value);
- sizeless_sym = sym;
- sizeless_shndx = shndx;
- sizeless_name = name;
- }
+ sizeless_sym = sym;
+ sizeless_shndx = shndx;
+ sizeless_name = name;
}
}
/* When the beginning of its range is no closer,
- the end of its range might be.
- If symbols are identical, choose the first one in
- alphabetical order */
+ the end of its range might be. */
else if (sym.st_size != 0
&& closest_sym->st_value == sym.st_value
- && (closest_sym->st_size > sym.st_size
- || (closest_sym->st_size == sym.st_size
- && strcmp(name, closest_name) < 0)))
+ && closest_sym->st_size > sym.st_size)
{
- // fprintf(stderr, " alt closest %s at %lx\n", name, (long)sym.st_value);
*closest_sym = sym;
closest_shndx = shndx;
closest_name = name;
diff --git b/libdwfl/dwfl_module_getdwarf.c a/libdwfl/dwfl_module_getdwarf.c
index 1d75754..7dd9b53 100644
--- b/libdwfl/dwfl_module_getdwarf.c
+++ a/libdwfl/dwfl_module_getdwarf.c
@@ -82,26 +82,19 @@ open_elf (Dwfl_Module *mod, struct dwfl_file *file)
}
file->bias = 0;
- if (mod->e_type == ET_EXEC && file == &mod->debug)
- /* Prelink can change ET_EXEC's first loadable address, but it
- will not touch .text or any section where symbol information is
- relevant. Assume debugbias is the same as the main file. */
- file->bias = mod->main.bias;
- else
- for (uint_fast16_t i = 0; i < ehdr->e_phnum; ++i)
- {
- GElf_Phdr ph_mem;
- GElf_Phdr *ph = gelf_getphdr (file->elf, i, &ph_mem);
- if (ph == NULL)
- goto elf_error;
- if (ph->p_type == PT_LOAD)
- {
- // Align the vaddr.
- Dwarf_Addr vaddr = ph->p_vaddr & -ph->p_align;
- file->bias = (mod->low_addr - vaddr);
- break;
- }
- }
+ for (uint_fast16_t i = 0; i < ehdr->e_phnum; ++i)
+ {
+ GElf_Phdr ph_mem;
+ GElf_Phdr *ph = gelf_getphdr (file->elf, i, &ph_mem);
+ if (ph == NULL)
+ goto elf_error;
+ if (ph->p_type == PT_LOAD)
+ {
+ file->bias = ((mod->low_addr & -ph->p_align)
+ - (ph->p_vaddr & -ph->p_align));
+ break;
+ }
+ }
mod->e_type = ehdr->e_type;
@@ -124,15 +117,6 @@ find_file (Dwfl_Module *mod)
mod->main.fd = (*mod->dwfl->callbacks->find_elf) (MODCB_ARGS (mod),
&mod->main.name,
&mod->main.elf);
-
- /* Bail out on error, but if there was a pre-primed file name left
- behind by the callback, try to open that file name. */
- if (mod->main.fd < 0 && mod->main.name == NULL)
- {
- mod->elferr = DWFL_E_CB;
- return;
- }
-
mod->elferr = open_elf (mod, &mod->main);
if (mod->elferr == DWFL_E_NOERROR && !mod->main.valid)
@@ -222,12 +206,6 @@ find_debuginfo (Dwfl_Module *mod)
debuglink_file,
debuglink_crc,
&mod->debug.name);
-
- /* Bail out on error, but if there was a pre-primed file name left
- behind by the callback, try to open that file name. */
- if (mod->debug.fd < 0 && mod->debug.name == NULL)
- return DWFL_E_CB;
-
return open_elf (mod, &mod->debug);
}
@@ -240,7 +218,6 @@ load_symtab (struct dwfl_file *file, struct dwfl_file **symfile,
Elf_Scn **symscn, Elf_Scn **xndxscn,
size_t *syments, GElf_Word *strshndx)
{
- bool symtab = false;
Elf_Scn *scn = NULL;
while ((scn = elf_nextscn (file->elf, scn)) != NULL)
{
@@ -249,7 +226,6 @@ load_symtab (struct dwfl_file *file, struct dwfl_file **symfile,
switch (shdr->sh_type)
{
case SHT_SYMTAB:
- symtab = true;
*symscn = scn;
*symfile = file;
*strshndx = shdr->sh_link;
@@ -259,8 +235,6 @@ load_symtab (struct dwfl_file *file, struct dwfl_file **symfile,
break;
case SHT_DYNSYM:
- if (symtab)
- break;
/* Use this if need be, but keep looking for SHT_SYMTAB. */
*symscn = scn;
*symfile = file;
@@ -270,7 +244,7 @@ load_symtab (struct dwfl_file *file, struct dwfl_file **symfile,
case SHT_SYMTAB_SHNDX:
*xndxscn = scn;
- if (symtab)
+ if (*symscn != NULL)
return DWFL_E_NOERROR;
break;
@@ -279,7 +253,7 @@ load_symtab (struct dwfl_file *file, struct dwfl_file **symfile,
}
}
- if (symtab)
+ if (*symscn != NULL)
/* We found one, though no SHT_SYMTAB_SHNDX to go with it. */
return DWFL_E_NOERROR;
diff --git b/libdwfl/dwfl_module_getsrc.c a/libdwfl/dwfl_module_getsrc.c
index a413189..84c7eaa 100644
--- b/libdwfl/dwfl_module_getsrc.c
+++ a/libdwfl/dwfl_module_getsrc.c
@@ -63,8 +63,6 @@ dwfl_module_getsrc (Dwfl_Module *mod, Dwarf_Addr addr)
error = __libdwfl_cu_getsrclines (cu);
if (likely (error == DWFL_E_NOERROR))
{
- /* Remove bias. */
- addr = addr - bias;
/* The lines are sorted by address, so we can use binary search. */
size_t l = 0, u = cu->die.cu->lines->nlines;
while (l < u)
diff --git b/libelf/ChangeLog a/libelf/ChangeLog
index b7aeee4..ef7b37a 100644
--- b/libelf/ChangeLog
+++ a/libelf/ChangeLog
@@ -1,8 +1,3 @@
-2008-03-13 Tim Moore <timoore@redhat.com>
-
- * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Cast offset and
- size computation to uint64_t.
-
2008-02-19 Roland McGrath <roland@redhat.com>
* elf.h: Update from glibc.
diff --git b/libelf/elf_getdata_rawchunk.c a/libelf/elf_getdata_rawchunk.c
index 1b1b003..bea0f3f 100644
--- b/libelf/elf_getdata_rawchunk.c
+++ a/libelf/elf_getdata_rawchunk.c
@@ -79,7 +79,7 @@ elf_getdata_rawchunk (elf, offset, size, type)
}
if (unlikely (size > elf->maximum_size
- || (uint64_t)(elf->maximum_size - size) < (uint64_t)offset))
+ || (off64_t) (elf->maximum_size - size) < offset))
{
/* Invalid request. */
__libelf_seterrno (ELF_E_INVALID_OP);

File diff suppressed because it is too large Load diff

View file

@ -1,54 +0,0 @@
diff -up frysk-0.4/frysk-core/Makefile.am.elfutils-ldadd-lzma frysk-0.4/frysk-core/Makefile.am
--- frysk-0.4/frysk-core/Makefile.am.elfutils-ldadd-lzma 2010-09-28 09:32:10.867191001 -0400
+++ frysk-0.4/frysk-core/Makefile.am 2010-09-28 09:32:23.734191001 -0400
@@ -70,6 +70,7 @@ GEN_GCJ_LDADD_LIST += -lstdc++
GEN_GCJ_LDADD_LIST += -laudit
GEN_GCJ_LDADD_LIST += -lbz2
GEN_GCJ_LDADD_LIST += -lz
+GEN_GCJ_LDADD_LIST += -llzma
# For TestExec.java
pkglib_PROGRAMS += frysk/pkglibdir/funit-exec-alias
diff -up frysk-0.4/frysk-gtk/Makefile.am.elfutils-ldadd-lzma frysk-0.4/frysk-gtk/Makefile.am
--- frysk-0.4/frysk-gtk/Makefile.am.elfutils-ldadd-lzma 2010-09-28 09:32:37.941191002 -0400
+++ frysk-0.4/frysk-gtk/Makefile.am 2010-09-28 09:32:50.346191002 -0400
@@ -66,6 +66,7 @@ GEN_GCJ_LDADD_LIST += -lstdc++
GEN_GCJ_LDADD_LIST += -laudit
GEN_GCJ_LDADD_LIST += -lbz2
GEN_GCJ_LDADD_LIST += -lz
+GEN_GCJ_LDADD_LIST += -llzma
# Hack, need to compile this entire sub-tree with JNI.
AM_GCJFLAGS += -fjni
diff -up frysk-0.4/frysk-gui/Makefile.am.elfutils-ldadd-lzma frysk-0.4/frysk-gui/Makefile.am
--- frysk-0.4/frysk-gui/Makefile.am.elfutils-ldadd-lzma 2010-09-28 09:33:03.212191001 -0400
+++ frysk-0.4/frysk-gui/Makefile.am 2010-09-28 09:33:14.068191002 -0400
@@ -79,6 +79,7 @@ GEN_GCJ_LDADD_LIST += $(FRYSK_GUI_LIBS)
GEN_GCJ_LDADD_LIST += -laudit
GEN_GCJ_LDADD_LIST += -lbz2
GEN_GCJ_LDADD_LIST += -lz
+GEN_GCJ_LDADD_LIST += -llzma
# Skip the JUnit tests (exit with status 77) when there is no display; bug #3012.
#TESTS_ENVIRONMENT = ( test $$tst != TestRunner || test -n "$$DISPLAY" || exit 77 ) &&
diff -up frysk-0.4/frysk-imports/tests/Makefile.am.elfutils-ldadd-lzma frysk-0.4/frysk-imports/tests/Makefile.am
--- frysk-0.4/frysk-imports/tests/Makefile.am.elfutils-ldadd-lzma 2010-09-28 09:31:44.243191000 -0400
+++ frysk-0.4/frysk-imports/tests/Makefile.am 2010-09-28 09:31:44.277191000 -0400
@@ -492,5 +492,5 @@ frysk4796_dwfltest_LDADD = -ldl $(top_bu
$(top_builddir)/elfutils/libdw/libdw.a \
$(top_builddir)/elfutils/libebl/libebl.a \
$(top_builddir)/elfutils/libelf/libelf.a \
--lz -lbz2
+-lz -lbz2 -llzma
systests_PASS_PROGRAM += frysk4796/dwfltest
diff -up frysk-0.4/frysk-sys/Makefile.am.elfutils-ldadd-lzma frysk-0.4/frysk-sys/Makefile.am
--- frysk-0.4/frysk-sys/Makefile.am.elfutils-ldadd-lzma 2010-09-28 09:31:44.254191000 -0400
+++ frysk-0.4/frysk-sys/Makefile.am 2010-09-28 09:31:44.281191000 -0400
@@ -67,6 +67,7 @@ endif
GEN_GCJ_LDADD_LIST += -lstdc++ -laudit
GEN_GCJ_LDADD_LIST += -lbz2
GEN_GCJ_LDADD_LIST += -lz
+GEN_GCJ_LDADD_LIST += -llzma
# Force a few dependencies
lib/unwind/cni/Unwind%.cxx: lib/unwind/Unwind%.java lib/unwind/cni/UnwindH.hxx

View file

@ -1,59 +0,0 @@
diff -up frysk-0.4/frysk-core/Makefile.am.elfutilsin frysk-0.4/frysk-core/Makefile.am
--- frysk-0.4/frysk-core/Makefile.am.elfutilsin 2010-03-23 21:33:19.000000000 -0400
+++ frysk-0.4/frysk-core/Makefile.am 2010-03-23 21:33:20.000000000 -0400
@@ -68,6 +68,8 @@ GEN_GCJ_LDADD_LIST += -lstdc++
# Stub bfd_getb32 and bfd_getl32 for PPC64. Unconditionally
# link -lbfd_get just for simplification.
GEN_GCJ_LDADD_LIST += -laudit
+GEN_GCJ_LDADD_LIST += -lbz2
+GEN_GCJ_LDADD_LIST += -lz
# For TestExec.java
pkglib_PROGRAMS += frysk/pkglibdir/funit-exec-alias
diff -up frysk-0.4/frysk-gtk/Makefile.am.elfutilsin frysk-0.4/frysk-gtk/Makefile.am
--- frysk-0.4/frysk-gtk/Makefile.am.elfutilsin 2010-03-23 21:44:42.000000000 -0400
+++ frysk-0.4/frysk-gtk/Makefile.am 2010-03-23 21:45:02.000000000 -0400
@@ -64,6 +64,8 @@ GEN_GCJ_LDADD_LIST += \
GEN_GCJ_LDADD_LIST += -lstdc++
# For auditing
GEN_GCJ_LDADD_LIST += -laudit
+GEN_GCJ_LDADD_LIST += -lbz2
+GEN_GCJ_LDADD_LIST += -lz
# Hack, need to compile this entire sub-tree with JNI.
AM_GCJFLAGS += -fjni
diff -up frysk-0.4/frysk-gui/Makefile.am.elfutilsin frysk-0.4/frysk-gui/Makefile.am
--- frysk-0.4/frysk-gui/Makefile.am.elfutilsin 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-gui/Makefile.am 2010-03-23 21:33:20.000000000 -0400
@@ -77,6 +77,8 @@ GEN_GCJ_LDADD_LIST += -L../frysk-gtk/Egg
GEN_GCJ_LDADD_LIST += -L../frysk-gtk/tlwidgets
GEN_GCJ_LDADD_LIST += $(FRYSK_GUI_LIBS)
GEN_GCJ_LDADD_LIST += -laudit
+GEN_GCJ_LDADD_LIST += -lbz2
+GEN_GCJ_LDADD_LIST += -lz
# Skip the JUnit tests (exit with status 77) when there is no display; bug #3012.
#TESTS_ENVIRONMENT = ( test $$tst != TestRunner || test -n "$$DISPLAY" || exit 77 ) &&
diff -up frysk-0.4/frysk-imports/tests/Makefile.am.elfutilsin frysk-0.4/frysk-imports/tests/Makefile.am
--- frysk-0.4/frysk-imports/tests/Makefile.am.elfutilsin 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-imports/tests/Makefile.am 2010-03-23 21:33:20.000000000 -0400
@@ -491,5 +491,6 @@ frysk4796_dwfltest_CFLAGS = -I$(top_srcd
frysk4796_dwfltest_LDADD = -ldl $(top_builddir)/elfutils/libasm/libasm.a \
$(top_builddir)/elfutils/libdw/libdw.a \
$(top_builddir)/elfutils/libebl/libebl.a \
-$(top_builddir)/elfutils/libelf/libelf.a
+$(top_builddir)/elfutils/libelf/libelf.a \
+-lz -lbz2
systests_PASS_PROGRAM += frysk4796/dwfltest
diff -up frysk-0.4/frysk-sys/Makefile.am.elfutilsin frysk-0.4/frysk-sys/Makefile.am
--- frysk-0.4/frysk-sys/Makefile.am.elfutilsin 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/Makefile.am 2010-03-23 21:33:20.000000000 -0400
@@ -65,6 +65,8 @@ GEN_GCJ_LDADD_LIST += ../frysk-imports/l
../frysk-imports/libunwind-ppc64/src/.libs/libunwind-ppc64.a
endif
GEN_GCJ_LDADD_LIST += -lstdc++ -laudit
+GEN_GCJ_LDADD_LIST += -lbz2
+GEN_GCJ_LDADD_LIST += -lz
# Force a few dependencies
lib/unwind/cni/Unwind%.cxx: lib/unwind/Unwind%.java lib/unwind/cni/UnwindH.hxx

View file

@ -1,12 +0,0 @@
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum.elfutilsin frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum.elfutilsin 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum 2010-03-23 21:33:20.000000000 -0400
@@ -43,6 +43,8 @@
CC=${CC:-gcc}
$CC -dD -E $(dirname $0)/../../../frysk-imports/elfutils/libdw/dwarf.h | awk '
+ /lo_user/ { next }
+ /hi_user/ { next }
/DW_OP_.* = / {
p = $1
v = gensub(",","","",$3)

View file

@ -1,11 +0,0 @@
diff -up frysk-0.4/frysk-common/Makefile.rules.elfutils-maphack frysk-0.4/frysk-common/Makefile.rules
--- frysk-0.4/frysk-common/Makefile.rules.elfutils-maphack 2010-03-25 16:11:21.000000000 -0400
+++ frysk-0.4/frysk-common/Makefile.rules 2010-03-25 16:12:05.000000000 -0400
@@ -477,6 +477,7 @@ lib$(GEN_DIRNAME)-jni.so: $(JNI_ARCHIVE_
lib$(GEN_DIRNAME)-jni.so: lib$(GEN_DIRNAME)-jni.a
soname=`basename $@` ; \
$(CC) -shared -o $@.tmp \
+ -Wl,--version-script,$(top_srcdir)/../frysk-imports/elfutils/libdw/libdw.map \
-Wl,--whole-archive \
-Wl,$< \
$(JNI_ARCHIVE_LIST:%=-Wl,%) \

View file

@ -1,18 +0,0 @@
2008-03-13 Tim Moore <timoore@redhat.com>
* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Cast offset and
size computation to uint64_t.
diff --git b/libelf/elf_getdata_rawchunk.c a/libelf/elf_getdata_rawchunk.c
index 1b1b003..bea0f3f 100644
--- b/libelf/elf_getdata_rawchunk.c
+++ a/libelf/elf_getdata_rawchunk.c
@@ -79,7 +79,7 @@ elf_getdata_rawchunk (elf, offset, size, type)
}
if (unlikely (size > elf->maximum_size
- || (off64_t) (elf->maximum_size - size) < offset))
+ || (uint64_t)(elf->maximum_size - size) < (uint64_t)offset))
{
/* Invalid request. */
__libelf_seterrno (ELF_E_INVALID_OP);

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,72 @@
commit 7d3895fb2331f5f9d2304a901c7bce7e32cdf93b
Author: Andrew Cagney <cagney@gnu.org>
Date: Tue Apr 19 16:49:23 2016 -0400
Install the JNI .so in $(pkglibdir)
So it isn't in the default ld library path.
Patch: frysk-0.4-fedpkg-lint-solib.patch
diff --git a/frysk-common/Makefile.gen.sh b/frysk-common/Makefile.gen.sh
index 11a83dc..7802cbb 100755
--- a/frysk-common/Makefile.gen.sh
+++ b/frysk-common/Makefile.gen.sh
@@ -508,7 +508,7 @@ for suffix in .java .java-sh .mkenum .shenum .java-in ; do
${name}: Makefile
mkdir -p ${d}
echo "#!/bin/sh" >> ${name}.tmp
- echo exec /usr/bin/java -cp \"\$(INSTALLED_CLASSPATH)\" ${name} \"\\\$\$@\" >> ${name}.tmp
+ echo exec /usr/bin/java -Djava.library.path=\"\$(pkglibdir)\" -cp \"\$(INSTALLED_CLASSPATH)\" ${name} \"\\\$\$@\" >> ${name}.tmp
chmod a+x ${name}.tmp
mv ${name}.tmp ${name}
EOF
@@ -808,7 +808,7 @@ if automake_variable_defined lib${GEN_MAKENAME}_jni_a_SOURCES ; then
JNIXX_CLASSES =
noinst_LIBRARIES += lib${GEN_DIRNAME}-jni.a
lib${GEN_MAKENAME}_jni_so_SOURCES =
-solib_PROGRAMS += lib${GEN_DIRNAME}-jni.so
+jni_PROGRAMS += lib${GEN_DIRNAME}-jni.so
lib${GEN_DIRNAME}-jni.so: lib${GEN_DIRNAME}-jni.a
jni: lib${GEN_DIRNAME}-jni.so
lib${GEN_MAKENAME}_jni_a_SOURCES += jni.cxx
diff --git a/frysk-common/Makefile.rules b/frysk-common/Makefile.rules
index e109084..ccd1535 100644
--- a/frysk-common/Makefile.rules
+++ b/frysk-common/Makefile.rules
@@ -438,14 +438,14 @@ lib$(GEN_DIRNAME)-jni.so: lib$(GEN_DIRNAME)-jni.a
mv $@.tmp $@
-# Clueless automake: Use a phony DATA entry to convince AUTOMAKE that
-# it really should install a .so file into LIBDIR. The obvious
-# choice, lib_LIBRARIES, attracts an error because .so isn't a valid
-# extension (serious!); mean while LTLIBRARIES insists that the world
-# should use LIBTOOL.
-
-solibdir = $(libdir)
-solib_PROGRAMS =
+# Clueless automake: Use a phony entry to convince AUTOMAKE that it
+# really should install a .so file in $(PKGLIBDIR). The obvious
+# choice, pkglib_LIBRARIES, attracts an error because .so isn't a
+# valid extension (serious!); mean while LTLIBRARIES insists that the
+# world should use LIBTOOL.
+
+jnidir = $(pkglibdir)
+jni_PROGRAMS =
# The shared java directory (typically /usr/share/java/; contains
# things like .jar files) but here is architecture specific as frsyk,
diff --git a/frysk-top/bootstrap.sh b/frysk-top/bootstrap.sh
index a426ed4..b02af86 100755
--- a/frysk-top/bootstrap.sh
+++ b/frysk-top/bootstrap.sh
@@ -44,7 +44,7 @@ cd `dirname $0`
# Update any bootstraped sub directories.
-for s in */bootstrap.sh
+for s in frysk-{imports,sys,core}/bootstrap.sh
do
d=`dirname $s`
if test -d $d -a x"$d" != x"frysk-top"; then

132
frysk-0.4-gcc-fcommon.patch Normal file
View file

@ -0,0 +1,132 @@
diff --git a/frysk-imports/libunwind/src/Makefile.am b/frysk-imports/libunwind/src/Makefile.am
index c187a9a4c..1f551b953 100644
--- a/frysk-imports/libunwind/src/Makefile.am
+++ b/frysk-imports/libunwind/src/Makefile.am
@@ -110,7 +110,8 @@ libunwind_la_SOURCES_generic = \
mi/Gget_reg.c mi/Gset_reg.c \
mi/Gget_fpreg.c mi/Gset_fpreg.c \
mi/Gget_unwind_table.c \
- mi/Gset_caching_policy.c
+ mi/Gset_caching_policy.c \
+ mi/dyn-info-list.c
if SUPPORT_CXX_EXCEPTIONS
libunwind_la_SOURCES_local_unwind = \
@@ -131,7 +132,10 @@ endif
libunwind_la_SOURCES_local_nounwind = \
$(libunwind_la_SOURCES_os_local) \
mi/backtrace.c \
- mi/dyn-cancel.c mi/dyn-info-list.c mi/dyn-register.c \
+ mi/dyn-cancel.c \
+ mi/dyn-info-list.c \
+ mi/dyn-info-list-addr.c \
+ mi/dyn-register.c \
mi/Ldyn-extract.c mi/Lfind_dynamic_proc_info.c \
mi/Lget_accessors.c \
mi/Lget_proc_info_by_ip.c mi/Lget_proc_name.c \
diff --git a/frysk-imports/libunwind/src/mi/dyn-info-list-addr.c b/frysk-imports/libunwind/src/mi/dyn-info-list-addr.c
new file mode 100644
index 000000000..2bde9edc8
--- /dev/null
+++ b/frysk-imports/libunwind/src/mi/dyn-info-list-addr.c
@@ -0,0 +1,32 @@
+/* libunwind - a platform-independent unwind library
+ Copyright (C) 2001-2002, 2005 Hewlett-Packard Co
+ Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
+
+This file is part of libunwind.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+
+#include "libunwind_i.h"
+
+PROTECTED unw_word_t
+_U_dyn_info_list_addr (void)
+{
+ return (unw_word_t) (uintptr_t) &_U_dyn_info_list;
+}
diff --git a/frysk-imports/libunwind/src/mi/dyn-info-list.c b/frysk-imports/libunwind/src/mi/dyn-info-list.c
index 1a0790d36..69e4998ea 100644
--- a/frysk-imports/libunwind/src/mi/dyn-info-list.c
+++ b/frysk-imports/libunwind/src/mi/dyn-info-list.c
@@ -27,8 +27,3 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-PROTECTED unw_word_t
-_U_dyn_info_list_addr (void)
-{
- return (unw_word_t) (uintptr_t) &_U_dyn_info_list;
-}
diff --git a/frysk-imports/libunwind/src/x86/Ginit.c b/frysk-imports/libunwind/src/x86/Ginit.c
index b05a08edb..79bd611c0 100644
--- a/frysk-imports/libunwind/src/x86/Ginit.c
+++ b/frysk-imports/libunwind/src/x86/Ginit.c
@@ -54,8 +54,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
# endif /* UNW_LOCAL_ONLY */
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
/* XXX fix me: there is currently no way to locate the dyn-info list
by a remote unwinder. On ia64, this is done via a special
unwind-table entry. Perhaps something similar can be done with
diff --git a/frysk-imports/libunwind/src/x86_64/Ginit.c b/frysk-imports/libunwind/src/x86_64/Ginit.c
index 782757622..36e30af8e 100644
--- a/frysk-imports/libunwind/src/x86_64/Ginit.c
+++ b/frysk-imports/libunwind/src/x86_64/Ginit.c
@@ -48,8 +48,6 @@ static struct unw_addr_space local_addr_space;
PROTECTED unw_addr_space_t unw_local_addr_space = &local_addr_space;
-HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-
/* XXX fix me: there is currently no way to locate the dyn-info list
by a remote unwinder. On ia64, this is done via a special
unwind-table entry. Perhaps something similar can be done with
diff --git a/frysk-sys/Makefile.am b/frysk-sys/Makefile.am
index f69fd01b8..c54cb8a92 100644
--- a/frysk-sys/Makefile.am
+++ b/frysk-sys/Makefile.am
@@ -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, 2020, 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
@@ -56,9 +56,12 @@ JNI_LIBRARY_LIST += -lstdc++
JNI_LIBRARY_LIST += -laudit
JNI_LIBRARY_LIST += -ldw
# Bundle in the local libunwind code.
-JNI_OBJECT_LIST += ../frysk-imports/libunwind-*/src/dwarf/.libs/*.o
-JNI_OBJECT_LIST += ../frysk-imports/libunwind-*/src/mi/.libs/G*.o
-JNI_OBJECT_LIST += ../frysk-imports/libunwind-*/src/mi/.libs/{init,mempool,flush_cache}.o
+JNI_OBJECT_LIST += ../frysk-imports/libunwind-x86_64/src/dwarf/.libs/*.o
+JNI_OBJECT_LIST += ../frysk-imports/libunwind-x86_64/src/mi/.libs/G*.o
+JNI_OBJECT_LIST += ../frysk-imports/libunwind-*/src/mi/.libs/init.o
+JNI_OBJECT_LIST += ../frysk-imports/libunwind-*/src/mi/.libs/mempool.o
+JNI_OBJECT_LIST += ../frysk-imports/libunwind-*/src/mi/.libs/flush_cache.o
+JNI_OBJECT_LIST += ../frysk-imports/libunwind-x86_64/src/mi/.libs/dyn-info-list.o
JNI_OBJECT_LIST += ../frysk-imports/libunwind-*/src/x86/.libs/*.o
JNI_OBJECT_LIST += ../frysk-imports/libunwind-*/src/x86_64/.libs/*.o

View file

@ -0,0 +1,98 @@
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

31
frysk-0.4-javac.patch Normal file
View file

@ -0,0 +1,31 @@
diff --git a/frysk-common/frysk-common.ac b/frysk-common/frysk-common.ac
index 8d7f83780..c9a2be863 100644
--- a/frysk-common/frysk-common.ac
+++ b/frysk-common/frysk-common.ac
@@ -151,10 +151,10 @@ AC_DEFUN([AC_LANG_COMPILER(Java)], [])
AU_DEFUN([AC_LANG_JAVAC], [AC_LANG(Java)])
AC_LANG(Java)
-JAVAC='javac -source 1.4'
-AS_IF([test x"$enable_werror" = xyes],
- [WERROR_JAVACFLAGS='-Werror -Xlint:all -Xlint:-options -Xlint:-cast'],
- [WERROR_JAVACFLAGS=])
+JAVAC='javac'
+# AS_IF([test x"$enable_werror" = xyes],
+# [WERROR_JAVACFLAGS='-Werror -Xlint:all -Xlint:-options -Xlint:-cast'],
+# [WERROR_JAVACFLAGS=])
AC_SUBST([JAVAC])
AC_SUBST([JAVACFLAGS])
AC_SUBST([WERROR_JAVACFLAGS])
diff --git a/frysk-common/javadocs.sh b/frysk-common/javadocs.sh
index fa9b33fd4..01f4f3e1d 100644
--- a/frysk-common/javadocs.sh
+++ b/frysk-common/javadocs.sh
@@ -93,7 +93,6 @@ for scope in public private ; do
-link ${jg}/libgconf-java-2.12.5/api/ \
-link ${jg}/libvte-java-0.12.2/api/ \
-overview ${overview} \
- -source 1.4 \
-d javadoc/$scope \
-use \
-linksource \

View file

@ -0,0 +1,259 @@
diff --git a/frysk-core/configure.ac b/frysk-core/configure.ac
index 49bab9acb..69fc220b3 100644
--- a/frysk-core/configure.ac
+++ b/frysk-core/configure.ac
@@ -47,7 +47,7 @@ m4_include([common/frysk-common.ac])
AM_INIT_AUTOMAKE([subdir-objects foreign no-installinfo no-exeext no-dist])
AC_FIND_FILE([antlr.jar], [/usr/share/java], ANTLR_JAR)
AC_FIND_FILE([junit.jar], [/usr/share/java], JUNIT_JAR)
-AC_FIND_FILE([jline-1.0.jar], [/usr/lib/java/jline1], JLINE_JAR)
+AC_FIND_FILE([jline.jar], [/usr/share/java/jline2], JLINE_JAR)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
diff --git a/frysk-core/frysk/bindir/fhpd.java b/frysk-core/frysk/bindir/fhpd.java
index 3738a2c0c..5b4d69bb7 100644
--- a/frysk-core/frysk/bindir/fhpd.java
+++ b/frysk-core/frysk/bindir/fhpd.java
@@ -51,8 +51,8 @@ import java.util.Observable;
import java.util.Observer;
import frysk.hpd.CLI;
-import jline.Completor;
-import jline.ConsoleReader;
+import jline.console.completer.Completer;
+import jline.console.ConsoleReader;
import frysk.util.FlowControlWriter;
import frysk.proc.Manager;
import frysk.util.CommandlineParser;
@@ -67,9 +67,9 @@ public class fhpd {
private static int exitStatus;
private static String[] params;
- final static class FhpdCompletor implements Completor {
+ final static class FhpdCompleter implements Completer {
CLI cli;
- public FhpdCompletor (CLI cli) {
+ public FhpdCompleter (CLI cli) {
this.cli = cli;
}
public int complete (String buffer, int cursor, List candidates) {
@@ -108,19 +108,16 @@ public class fhpd {
terminal.getObservable()
.addObserver(new TerminalObserver(writer));
cli = new CLI("(fhpd) ", writer);
- reader = new ConsoleReader
- (new FileInputStream(java.io.FileDescriptor.in),
- printWriter,
- null,
- terminal);
+ reader = new ConsoleReader(new FileInputStream(java.io.FileDescriptor.in),
+ System.out, terminal);
} catch (IOException ioe) {
System.out.println("ERROR: Could not create a command line");
System.out.print(ioe.getMessage());
System.exit(1);
return;
}
- Completor fhpdCompletor = new FhpdCompletor(cli);
- reader.addCompletor(fhpdCompletor);
+ Completer fhpdCompleter = new FhpdCompleter(cli);
+ reader.addCompleter(fhpdCompleter);
}
public void execute() {
start();
diff --git a/frysk-core/frysk/hpd/CompletionFactory.java b/frysk-core/frysk/hpd/CompletionFactory.java
index 3796a5d60..8e75051c7 100644
--- a/frysk-core/frysk/hpd/CompletionFactory.java
+++ b/frysk-core/frysk/hpd/CompletionFactory.java
@@ -42,7 +42,7 @@ import java.util.List;
import java.util.Iterator;
import frysk.debuginfo.DebugInfoFrame;
import frysk.proc.Task;
-import jline.FileNameCompletor;
+import jline.console.completer.FileNameCompleter;
import frysk.expr.ExprSearchEngine;
import frysk.expr.ExpressionFactory;
@@ -99,14 +99,14 @@ class CompletionFactory {
// System.out.println("input.size()=" + input.size());
if (input.size() == 0) {
int newOffset
- = new FileNameCompletor().complete("", 0, candidates);
+ = new FileNameCompleter().complete("", 0, candidates);
if (newOffset < 0)
return -1;
else
return newOffset + cursor;
} else {
Input.Token incomplete = input.incompleteToken(cursor);
- int newOffset = new FileNameCompletor()
+ int newOffset = new FileNameCompleter()
.complete(incomplete.value, incomplete.end - incomplete.start,
candidates);
return incomplete.absolute(newOffset);
diff --git a/frysk-core/frysk/util/ObservingTerminal.java b/frysk-core/frysk/util/ObservingTerminal.java
index 9cd7025ba..ca14f1a28 100644
--- a/frysk-core/frysk/util/ObservingTerminal.java
+++ b/frysk-core/frysk/util/ObservingTerminal.java
@@ -39,13 +39,14 @@
package frysk.util;
import java.io.*;
-import jline.ConsoleReader;
+import jline.console.ConsoleReader;
import frysk.sys.FileDescriptor;
public class ObservingTerminal
- extends PtyTerminal {
+ extends PtyTerminal
+{
public class Observable extends java.util.Observable {
private final ObservingTerminal terminal;
Observable(ObservingTerminal terminal) {
@@ -82,35 +83,9 @@ public class ObservingTerminal
super(string);
observable = new Observable(this);
}
-
- public void beforeReadLine(ConsoleReader reader, String prompt,
- Character mask) {
- inputEntered = false;
- observable.setChanged();
- observable.notifyObservers();
- super.beforeReadLine(reader, prompt, mask);
- }
-
- public int readVirtualKey(InputStream in)
- throws IOException {
- int result = super.readVirtualKey(in);
- inputEntered = true;
- observable.setChanged();
- observable.notifyObservers();
- return result;
- }
-
-
- public void afterReadLine(ConsoleReader reader, String prompt,
- Character mask) {
- inputEntered = false;
- observable.setChanged();
- observable.notifyObservers();
- super.afterReadLine(reader, prompt, mask);
- }
public Observable getObservable() {
return observable;
}
-
+
}
diff --git a/frysk-core/frysk/util/PtyTerminal.java b/frysk-core/frysk/util/PtyTerminal.java
index 517dd50e9..77c10501f 100644
--- a/frysk-core/frysk/util/PtyTerminal.java
+++ b/frysk-core/frysk/util/PtyTerminal.java
@@ -43,6 +43,7 @@ import java.io.InputStream;
import java.io.IOException;
import jline.Terminal;
+import jline.TerminalSupport;
import jline.UnixTerminal;
import frysk.sys.FileDescriptor;
@@ -56,7 +57,8 @@ import frysk.sys.termios.Termios;
* frysk.sys.termios calls. This copies UnixTerminal pretty closely.
*/
public class PtyTerminal
- extends Terminal
+ extends TerminalSupport
+ implements Terminal
{
private final FileDescriptor fd;
@@ -67,6 +69,7 @@ public class PtyTerminal
public PtyTerminal(FileDescriptor fd)
{
+ super(true);
this.fd = fd;
try
@@ -148,64 +151,21 @@ public class PtyTerminal
termios.set(fd);
}
- public int readVirtualKey (InputStream in)
- throws IOException
- {
- int c = readCharacter (in);
-
- // in Unix terminals, arrow keys are represented by
- // a sequence of 3 characters. E.g., the up arrow
- // key yields 27, 91, 68
- if (c == UnixTerminal.ARROW_START)
- {
- c = readCharacter (in);
- if (c == UnixTerminal.ARROW_PREFIX)
- {
- c = readCharacter (in);
- if (c == UnixTerminal.ARROW_UP)
- return CTRL_P;
- else if (c == UnixTerminal.ARROW_DOWN)
- return CTRL_N;
- else if (c == UnixTerminal.ARROW_LEFT)
- return CTRL_B;
- else if (c == UnixTerminal.ARROW_RIGHT)
- return CTRL_F;
- }
- }
- return c;
- }
-
- public boolean isSupported ()
- {
- return true;
- }
-
- public boolean getEcho ()
- {
- return false;
- }
-
public boolean isEchoEnabled() {
final Termios termios = new Termios(fd);
return termios.get(Local.ECHO_INPUT);
}
- public void disableEcho() {
- final Termios termios = new Termios(fd);
- termios.set(Local.ECHO_INPUT, false);
- termios.set(fd);
- }
-
- public void enableEcho() {
+ public void setEchoEnabled(boolean enabled) {
final Termios termios = new Termios(fd);
- termios.set(Local.ECHO_INPUT, true);
+ termios.set(Local.ECHO_INPUT, enabled);
termios.set(fd);
}
/**
* Returns the value of "stty size" width param.
*/
- public int getTerminalWidth()
+ public int getWidth()
{
Size size = fd.getSize();
return size.getRows();
@@ -214,7 +174,7 @@ public class PtyTerminal
/**
* Returns the value of "stty size" height param.
*/
- public int getTerminalHeight()
+ public int geteight()
{
Size size = fd.getSize();
return size.getColumns();

View file

@ -0,0 +1,56 @@
commit a729808906f5700da55008f2e3b1282e2156bc96
Author: Andrew Cagney <cagney@gnu.org>
Date: Wed Apr 13 14:27:12 2016 -0400
Use IsSameObject when implementing == in JNIXX
Patch: frysk-0.4-jni-issameobject.patch
diff --git a/frysk-sys/jnixx/JniBindings.java b/frysk-sys/jnixx/JniBindings.java
index 3b517d6..49a594e 100644
--- a/frysk-sys/jnixx/JniBindings.java
+++ b/frysk-sys/jnixx/JniBindings.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2008, Red Hat Inc.
+// Copyright 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
@@ -222,7 +223,7 @@ class JniBindings {
},
null,
new Object[] {
- "return this->_object == _object;",
+ "return this->_object == _object || _env_().IsSameObject(this->_object, _object);",
})
.put(Object.class, Binding.DYNAMIC,
"bool", "operator==",
@@ -231,7 +232,7 @@ class JniBindings {
},
null,
new Object[] {
- "return this->_object == other._object;",
+ "return this->_object == other._object || _env_().IsSameObject(this->_object, other._object);",
})
.put(Object.class, Binding.DYNAMIC,
"bool", "operator!=",
@@ -240,7 +241,16 @@ class JniBindings {
},
null,
new Object[] {
- "return this->_object != _object;",
+ "return !this->operator==(_object);",
+ })
+ .put(Object.class, Binding.DYNAMIC,
+ "bool", "operator!=",
+ new String[] {
+ "const Object&", "other",
+ },
+ null,
+ new Object[] {
+ "return !this->operator==(other);",
})
// DeleteLocalRef
.put(Object.class, Binding.DYNAMIC,

950
frysk-0.4-jni.patch Normal file
View file

@ -0,0 +1,950 @@
diff -up frysk-0.4/frysk-common/frysk-common.ac.jni frysk-0.4/frysk-common/frysk-common.ac
--- frysk-0.4/frysk-common/frysk-common.ac.jni 2016-04-13 10:57:04.450272141 -0400
+++ frysk-0.4/frysk-common/frysk-common.ac 2016-04-13 10:57:04.468272119 -0400
@@ -43,9 +43,6 @@
AC_CANONICAL_HOST
-
-AC_ARG_VAR([GCJFLAGS], [GCJ compiler flags])
-
dnl This test is used by `elfutils' and as we share its interface we need
dnl to have consistent ABI of any structures possibly containing `off_t'.
dnl This test must come as early as possible after the compiler configuration
@@ -76,34 +73,7 @@ if test "x$ac_env_CFLAGS_set" != xset; t
fi
AM_PROG_AS
-
-# XXX: AM_PROG_GCJ doesn't take arguments, hack around it by first
-# explictly searching for the GCJ program pushing it into the
-# environment where AM_PROG_GCJ will find it.
-
-AC_CHECK_PROGS([GCJ], [gcj4 gcj], [gcj])
AM_PROG_GCJ
-if test "x$ac_env_GCJFLAGS_set" != xset; then
- test x"$GCJFLAGS" = "x-g -O2" && GCJFLAGS="-g -O"
-fi
-
-# Find all the GCJ utilities. Prefer gcc4.
-
-AC_CHECK_PROGS([GCJH], [gcjh4 gcjh gjavah])
-# gjavah defaults to jni, while gcjh defaults to cni.
-# gcjh doesn't support -cni, only -jni.
-GCJHFLAGS=""
-test x"${GCJH}" = xgjavah && GCJHFLAGS="-cni"
-AC_SUBST([GCJHFLAGS])
-AC_CHECK_PROGS([JAR], [fastjar4 fastjar jar], [fastjar])
-AC_CHECK_PROGS([GCJ_DBTOOL], [gcj-dbtool4 gcj-dbtool], [gcj-dbtool])
-AC_CHECK_PROGS([GIJ], [gij4 gij], [gij])
-
-# GCJ for Java 1.5 does not include jv-scan. If it wasn't found, mark
-# it as such.
-AC_CHECK_PROGS([JV_SCAN], [jv-scan4 jv-scan], [no])
-AM_CONDITIONAL([HAVE_JV_SCAN], test x"${JV_SCAN}" != xno)
-
# Check for the ECJ compiler.
@@ -125,63 +95,15 @@ AC_DEFUN([AC_LANG_COMPILER(Java)], [])
AU_DEFUN([AC_LANG_JAVAC], [AC_LANG(Java)])
AC_LANG(Java)
-
-# Two possible compilers: either GCJ (wrapper round ECJ); or ECJ. In
-# the latter case, need to explicitly run compiler from within the GIJ
-# runtime so that ECJ sees the classpath environment, in particular
-# things like gnu.gcj.RawDataManaged. Start out assuming GCJ (with
-# the -fsource=1.4 flag), if that fails, fall back to ECJ.
-
-# See gcj accepts -fsource=1.4, if not only use the warning flags. If
-# it is available also use it for the GCJFLAGS.
-
-AC_MSG_CHECKING([for working java compiler])
-JAVAC=${JAVAC:-${GCJ} -C -fsource=1.4}
-JAVACFLAGS=${JAVACFLAGS:-${GCJFLAGS} -g -classpath \$(SOURCEPATH):\$(CLASSPATH)}
-AC_COMPILE_IFELSE([public class conftest{}],
- [JAVAC_IS=gcj
- if test "x$ac_env_GCJFLAGS_set" != xset; then
- GCJFLAGS="$GCJFLAGS -fsource=1.4"
- fi],
- [JAVAC_IS=ecj
- JAVAC='$(GIJ) --classpath $(ECJ_JAR):$(CLASSPATH) org.eclipse.jdt.internal.compiler.batch.Main -1.4'
- JAVACFLAGS='-warn:+semicolon -sourcepath $(SOURCEPATH) -classpath $(CLASSPATH)'])
+JAVAC='$(JAVA) -cp $(ECJ_JAR):$(CLASSPATH) org.eclipse.jdt.internal.compiler.batch.Main -1.4'
+JAVACFLAGS='-warn:+semicolon -sourcepath $(SOURCEPATH) -classpath $(CLASSPATH)'
AC_SUBST([JAVAC])
AC_SUBST([JAVACFLAGS])
-AC_SUBST([JAVAC_IS])
-AC_MSG_RESULT([${JAVAC_IS} ($JAVAC)])
-
-# Some versions of gcj don't support -Wall. Some versions generate
-# good warnings without it. So explictily test for it.
-
-AC_MSG_CHECKING([whether GCJ needs -Wall])
-if test "x$ac_env_GCJFLAGS_set" == xset ; then
- GCJ_WALL="not needed"
-elif test x"${JAVAC_IS}" = xgcj ; then
- # A newer GCJ (using it for JAVAC) which has a good
- # default set of warnings so do not need -Wall. However,
- # older GCJs barf on stray semicolons so always check for them
- # to help with compatibility.
- GCJ_WALL=-Wextraneous-semicolon
- JAVACFLAGS="$JAVACFLAGS ${GCJ_WALL}"
- GCJFLAGS="$GCJFLAGS ${GCJ_WALL}"
-else
- # Older GCJ (not using it for JAVAC) need the full gamit.
- GCJ_WALL="-Wextraneous-semicolon -Wall"
- GCJFLAGS="$GCJFLAGS ${GCJ_WALL}"
-fi
-AC_MSG_RESULT([${GCJ_WALL}])
-
-# Always use GIJ as the byte code interpreter. java programs, run
-# during the build, need to see the GNU Java environment. That
-# environment contains classes such as gnu.gcj.RawData which can be
-# found using reflection.
-
-JAVA="${JAVA:-$GIJ}"
+JAVA="${JAVA:-java}"
AC_SUBST([JAVA])
-
+AC_CHECK_PROGS([JAR], [fastjar4 fastjar jar], [fastjar])
# Check for the availablity of fig2dev
AC_PATH_PROG(FIG2DEV, fig2dev)
@@ -247,15 +169,3 @@ AC_SUBST([lib64dir])
FRYSK_DO_ARCH32_TEST
FRYSK_WERROR
FRYSK_COVERAGE
-
-AC_MSG_CHECKING([direct .jar to .o compilation (--enable-jar-compile)])
-AC_ARG_ENABLE([jar-compile],
- [ --enable-jar-compile Enable direct compilation of jars],
- [case "${enableval}" in
- yes) jar_compile=yes ;;
- no) jar_compile=no;;
- *) AC_MSG_ERROR([bad value ${enableval} for --enable-jar-compile]) ;;
- esac],
- [jar_compile=yes])
-AC_MSG_RESULT([$jar_compile])
-AM_CONDITIONAL([JAR_COMPILE], [test x$jar_compile = xyes])
diff -up frysk-0.4/frysk-common/Makefile.gen.sh.jni frysk-0.4/frysk-common/Makefile.gen.sh
--- frysk-0.4/frysk-common/Makefile.gen.sh.jni 2016-04-13 10:57:04.452272139 -0400
+++ frysk-0.4/frysk-common/Makefile.gen.sh 2016-04-13 10:57:04.468272119 -0400
@@ -40,10 +40,7 @@
if test $# -eq 0 ; then
cat <<EOF 1>&2
-Usage: $0 [ --cni | --jni ] <source-dir>... <.jar-file>... <_JAR-macro>...
-
---cni: Include CNI directories in build.
---jni: Include JNI directories in build and build with JNI abi.
+Usage: $0 <source-dir>... <.jar-file>... <_JAR-macro>...
<source-dir>:
@@ -66,8 +63,6 @@ EOF
exit 1
fi
-cni=false
-jni=false
dirs=
jars=
JARS=
@@ -75,8 +70,6 @@ GEN_ARGS="$@"
while test $# -gt 0
do
case "$1" in
- --cni ) cni=true ;;
- --jni ) jni=true ;;
*.jar ) jars="${jars} $1" ;;
*_JAR ) JARS="${JARS} $1" ;;
* ) dirs="${dirs} $1" ;;
@@ -121,13 +114,10 @@ JARS=`echo ${JARS}`
-o -path '[A-Za-z]*\.cxx-in' -print \
-o -path '[A-Za-z]*\.c-in' -print \
-o -path '[A-Za-z]*\.cxx' -print \
- -o -path '*/cni/[A-Za-z]*\.[sS]' -print \
-o -path '*/jni/[A-Za-z]*\.[sS]' -print \
-o -type f -name 'test*' -print
) \
-| if $cni ; then cat ; else grep -v '/cni/' ; fi \
-| if $jni ; then cat ; else grep -v '/jni/' ; fi \
-| sort -f > files.tmp
+| grep -v -e '\/cni\/' | sort -f > files.tmp
if cmp files.tmp files.list > /dev/null 2>&1
then
@@ -404,19 +394,11 @@ print_jar_rule ()
# print_jar_rule $1 $2
$1.jar: \$($2_JAR)
cp \$($2_JAR) $1.jar
-BUILT_SOURCES += $1.jar
+#BUILT_SOURCES += $1.jar
+# For moment bundle these into frysk's private java directory
+java_DATA += $1.jar
GEN_JARS += $1.jar
-noinst_LIBRARIES += libfrysk-$1.a
-libfrysk_$1_a_LIBADD = $1.o
-$1.o: $1.jar
-libfrysk_$1_a_SOURCES =
-libfrysk_$1_so_SOURCES =
-frysk_$1_db_SOURCES =
-CLEANFILES += $1.jar $1.o libfrysk-$1.a libfrysk-$1.so
-libfrysk-$1.so: libfrysk-$1.a
-noinst_PROGRAMS += frysk-$1.db
-solib_PROGRAMS += libfrysk-$1.so
-frysk-$1.db: libfrysk-$1.so $1.jar
+CLEANFILES += $1.jar
EOF
}
@@ -458,32 +440,8 @@ done
test x"${dirs}" = x && exit 0
-
-print_header "... the lib${GEN_DIRNAME}.a skeleton"
-
-sources=lib${GEN_MAKENAME}_a_SOURCES
-
-# Most of the directory's sources will be built into a single archive
-# (.a). Start with a skeleton for that archive and then accumulate
-# the relevant files.
-automake_variable ${sources} =
-
cat <<EOF
-noinst_LIBRARIES += lib${GEN_DIRNAME}.a
-if JAR_COMPILE
-${sources} += ${GEN_DIRNAME}.jar
-endif
-GEN_GCJ_LDADD_LIST += lib${GEN_DIRNAME}.a
-
-# Compile the .a into a .so; Makefile.rules contains the rule and does
-# not use libtool.
-
-solib_PROGRAMS += lib${GEN_DIRNAME}.so
-lib${GEN_MAKENAME}_so_SOURCES =
-lib${GEN_DIRNAME}.so: lib${GEN_DIRNAME}.a
-
-
# Using that list, convert to .class files and from there to a .jar.
# Since java compilers don't abort on a warning, fake the behavior by
# checking for any output.
@@ -491,14 +449,6 @@ lib${GEN_DIRNAME}.so: lib${GEN_DIRNAME}.
java_DATA += ${GEN_DIRNAME}.jar
CLEANFILES += ${GEN_DIRNAME}.jar
-# Finally, merge the .so and .jar files into the java .db file.
-
-noinst_PROGRAMS += ${GEN_DIRNAME}.db
-${GEN_MAKENAME}_db_SOURCES =
-${GEN_DIRNAME}.db: lib${GEN_DIRNAME}.so ${GEN_DIRNAME}.jar
- \$(GCJ_DBTOOL) -n \$@.tmp
- \$(GCJ_DBTOOL) -a \$@.tmp ${GEN_DIRNAME}.jar lib${GEN_DIRNAME}.so
- mv \$@.tmp \$@
EOF
@@ -506,18 +456,13 @@ EOF
# Test runner program.
cat <<EOF
-TestRunner_SOURCES = TestRunner.java
CLEANFILES += TestRunner.java
-if !JAR_COMPILE
-${sources} += ${GEN_SOURCENAME}/JUnitTests.java
-endif
BUILT_SOURCES += ${GEN_SOURCENAME}/JUnitTests.java
SCRIPT_BUILT += ${GEN_SOURCENAME}/JUnitTests.java
TESTS += TestRunner
-noinst_PROGRAMS += TestRunner Runner JniRunner
+noinst_PROGRAMS += Runner TestRunner
noinst_DATA += TestRunner.jar
EOF
-echo_LDFLAGS TestRunner
# Generate SOURCES list for all files.
@@ -537,19 +482,37 @@ for suffix in .java .java-sh .mkenum .sh
test "${b}" = JUnitTests && continue # hack
test -r "${d}/${b}.g" && continue
test -r "${d}/${b}.sed" && continue
- echo "if !JAR_COMPILE"
- echo "${sources} += ${file}"
- echo "endif"
;;
esac
echo "${GEN_DIRNAME}.jar: ${name}.java"
if has_main ${file} ; then
name_=`echo_name_ ${name}`
- echo_PROGRAMS ${name}
check_MANS ${name}
- echo "${name_}_SOURCES ="
- echo "${name_}_LINK = \$(GCJLINK) \$(${name_}_LDFLAGS)"
- echo_LDFLAGS ${name}
+ dir=`echo /"${name}" | sed -e 's,.*/\([a-z]*\)dir/.*,\1,'`
+ case "${name}" in
+ *.java-in )
+ # .java-in programs are never installed.
+ echo "noinst_SCRIPTS += ${name}"
+ ;;
+ *pkglibdir/* )
+ echo "noinst_SCRIPTS += ${name}"
+ ;;
+ *dir/* )
+ # extract the directory prefix
+ echo "${dir}_SCRIPTS += ${name}"
+ ;;
+ * )
+ echo "noinst_SCRIPTS += ${name}"
+ ;;
+ esac
+ cat <<EOF
+${name}: Makefile
+ mkdir -p ${d}
+ echo "#!/bin/sh" >> ${name}.tmp
+ echo exec /usr/bin/java -cp \"\$(javadir)/*\" ${name} \"\\\$\$@\" >> ${name}.tmp
+ chmod a+x ${name}.tmp
+ mv ${name}.tmp ${name}
+EOF
fi
done || exit 1
done
@@ -566,9 +529,6 @@ for suffix in .java-in .java-sh .mkenum
d=`dirname ${file}`
b=`basename ${file} ${suffix}`
name="${d}/${b}${s}"
- echo "if !JAR_COMPILE"
- echo "${sources} += ${file}"
- echo "endif"
echo "BUILT_SOURCES += ${name}"
echo "SCRIPT_BUILT += ${name}"
case "${suffix}" in
@@ -598,7 +558,7 @@ generate_compile ()
fi
# Generate the rules for 32-bit compile
echo_arch32_PROGRAMS ${name} ${name}.${suffix}
- else
+ elif test x"${sources}" != x- ; then
automake_variable ${sources} += ${file}
fi
case "${file}" in
@@ -618,60 +578,6 @@ generate_compile ()
esac
}
-# What type of build?
-if $cni ; then
- : default
-elif $jni ; then
- echo "AM_GCJFLAGS += -fjni"
-else
- : default
-fi
-
-# Grep the *.cxx and *.hxx files forming a list of included files.
-# Assume these are all generated from .class files found in the master
-# .jar.
-
-generate_cni_header () {
- local file=$1
- local d=$2
- local b=$3
- local suffix=$4
- local _file=`echo $file | tr '[/.]' '[__]'`
- sed -n \
- -e 's,#include "\(.*\)\.h".*,include - \1,p' \
- -e 's,#include \([A-Z][A-Z0-9_]*\).*,minclude \1 -,p' \
- -e 's,#define \([A-Z0-9_]*\) "\(.*\)\.h".*,define \1 \2,p' \
- < $file > $$.tmp
- while read action m h j; do
- echo "# file=$file action=$action m=$m h=$h"
- if test "$action" = "minclude" ; then
- # Assume file defining macro depends on this file
- automake_variable $m = \$\($_file\)
- elif has_java_source ${h} ; then
- echo "JAVAH_CNI_BUILT += ${h}.h"
- echo "CLEANFILES += ${h}.h"
- echo "CLEANFILES += ${h}\\\$\$*.h"
- j=`echo ${h} | tr '[_]' '[/]'`
- echo "${h}.h: $j.java | ${GEN_DIRNAME}.jar"
- case $action in
- include)
- case "$suffix" in
- cxx) echo "$d/$b.o: ${h}.h" ;;
- hxx) # remember what this file includes
- automake_variable $_file += ${h}.h ;;
- esac
- ;;
- define)
- echo "$d/$b.o: ${h}.h"
- # Assume file using this macro is a dependency.
- echo "$d/$b.o: \$($m)"
- ;;
- esac
- fi
- done < $$.tmp
- rm -f $$.tmp
-}
-
# Grep the *.cxx and *.hxx files forming a list of classes that are
# native.
@@ -785,9 +691,6 @@ BEGIN { FS = "=" }
echo "$d/$c: $d/$b.antlred"
echo "BUILT_SOURCES += $d/$c"
echo "ANTLR_BUILT += $d/$c"
- echo "if !JAR_COMPILE"
- echo "${sources} += $d/$c"
- echo "endif"
done
done
@@ -884,10 +787,6 @@ while read file dir base suffix ; do
echo ""
case $file in
- */cni/*.cxx | */cni/*.cxx-in | */cni/*.cxx-sh | */cni/*.hxx)
- generate_cni_header $file $dir $base $suffix
- generate_compile $file $dir $base $suffix ${sources}
- ;;
*/jni/*.cxx | */jni/*.cxx-in | */jni/*.cxx-sh | jnixx/*.cxx )
generate_jnixx_class $file $dir $base $suffix
generate_compile $file $dir $base $suffix \
@@ -897,8 +796,8 @@ while read file dir base suffix ; do
;;
*.cxx | *.c | *.S | *.cxx-in | *.c-in | *.S-in \
| *.cxx-sh | *.c-sh | *.S-sh )
- # Non-cni/jni source.
- generate_compile $file $dir $base $suffix ${sources}
+ # Non-jni source (presumably with main).
+ generate_compile $file $dir $base $suffix -
;;
esac
diff -up frysk-0.4/frysk-common/Makefile.rules.jni frysk-0.4/frysk-common/Makefile.rules
--- frysk-0.4/frysk-common/Makefile.rules.jni 2016-04-13 10:57:04.461272128 -0400
+++ frysk-0.4/frysk-common/Makefile.rules 2016-04-13 10:57:04.468272119 -0400
@@ -77,7 +77,6 @@ man_MANS =
LDADD =
ANTLR_BUILT =
SCRIPT_BUILT =
-JAVAH_CNI_BUILT =
root_srcdir = $(dir $(top_srcdir))
abs_root_srcdir = $(dir $(abs_top_srcdir))
@@ -140,21 +139,6 @@ ACLOCAL_AMFLAGS = -I common/m4
SOURCEPATH = $(subst $(space),:,$(strip $(GEN_SOURCEPATH)))
CLASSPATH = $(subst $(space),:,$(strip $(GEN_CLASSPATH)))
-DBPATH = $(subst $(space),:,$(strip \
- $(patsubst %.jar,%.db,$(filter %.jar,$(GEN_CLASSPATH))) \
- $(foreach dir,$(patsubst %/$(JAVAROOT),%,$(filter-out %.jar,$(GEN_CLASSPATH))),$(dir)/$(notdir $(dir)).db) \
- ))
-
-# XXX: GCJ: I think there should be a -Wextraneous-throws; I think
-# -Wno-deprecated is backward; I think -Wredundant-modifiers is broken
-# with gcc4. It appears to complain about abstract methods in a
-# non-abstract class when the class actually is abstract.
-
-AM_GCJFLAGS = \
- $(patsubst %,-I%,$(GEN_SOURCEPATH) $(GEN_CLASSPATH)) \
- -fPIC \
- $(ZZZ)
-
AM_CXXFLAGS = \
-I$(srcdir) \
@@ -163,6 +147,7 @@ AM_CXXFLAGS = \
-I/usr/include/elfutils \
-I$(srcdir)/../frysk-imports/libunwind/include \
-I$(top_builddir)/../frysk-imports/libunwind/include \
+ -I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux \
-fPIC \
$(ZZZ)
@@ -192,7 +177,6 @@ jni: ${GEN_DIRNAME}.jar
.PHONY: built-sources
built-sources: $(BUILT_SOURCES)
$(ANTLR_BUILT): | $(SCRIPT_BUILT)
-$(JAVAH_CNI_BUILT): | $(SCRIPT_BUILT) $(ANTLR_BUILT)
# Rules for building a .java file from any of a .mkclass file, a
@@ -345,8 +329,6 @@ TestRunner.jar: TestRunner.java
# Make gets confused about which root to build TestRunner.o from -
# .jar or .java, spell it out.
-TestRunner.o: TestRunner.java
- $(GCJCOMPILE) -c $<
TestRunner.java: common/TestRunner.java-in
$(SUBST)
@@ -404,37 +386,13 @@ Runner:
chmod a+x $@.tmp
mv $@.tmp $@
-JniRunner:
+TestRunner:
rm -f $@
echo "#!/bin/sh" >> $@.tmp
echo "exec ./Runner TestRunner \"\$$@\"" >> $@.tmp
chmod a+x $@.tmp
mv $@.tmp $@
-# Generate one or more .h files, one per named class, and using CNI,
-# from the corresponding .java file. Anonymous classes are pruned.
-
-# This assumes that the directories .jar file has already been built.
-
-.java.h:
- b=`basename $*` ; \
- d=`dirname $*` ; \
- classes=`$(JAR) tf $(GEN_DIRNAME).jar | grep \
- -e $$d/$$b'\.class' \
- -e $$d/$$b'$$[^0-9]*\.class' \
- | sed -e 's,.class$$,,'`; \
- echo $$classes ; \
- for class in $$classes ; do \
- outputdir=`dirname $$class`; \
- outputfile=`basename $$class`.h; \
- echo "$$class => $$outputdir/$$outputfile"; \
- rm -f $$outputdir/$$outputfile ; \
- $(GCJH) -I $(GEN_DIRNAME).jar \
- -o $$outputdir/$$outputfile \
- $(GCJHFLAGS) $$class ; \
- done
-
-
# Shared library rule (for moment assume that .a contains PIC code).
SUFFIXES += .so
.a.so:
@@ -463,6 +421,7 @@ JNI_OBJECT_LIST =
lib$(GEN_DIRNAME)-jni.so: $(JNI_ARCHIVE_LIST) $(JNI_OBJECT_LIST)
lib$(GEN_DIRNAME)-jni.so: lib$(GEN_DIRNAME)-jni.a
soname=`basename $@` ; \
+ echo soname=$$soname ; \
$(CC) -shared -o $@.tmp \
-Wl,--whole-archive \
-Wl,$< \
@@ -485,9 +444,11 @@ solibdir = $(libdir)
solib_PROGRAMS =
# The shared java directory (typically /usr/share/java/; contains
-# things like .jar files.
+# things like .jar files) but here is architecture specific as frsyk,
+# it turns out, has some 32vs64 java code - see bug 211824 in
+# fedoraproject.org
-javadir = $(datadir)/java
+javadir = $(pkglibdir)/java
java_DATA =
# Assembler rule.
@@ -505,57 +466,7 @@ $(srcdir)/Makefile.gen: $(srcdir)/common
autogen: clean
$(SHELL) $(srcdir)/autogen.sh
-# Given a .jar, just convert it into a .o, and a .db
-
SUFFIXES += .jar
-.jar.o:
- $(GCJCOMPILE) -c $<
-
-# Since automake only adds GCJCOMPILE to Makefile.in when its seen
-# .java source, provide our own definition.
-GCJCOMPILE ?= $(GCJ) $(AM_GCJFLAGS) $(GCJFLAGS)
-
-SUFFIXES += .db
-.jar.db:
- $(GCJ_DBTOOL) -n $@.tmp
- $(GCJ_DBTOOL) -a $@.tmp $*.jar lib$*.so
- mv $@.tmp $@
-
-# Given a .java file convert it to a .o file.
-
-# XXX: GCJ has a bug where it totally scrambles nested classes with
-# identical names. Reject any code with duplicate class names.
-
-# XXX: GCJ has a bug where, when given a -Werror fail, it still exits
-# with success. Hack around this by, when -Werror was specified,
-# saving the message in a log file and then checking that it is empty.
-
-.java.o:
-if HAVE_JV_SCAN
- dups=`$(JV_SCAN) --list-class $< \
- | tr '[ ]' '[\n]' \
- | sed -n -e 's,^.*$$\([A-Z]\),\1,p' \
- | sort | uniq -d` ; \
- if test x"$$dups" != x ; then \
- echo "Duplicate class names tickle a GCJ bug: $$dups" ; \
- exit 1 ; \
- fi
-endif
- depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
- if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $< 2>&1 \
- | tee $*.log ; then : ; else \
- rm $*.log ; \
- exit 1 ; \
- fi ; \
- if test -s $*.log \
- && expr " $(GCJCOMPILE) " : '.* -Werror ' > /dev/null ; then \
- rm -f "$$depbase.Tpo"; \
- rm -f $*.log ; \
- rm -f $@ ; \
- exit 1 ; \
- fi ; \
- mv -f "$$depbase.Tpo" "$$depbase.Po"; \
- rm -f $*.log
# Rule for generating ANTLR output that compiles cleanly using the
# current compiler. The problem here is that raw ANTLR output
@@ -609,20 +520,13 @@ SUFFIXES += .antlred .g
echo "Parsing compiler warnings from $$b..." ; \
rm -f $$t/*.antlr-fixes ; \
rm -rf $$t/classes ; mkdir -p $$t/classes ; \
- case "$(JAVAC_IS)" in \
- gcj) $(JAVAC) $(JAVACFLAGS) \
- -d $$t/classes \
- -I $$t \
- $$t/$$d/$$b.java \
- 2>&1 || true ;; \
- ecj) $(JAVAC) \
+ ( $(JAVAC) \
-d $$t/classes \
-warn:+semicolon \
-sourcepath $$t:$(SOURCEPATH) \
-classpath $(CLASSPATH) \
$$t/$$d/$$b.java \
- 2>&1 || true ;; \
- esac | ( \
+ 2>&1 || true ) | ( \
cd $$t ; \
$(AWK) -f @abs_srcdir@/common/antlr-warnings.awk \
) ; \
@@ -742,17 +646,10 @@ ${GEN_DIRNAME}.jar: files-java.list $(GE
rm -rf $(JAVAROOT)
mkdir -p $(JAVAROOT)
$(JAVAC) -d $(JAVAROOT) $(JAVACFLAGS) \
- @$(top_builddir)/files-java.list \
- 2>&1 | tee $*.log
- if test -s $*.log \
- && expr " $(GCJCOMPILE) " : '.* -Werror ' > /dev/null ; \
- then rm $*.log ; false ; \
- fi
- rm -f $*.log
+ @$(top_builddir)/files-java.list
cd $(JAVAROOT) ; \
- find * -name '*.class' -print \
- | sort \
- | $(JAR) -@ -cf $@
+ find * -name '*.class' -print | sort > classes.list ; \
+ $(JAR) cf $@ @classes.list
mv $(JAVAROOT)/$@ $@
# Check that everything, well except for a few exceptions, is using
diff -up frysk-0.4/frysk-core/Makefile.am.jni frysk-0.4/frysk-core/Makefile.am
--- frysk-0.4/frysk-core/Makefile.am.jni 2016-04-13 10:57:04.464272124 -0400
+++ frysk-0.4/frysk-core/Makefile.am 2016-04-13 10:57:04.468272119 -0400
@@ -46,22 +46,6 @@ GEN_CLASSPATH += ../frysk-imports/jline.
GEN_CLASSPATH += ../frysk-imports/antlr.jar
GEN_CLASSPATH += ../frysk-imports/junit.jar
GEN_CLASSPATH += ../frysk-imports/getopt.jar
-GEN_GCJ_LDADD_LIST += ../frysk-sys/libfrysk-sys.a
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-jline.a
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-antlr.a
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-junit.a
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.a
-if USE_LIBUNWIND
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libunwind-i386/src/.libs/libunwind-x86.a \
- ../frysk-imports/libunwind-x86_64/src/.libs/libunwind-x86_64.a \
- ../frysk-imports/libunwind-ppc32/src/.libs/libunwind-ppc32.a \
- ../frysk-imports/libunwind-ppc64/src/.libs/libunwind-ppc64.a
-endif
-GEN_GCJ_LDADD_LIST += -lstdc++
-# Stub bfd_getb32 and bfd_getl32 for PPC64. Unconditionally
-# link -lbfd_get just for simplification.
-GEN_GCJ_LDADD_LIST += -laudit
-GEN_GCJ_LDADD_LIST += -lasm -ldw -lebl -lelf
# For TestExec.java
noinst_PROGRAMS += frysk/pkglibdir/funit-exec-alias
@@ -251,8 +235,10 @@ install-exec-local: install-sysroot-loca
uninstall-local: uninstall-sysroot-local
.PHONY: install-sysroot-local uninstall-sysroot-local
install-sysroot-local:
+ mkdir -p $(DESTDIR)$(pkglibdir)
cp -r $(TEST_SYSROOT) $(DESTDIR)$(pkglibdir)
if DO_ARCH32_TEST
+ mkdir -p $(DESTDIR)$(pkglib32dir)
cp -r $(TEST32_SYSROOT) $(DESTDIR)$(pkglib32dir)
endif
# we don't want this installed, but noinst_SCRIPTS has no effect
diff -up frysk-0.4/frysk-gtk/Makefile.am.jni frysk-0.4/frysk-gtk/Makefile.am
--- frysk-0.4/frysk-gtk/Makefile.am.jni 2016-04-13 10:57:04.461272128 -0400
+++ frysk-0.4/frysk-gtk/Makefile.am 2016-04-13 10:57:04.468272119 -0400
@@ -62,7 +62,6 @@ GEN_GCJ_LDADD_LIST += -laudit
GEN_GCJ_LDADD_LIST += -lasm -ldw -lebl -lelf
# Hack, need to compile this entire sub-tree with JNI.
-AM_GCJFLAGS += -fjni
AM_CFLAGS += $(GTK_CFLAGS) $(FRYSK_GTK_CFLAGS)
solib_PROGRAMS += EggTrayIcon/libEggTrayIcon.so
diff -up frysk-0.4/frysk-imports/configure.ac.jni frysk-0.4/frysk-imports/configure.ac
--- frysk-0.4/frysk-imports/configure.ac.jni 2016-04-13 10:57:04.464272124 -0400
+++ frysk-0.4/frysk-imports/configure.ac 2016-04-13 10:57:04.469272118 -0400
@@ -53,7 +53,6 @@ AC_CONFIG_FILES([
Makefile
jline/Makefile
getopt/Makefile
- tests/Makefile
junit/Makefile])
# Even though "libunwind" is not built, it is still included in the
diff -up frysk-0.4/frysk-imports/junit/Makefile.am.jni frysk-0.4/frysk-imports/junit/Makefile.am
--- frysk-0.4/frysk-imports/junit/Makefile.am.jni 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-imports/junit/Makefile.am 2016-04-13 10:57:04.469272118 -0400
@@ -43,7 +43,9 @@ noinst_DATA = junit.jar
# Make a jar file.
junit.jar: classdir
cd classdir ; \
- find * -name '*.class' -print | $(JAR) -@ -cf $@.tmp
+ rm -f classes.list ; \
+ find * -name '*.class' -print > classes.list ; \
+ $(JAR) cf $@.tmp @classes.list
mv classdir/$@.tmp $@
classdir:
diff -up frysk-0.4/frysk-imports/Makefile.am.jni frysk-0.4/frysk-imports/Makefile.am
--- frysk-0.4/frysk-imports/Makefile.am.jni 2016-04-13 10:57:04.462272126 -0400
+++ frysk-0.4/frysk-imports/Makefile.am 2016-04-13 10:57:04.469272118 -0400
@@ -59,7 +59,6 @@ CHECK_SUBDIRS = \
jline \
junit \
getopt \
- tests \
$(LIBUNWIND_DIR)
check-recursive: SUBDIRS = $(CHECK_SUBDIRS)
@@ -79,7 +78,7 @@ install-recursive \
installcheck-recursive \
installdirs-recursive \
uninstall-info-recursive \
-uninstall-recursive: SUBDIRS = tests
+uninstall-recursive: SUBDIRS =
GEN_CLASSPATH += getopt.jar
GEN_CLASSPATH += junit.jar
diff -up frysk-0.4/frysk-sys/bootstrap.sh.jni frysk-0.4/frysk-sys/bootstrap.sh
--- frysk-0.4/frysk-sys/bootstrap.sh.jni 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/bootstrap.sh 2016-04-13 10:57:04.469272118 -0400
@@ -45,7 +45,7 @@ FILE_LIST="frysk \
inua \
lib"
-./common/Makefile.gen.sh --jni --cni $FILE_LIST
+./common/Makefile.gen.sh $FILE_LIST
# Generate everything (always run with --add-missing).
diff -up frysk-0.4/frysk-sys/frysk/sys/proc/jni/Exe.cxx.jni frysk-0.4/frysk-sys/frysk/sys/proc/jni/Exe.cxx
--- frysk-0.4/frysk-sys/frysk/sys/proc/jni/Exe.cxx.jni 2016-04-13 10:57:04.411272189 -0400
+++ frysk-0.4/frysk-sys/frysk/sys/proc/jni/Exe.cxx 2016-04-13 10:57:04.469272118 -0400
@@ -87,7 +87,7 @@ frysk::sys::proc::Exe::getName(jnixx::en
}
if (access(link, F_OK) != 0) {
- errnoException(env, errno, "file %s", link);
+ errnoException(env, errno, "access", "file %s", link);
}
// Note that some kernels have a "feature" where the link can become
diff -up frysk-0.4/frysk-sys/jnixx/ClassWalker.java.jni frysk-0.4/frysk-sys/jnixx/ClassWalker.java
--- frysk-0.4/frysk-sys/jnixx/ClassWalker.java.jni 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/jnixx/ClassWalker.java 2016-04-13 10:57:04.469272118 -0400
@@ -73,10 +73,10 @@ abstract class ClassWalker {
void walk(Class klass) {
if (klass == null)
return;
+ walk(klass.getSuperclass());
if (visited.contains(klass))
return;
visited.add(klass);
- walk(klass.getSuperclass());
if (klass.isArray()) {
walk(klass.getComponentType());
acceptArray(klass);
diff -up frysk-0.4/frysk-sys/jnixx/Main.java.jni frysk-0.4/frysk-sys/jnixx/Main.java
--- frysk-0.4/frysk-sys/jnixx/Main.java.jni 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/jnixx/Main.java 2016-04-13 10:57:04.469272118 -0400
@@ -163,7 +163,6 @@ class Main {
p.println("JNIEXPORT jint");
p.println("JNI_OnLoad(JavaVM* javaVM, void* reserved)");
while (p.dent(0, "{", "}")) {
- p.println("fprintf(stderr, \"vm loaded\\n\");");
p.println("::jnixx::vm = javaVM;");
p.println("return JNI_VERSION_1_2;");
}
diff -up frysk-0.4/frysk-sys/jnixx/PrintCxxDefinitions.java.jni frysk-0.4/frysk-sys/jnixx/PrintCxxDefinitions.java
--- frysk-0.4/frysk-sys/jnixx/PrintCxxDefinitions.java.jni 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/jnixx/PrintCxxDefinitions.java 2016-04-13 10:57:04.469272118 -0400
@@ -159,10 +159,6 @@ class PrintCxxDefinitions extends ClassW
return;
if (klass.isArray())
return;
- p.println();
- p.print("jclass ");
- p.printQualifiedCxxName(klass);
- p.println("::_class;");
printer.visit(klass);
}
void acceptInterface(Class klass) {
diff -up frysk-0.4/frysk-sys/jnixx/PrintDeclarations.java.jni frysk-0.4/frysk-sys/jnixx/PrintDeclarations.java
--- frysk-0.4/frysk-sys/jnixx/PrintDeclarations.java.jni 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/jnixx/PrintDeclarations.java 2016-04-13 10:57:04.469272118 -0400
@@ -143,8 +143,9 @@ class PrintDeclarations extends ClassWal
p.printGlobalCxxName(parent);
p.println("() { }");
}
+ // cached per-instance copy - a local-ref
+ p.println("private: jclass _class = NULL;");
// Static get-class method - a class knows its own class.
- p.println("private: static jclass _class;");
p.println("public: static inline jclass _class_(::jnixx::env _env);");
JniBindings.printDeclarations(p, klass);
}
diff -up frysk-0.4/frysk-sys/jnixx/Printer.java.jni frysk-0.4/frysk-sys/jnixx/Printer.java
--- frysk-0.4/frysk-sys/jnixx/Printer.java.jni 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/jnixx/Printer.java 2016-04-13 10:57:04.469272118 -0400
@@ -318,6 +318,7 @@ class Printer {
|| name.equals("or")
|| name.equals("xor")
|| name.equals("not")
+ || name.equals("register")
) {
return name + "$";
} else {
diff -up frysk-0.4/frysk-sys/jnixx/PrintHxxDefinitions.java.jni frysk-0.4/frysk-sys/jnixx/PrintHxxDefinitions.java
--- frysk-0.4/frysk-sys/jnixx/PrintHxxDefinitions.java.jni 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/jnixx/PrintHxxDefinitions.java 2016-04-13 10:57:04.470272116 -0400
@@ -72,6 +72,14 @@ class PrintHxxDefinitions extends ClassW
}
p.print(")");
while (p.dent(0, "{", "}")) {
+ if (isStatic) {
+ p.println("jclass _class = _class_(_env);");
+ } else {
+ p.print("if (_class == NULL)");
+ while (p.dent(1, "{", "}")) {
+ p.println("_class = _class_(_env);");
+ }
+ }
p.print("if (");
p.printID(field);
p.print(" == NULL)");
@@ -81,7 +89,7 @@ class PrintHxxDefinitions extends ClassW
if (isStatic) {
p.print("Static");
}
- p.print("FieldID(_class_(_env), \"");
+ p.print("FieldID(_class, \"");
p.print(field.getName());
p.print("\", \"");
p.printJniSignature(type);
@@ -130,16 +138,25 @@ class PrintHxxDefinitions extends ClassW
p.print("static jmethodID ");
p.printID(method);
p.println(";");
+ if (isStatic) {
+ p.println("jclass _class = _class_(_env);");
+ }
p.print("if (");
p.printID(method);
p.print(" == NULL)");
while (p.dent(1, "{", "}")) {
+ if (!isStatic) {
+ p.print("if (_class == NULL)");
+ while (p.dent(2, "{", "}")) {
+ p.println("_class = _class_(_env);");
+ }
+ }
p.printID(method);
p.print(" = _env.Get");
if (isStatic) {
p.print("Static");
}
- p.print("MethodID(_class_(_env), \"");
+ p.print("MethodID(_class, \"");
p.print(method.getName());
p.print("\", \"");
p.printJniSignature(method);
@@ -183,6 +200,7 @@ class PrintHxxDefinitions extends ClassW
p.printFormalCxxParameters(constructor, true);
p.print(")");
while (p.dent(0, "{", "}")) {
+ p.println("jclass _class = _class_(_env);");
p.print("static jmethodID ");
p.printID(constructor);
p.println(";");
@@ -191,7 +209,7 @@ class PrintHxxDefinitions extends ClassW
p.print(" == NULL)");
while (p.dent(1, "{", "}")) {
p.printID(constructor);
- p.print(" = _env.GetMethodID(_class_(_env), \"<init>\", \"(");
+ p.print(" = _env.GetMethodID(_class, \"<init>\", \"(");
p.printJniSignature(constructor.getParameterTypes());
p.println(")V\");");
}
@@ -237,12 +255,9 @@ class PrintHxxDefinitions extends ClassW
p.printQualifiedCxxName(klass);
p.print("::_class_(::jnixx::env _env)");
while (p.dent(0, "{", "}")) {
- while (p.dent(1, "if (_class == NULL) {", "}")) {
- p.print("_class = _env.FindClass(\"");
- p.print(klass.getName());
- p.println("\");");
- }
- p.println("return _class;");
+ p.print("return _env.FindClass(\"");
+ p.print(klass.getName().replace('.', '/'));
+ p.println("\");");
}
JniBindings.printDefinitions(p, klass);
printer.visit(klass);
diff -up frysk-0.4/frysk-sys/Makefile.am.jni frysk-0.4/frysk-sys/Makefile.am
--- frysk-0.4/frysk-sys/Makefile.am.jni 2016-04-13 10:57:04.467272120 -0400
+++ frysk-0.4/frysk-sys/Makefile.am 2016-04-13 10:57:26.720244636 -0400
@@ -47,19 +47,6 @@ GEN_CLASSPATH += ../frysk-imports/jline.
GEN_CLASSPATH += ../frysk-imports/antlr.jar
GEN_CLASSPATH += ../frysk-imports/junit.jar
GEN_CLASSPATH += ../frysk-imports/getopt.jar
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-jline.a
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-antlr.a
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-junit.a
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.a
-if USE_LIBUNWIND
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libunwind-i386/src/.libs/libunwind-x86.a \
- ../frysk-imports/libunwind-x86_64/src/.libs/libunwind-x86_64.a \
- ../frysk-imports/libunwind-ppc32/src/.libs/libunwind-ppc32.a \
- ../frysk-imports/libunwind-ppc64/src/.libs/libunwind-ppc64.a
-endif
-GEN_GCJ_LDADD_LIST += -lstdc++ -laudit
-GEN_GCJ_LDADD_LIST += -lasm -ldw -lebl -lelf
-
# Force a few dependencies
lib/unwind/cni/Unwind%.cxx: lib/unwind/Unwind%.java lib/unwind/cni/UnwindH.hxx
@@ -69,6 +56,7 @@ lib/unwind/Unwind%.java: lib/unwind/Unwi
# Depend on these runtimes.
JNI_LIBRARY_LIST += -lstdc++
JNI_LIBRARY_LIST += -laudit
+JNI_LIBRARY_LIST += -ldw
# Bundle in the local libunwind code.
JNI_OBJECT_LIST += ../frysk-imports/libunwind-i386/src/{,dwarf/,mi/,x86/}.libs/*.o
JNI_OBJECT_LIST += ../frysk-imports/libunwind-x86_64/src/{,dwarf/,mi/,x86_64/}.libs/*.o

View file

@ -0,0 +1,353 @@
diff --git a/frysk-sys/frysk/junit/Runner.java b/frysk-sys/frysk/junit/Runner.java
index 23e960430..33091729f 100755
--- a/frysk-sys/frysk/junit/Runner.java
+++ b/frysk-sys/frysk/junit/Runner.java
@@ -126,7 +126,7 @@ public class Runner extends TestRunner {
testMethod = null;
}
fine.log(this, "testClass", testClass, "testMethod", testMethod);
-
+
for (Iterator c = testClasses.iterator(); c.hasNext (); ) {
Class testKlass = (Class) c.next ();
if (testMethod == null) {
@@ -141,7 +141,7 @@ public class Runner extends TestRunner {
try {
// Probe the class to see if the method
// exists.
- testKlass.getMethod(testMethod, null);
+ testKlass.getMethod(testMethod, (Class[])null);
TestCase test = (TestCase)testKlass.newInstance();
test.setName(testMethod);
testSuite.addTest(test);
diff --git a/frysk-sys/jnixx/ClassVisitor.java b/frysk-sys/jnixx/ClassVisitor.java
index b2cafaa19..e5c7af90d 100644
--- a/frysk-sys/jnixx/ClassVisitor.java
+++ b/frysk-sys/jnixx/ClassVisitor.java
@@ -76,6 +76,9 @@ abstract class ClassVisitor {
Class[] classes = klass.getDeclaredClasses();
for (int i = 0; i < classes.length; i++) {
Class inner = classes[i];
+ if (inner.isSynthetic()) {
+ continue;
+ }
acceptClass(inner);
}
}
diff --git a/frysk-sys/jnixx/ClassWalker.java b/frysk-sys/jnixx/ClassWalker.java
index 45ed0dd87..6fb78d392 100644
--- a/frysk-sys/jnixx/ClassWalker.java
+++ b/frysk-sys/jnixx/ClassWalker.java
@@ -45,39 +45,43 @@ import java.util.Set;
import java.util.HashSet;
abstract class ClassWalker {
+
private final Set visited = new HashSet();
- void walk(Class[] klasses) {
+ private final Set<Class> required;
+
+ ClassWalker(Set<Class> required) {
+ this.required = required;
+ }
+
+ void walk() {
+ Class[] classes = new Class[required.size()];
+ required.toArray(classes);
+ walk(classes, 0);
+ }
+
+ void walk(Class[] klasses, int level) {
for (int i = 0; i < klasses.length; i++) {
- walk(klasses[i]);
+ Class klass = klasses[i];
+ walk(klass, level+1);
+ }
+ }
+ void indent(int level) {
+ for (int i = 0; i < level; i++) {
+ System.err.print(" ");
}
}
- private final ClassVisitor visitor = new ClassVisitor() {
- void acceptInterface(Class klass) {
- walk(klass);
- }
- void acceptConstructor(Constructor constructor) {
- walk(constructor.getParameterTypes());
- }
- void acceptField(Field field) {
- walk(field.getType());
- }
- void acceptMethod(Method method) {
- walk(method.getReturnType());
- walk(method.getParameterTypes());
- }
- void acceptClass(Class klass) {
- walk(klass);
- }
- };
- void walk(Class klass) {
+ void walk(Class klass, int level) {
if (klass == null)
return;
- walk(klass.getSuperclass());
+ /* walk down from parent's parent first */
+ walk(klass.getSuperclass(), level+1);
if (visited.contains(klass))
return;
+ indent(level);
+ System.err.println(klass);
visited.add(klass);
if (klass.isArray()) {
- walk(klass.getComponentType());
+ walk(klass.getComponentType(), level+1);
acceptArray(klass);
} else if (klass.isPrimitive()) {
acceptPrimitive(klass);
@@ -86,6 +90,29 @@ abstract class ClassWalker {
} else {
acceptClass(klass);
}
+ ClassVisitor visitor = new ClassVisitor() {
+ void acceptInterface(Class klassInterface) {
+ walk(klassInterface, level+1);
+ }
+ void acceptConstructor(Constructor constructor) {
+ walk(constructor.getParameterTypes(), level+1);
+ }
+ void acceptField(Field field) {
+ walk(field.getType(), level+1);
+ }
+ void acceptMethod(Method method) {
+ walk(method.getReturnType(), level+1);
+ walk(method.getParameterTypes(), level+1);
+ }
+ void acceptClass(Class nestedKlass) {
+ if (required.contains(klass)) {
+ walk(nestedKlass, level+1);
+ } else {
+ indent(level);
+ System.err.println("dropping " + nestedKlass);
+ }
+ }
+ };
visitor.visit(klass);
}
/**
diff --git a/frysk-sys/jnixx/Main.java b/frysk-sys/jnixx/Main.java
index d68bd1a67..4942f620d 100644
--- a/frysk-sys/jnixx/Main.java
+++ b/frysk-sys/jnixx/Main.java
@@ -48,6 +48,7 @@ import java.util.jar.JarFile;
import java.util.jar.JarEntry;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
import java.io.IOException;
@@ -56,13 +57,13 @@ class Main {
/**
* Collection of classes that need native bindings.
*/
- private static final HashSet nativeClasses = new HashSet();
+ private static final HashSet<Class> nativeClasses = new HashSet();
/**
* Collection of classes that should be visible (non-visible
* classes don't get their bindings generated).
*/
- private static final HashSet visibleClasses = new HashSet();
+ private static final HashSet<Class> visibleClasses = new HashSet();
/**
* Does this method require native bindings? Methods that are not
@@ -87,10 +88,10 @@ class Main {
return Modifier.isPrivate(member.getModifiers());
}
- private static HashSet getJarClasses(String jarFile)
+ private static HashSet<Class> getJarClasses(String jarFile)
throws IOException, ClassNotFoundException {
// Generate a list of classes in the jar file.
- HashSet jarClasses = new HashSet();
+ HashSet<Class> jarClasses = new HashSet();
List entries = Collections.list(new JarFile(jarFile).entries());
for (Iterator i = entries.iterator(); i.hasNext(); ) {
JarEntry entry = (JarEntry) i.next();
@@ -107,8 +108,8 @@ class Main {
return jarClasses;
}
- private static HashSet getNativeClasses(HashSet classes) {
- final HashSet natives = new HashSet();
+ private static HashSet<Class> getNativeClasses(HashSet<Class> classes) {
+ final HashSet<Class> natives = new HashSet();
// Iterate over just these identifying which are native.
ClassVisitor findNatives = new ClassVisitor() {
void acceptInterface(Class klass) {
@@ -133,7 +134,7 @@ class Main {
}
private static void printHxxFile(Printer p, String headerFile,
- Class[] classes) {
+ Set<Class> classes) {
p.println("#include \"jnixx/jnixx.hxx\"");
p.println();
p.println("namespace jnixx {");
@@ -142,17 +143,17 @@ class Main {
p.println();
p.println("\f");
System.err.println("Generating namespaces");
- new PrintNamespaces(p).walk(classes);
+ new PrintNamespaces(p, classes).walk();
System.err.println("Generating declarations");
- new PrintDeclarations(p).walk(classes);
+ new PrintDeclarations(p, classes).walk();
p.println();
p.println("\f");
System.err.println("Generating definitions");
- new PrintHxxDefinitions(p).walk(classes);
+ new PrintHxxDefinitions(p, classes).walk();
}
private static void printCxxFile(Printer p, String headerFile,
- Class[] classes) {
+ Set<Class> classes) {
p.print("#include \"");
p.print(headerFile);
p.println("\"");
@@ -168,7 +169,7 @@ class Main {
p.println();
p.println("\f");
System.err.println("Generating definitions");
- new PrintCxxDefinitions(p).walk(classes);
+ new PrintCxxDefinitions(p, classes).walk();
}
public static void main(String[] args)
@@ -181,33 +182,35 @@ class Main {
boolean generateHeader = args[0].equals("hxx");
String headerFile = args[1];
String jarFile = args[2];
- HashSet explicitClasses = new HashSet();
+ HashSet<Class> explicitClasses = new HashSet();
for (int i = 3; i < args.length; i++) {
Class klass = Class.forName(args[i], false,
Main.class.getClassLoader());
explicitClasses.add(klass);
}
- HashSet jarClasses = getJarClasses(jarFile);
+ HashSet<Class> jarClasses = getJarClasses(jarFile);
visibleClasses.addAll(jarClasses);
visibleClasses.addAll(explicitClasses);
nativeClasses.addAll(getNativeClasses(jarClasses));
- HashSet requiredClasses = new HashSet();
+ HashSet<Class> requiredClasses = new HashSet<Class>();
requiredClasses.addAll(nativeClasses);
requiredClasses.addAll(explicitClasses);
- System.err.print("Required " + requiredClasses.size() + " - ");
- System.err.println(requiredClasses);
-
- Class[] classes = new Class[requiredClasses.size()];
- requiredClasses.toArray(classes);
+ System.err.println("Required classes " + requiredClasses.size() + ":");
+ for (Class klass : requiredClasses) {
+ System.err.println(" " + klass);
+ }
Printer p = new Printer(new PrintWriter(System.out));
- if (generateHeader)
- printHxxFile(p, headerFile, classes);
- else
- printCxxFile(p, headerFile, classes);
+ if (generateHeader) {
+ System.err.println(".hxx classes:");
+ printHxxFile(p, headerFile, requiredClasses);
+ } else {
+ System.err.println(".cxx classes:");
+ printCxxFile(p, headerFile, requiredClasses);
+ }
p.flush();
}
}
diff --git a/frysk-sys/jnixx/PrintCxxDefinitions.java b/frysk-sys/jnixx/PrintCxxDefinitions.java
index 032f10081..2f3072aa1 100644
--- a/frysk-sys/jnixx/PrintCxxDefinitions.java
+++ b/frysk-sys/jnixx/PrintCxxDefinitions.java
@@ -42,11 +42,13 @@ import java.lang.reflect.Method;
import java.lang.reflect.Field;
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
+import java.util.Set;
class PrintCxxDefinitions extends ClassWalker {
private final Printer p;
- PrintCxxDefinitions(Printer p) {
+ PrintCxxDefinitions(Printer p, Set<Class> required) {
+ super(required);
this.p = p;
}
diff --git a/frysk-sys/jnixx/PrintDeclarations.java b/frysk-sys/jnixx/PrintDeclarations.java
index db0117d09..559fd5283 100644
--- a/frysk-sys/jnixx/PrintDeclarations.java
+++ b/frysk-sys/jnixx/PrintDeclarations.java
@@ -42,11 +42,13 @@ import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
+import java.util.Set;
class PrintDeclarations extends ClassWalker {
private final Printer p;
- PrintDeclarations(Printer p) {
+ PrintDeclarations(Printer p, Set<Class> required) {
+ super(required);
this.p = p;
}
diff --git a/frysk-sys/jnixx/PrintHxxDefinitions.java b/frysk-sys/jnixx/PrintHxxDefinitions.java
index 3ac6445b7..342e37f58 100644
--- a/frysk-sys/jnixx/PrintHxxDefinitions.java
+++ b/frysk-sys/jnixx/PrintHxxDefinitions.java
@@ -43,11 +43,13 @@ import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
+import java.util.Set;
class PrintHxxDefinitions extends ClassWalker {
private final Printer p;
- PrintHxxDefinitions(Printer p) {
+ PrintHxxDefinitions(Printer p, Set<Class> required) {
+ super(required);
this.p = p;
}
diff --git a/frysk-sys/jnixx/PrintNamespaces.java b/frysk-sys/jnixx/PrintNamespaces.java
index e566c5fbd..7b44868bf 100644
--- a/frysk-sys/jnixx/PrintNamespaces.java
+++ b/frysk-sys/jnixx/PrintNamespaces.java
@@ -38,10 +38,13 @@
package jnixx;
+import java.util.Set;
+
class PrintNamespaces extends ClassWalker {
private final Printer p;
- PrintNamespaces(Printer p) {
+ PrintNamespaces(Printer p, Set<Class> required) {
+ super(required);
this.p = p;
}

View file

@ -0,0 +1,11 @@
--- frysk-0.4/frysk-sys/jnixx/Printer.java.dist 2017-02-10 17:14:52.993596017 -0500
+++ frysk-0.4/frysk-sys/jnixx/Printer.java 2017-02-10 17:15:20.770189841 -0500
@@ -318,6 +318,8 @@
|| name.equals("xor")
|| name.equals("not")
|| name.equals("register")
+ || name.equals("signed")
+ || name.equals("unsigned")
) {
return name + "$";
} else {

View file

@ -0,0 +1,12 @@
diff --git a/frysk-sys/jnixx/Printer.java b/frysk-sys/jnixx/Printer.java
index 4469027d0..933bd6b05 100644
--- a/frysk-sys/jnixx/Printer.java
+++ b/frysk-sys/jnixx/Printer.java
@@ -320,6 +320,7 @@ class Printer {
|| name.equals("register")
|| name.equals("signed")
|| name.equals("unsigned")
+ || name.equals("union")
) {
return name + "$";
} else {

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
diff -up frysk-0.4/frysk-sys/Makefile.am.missing-javah-cni-built frysk-0.4/frysk-sys/Makefile.am
--- frysk-0.4/frysk-sys/Makefile.am.missing-javah-cni-built 2013-02-14 21:33:35.397666535 -0500
+++ frysk-0.4/frysk-sys/Makefile.am 2013-02-14 21:59:36.968325166 -0500
@@ -87,3 +87,7 @@ JNIXX_CLASSES += lib.unwind.UnwindRegist
JNIXX_CLASSES += lib.unwind.UnwindRegistersPPC64
JNIXX_CLASSES += lib.unwind.UnwindRegistersX86
JNIXX_CLASSES += lib.unwind.UnwindRegistersX8664
+# Some JAVAH files don't get generated as they are hidden includes
+lib/dwfl/cni/ElfSymbol.o: lib/dwfl/ElfSymbolVersion.h
+frysk/testbed/cni/ForkFactory.o: frysk/sys/UnhandledWaitBuilder.h
+lib/dwfl/cni/DwflModule.o: lib/dwfl/ElfSymbolVersion.h

101
frysk-0.4-no-jdom.patch Normal file
View file

@ -0,0 +1,101 @@
diff -up frysk-0.4/frysk-core/frysk/debuginfo/DebugInfoFrame.java.no-jdom frysk-0.4/frysk-core/frysk/debuginfo/DebugInfoFrame.java
--- frysk-0.4/frysk-core/frysk/debuginfo/DebugInfoFrame.java.no-jdom 2013-02-12 20:45:26.849514083 -0500
+++ frysk-0.4/frysk-core/frysk/debuginfo/DebugInfoFrame.java 2013-02-12 20:45:54.585387049 -0500
@@ -47,7 +47,6 @@ import lib.dwfl.DwarfDie;
import lib.dwfl.Dwfl;
import lib.dwfl.DwflDie;
import frysk.dwfl.DwflCache;
-import frysk.rt.LineXXX;
import frysk.scopes.Function;
import frysk.scopes.Scope;
import frysk.scopes.ScopeFactory;
@@ -172,20 +171,6 @@ public class DebugInfoFrame extends Fram
}
private SourceLocation line;
- /**
- * XXX: This function should not be used DOM information (LineXXX)
- * should be moved out of DebugInfoFrame.
- * @return
- */
- public LineXXX getLineXXX(){
- if (this.getLine() == SourceLocation.UNKNOWN)
- return null;
- if (this.lineXXX == null)
- this.lineXXX = new LineXXX(this.getLine(), this.getTask().getProc());
- return lineXXX;
- }
- private LineXXX lineXXX;
-
public void toPrint(PrintWriter writer,
PrintDebugInfoStackOptions options) {
Function subprogram = this.getSubprogram();
diff -up frysk-0.4/frysk-core/frysk/dom/DOMCommon.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMCommon.java
diff -up frysk-0.4/frysk-core/frysk/dom/DOMCompilerSuffixes.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMCompilerSuffixes.java
diff -up frysk-0.4/frysk-core/frysk/dom/DOMFactory.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMFactory.java
diff -up frysk-0.4/frysk-core/frysk/dom/DOMFrysk.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMFrysk.java
diff -up frysk-0.4/frysk-core/frysk/dom/DOMFunction.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMFunction.java
diff -up frysk-0.4/frysk-core/frysk/dom/DOMImage.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMImage.java
diff -up frysk-0.4/frysk-core/frysk/dom/DOMInlineInstance.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMInlineInstance.java
diff -up frysk-0.4/frysk-core/frysk/dom/DOMLine.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMLine.java
diff -up frysk-0.4/frysk-core/frysk/dom/DOMSource.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMSource.java
diff -up frysk-0.4/frysk-core/frysk/dom/DOMTag.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMTag.java
diff -up frysk-0.4/frysk-core/frysk/dom/DOMTagTypes.java.no-jdom frysk-0.4/frysk-core/frysk/dom/DOMTagTypes.java
diff -up frysk-0.4/frysk-core/frysk/dom/StaticParser.java.no-jdom frysk-0.4/frysk-core/frysk/dom/StaticParser.java
diff -up frysk-0.4/frysk-core/frysk/dom/TestDOM.java.no-jdom frysk-0.4/frysk-core/frysk/dom/TestDOM.java
diff -up frysk-0.4/frysk-core/frysk/rt/LineXXX.java.no-jdom frysk-0.4/frysk-core/frysk/rt/LineXXX.java
diff -up frysk-0.4/frysk-core/Makefile.am.no-jdom frysk-0.4/frysk-core/Makefile.am
--- frysk-0.4/frysk-core/Makefile.am.no-jdom 2013-02-12 21:15:45.382563609 -0500
+++ frysk-0.4/frysk-core/Makefile.am 2013-02-12 21:15:59.743111685 -0500
@@ -46,13 +46,11 @@ GEN_CLASSPATH += ../frysk-imports/jline.
GEN_CLASSPATH += ../frysk-imports/antlr.jar
GEN_CLASSPATH += ../frysk-imports/junit.jar
GEN_CLASSPATH += ../frysk-imports/getopt.jar
-GEN_CLASSPATH += ../frysk-imports/jdom.jar
GEN_GCJ_LDADD_LIST += ../frysk-sys/libfrysk-sys.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-jline.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-antlr.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-junit.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.a
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-jdom.a
if USE_LIBUNWIND
GEN_GCJ_LDADD_LIST += ../frysk-imports/libunwind-i386/src/.libs/libunwind-x86.a \
../frysk-imports/libunwind-x86_64/src/.libs/libunwind-x86_64.a \
diff -up frysk-0.4/frysk-imports/bootstrap.sh.no-jdom frysk-0.4/frysk-imports/bootstrap.sh
--- frysk-0.4/frysk-imports/bootstrap.sh.no-jdom 2013-02-12 20:39:47.730169245 -0500
+++ frysk-0.4/frysk-imports/bootstrap.sh 2013-02-12 20:40:00.271780513 -0500
@@ -43,7 +43,6 @@ set -e
FILE_LIST="\
junit/junit.jar \
ANTLR_JAR \
- JDOM_JAR \
jline/jline.jar \
getopt/getopt.jar \
"
diff -up frysk-0.4/frysk-imports/configure.ac.no-jdom frysk-0.4/frysk-imports/configure.ac
--- frysk-0.4/frysk-imports/configure.ac.no-jdom 2013-02-12 20:39:33.993600147 -0500
+++ frysk-0.4/frysk-imports/configure.ac 2013-02-12 20:40:14.883332957 -0500
@@ -47,7 +47,6 @@ m4_include([common/frysk-common.ac])
AM_INIT_AUTOMAKE([subdir-objects foreign no-installinfo no-exeext no-dist])
AC_FIND_FILE([antlr.jar], [/usr/share/java /usr/share/frysk/java], ANTLR_JAR)
-AC_FIND_FILE([jdom.jar], [/usr/share/java /usr/share/frysk/java], JDOM_JAR)
AC_FIND_FILE([libaudit.h], [/usr/include/], LIBAUDIT_H)
AC_CONFIG_FILES([
diff -up frysk-0.4/frysk-sys/Makefile.am.no-jdom frysk-0.4/frysk-sys/Makefile.am
--- frysk-0.4/frysk-sys/Makefile.am.no-jdom 2013-02-12 21:15:09.854684413 -0500
+++ frysk-0.4/frysk-sys/Makefile.am 2013-02-12 21:15:33.195948344 -0500
@@ -47,12 +47,10 @@ GEN_CLASSPATH += ../frysk-imports/jline.
GEN_CLASSPATH += ../frysk-imports/antlr.jar
GEN_CLASSPATH += ../frysk-imports/junit.jar
GEN_CLASSPATH += ../frysk-imports/getopt.jar
-GEN_CLASSPATH += ../frysk-imports/jdom.jar
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-jline.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-antlr.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-junit.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.a
-GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-jdom.a
if USE_LIBUNWIND
GEN_GCJ_LDADD_LIST += ../frysk-imports/libunwind-i386/src/.libs/libunwind-x86.a \
../frysk-imports/libunwind-x86_64/src/.libs/libunwind-x86_64.a \

233
frysk-0.4-nopkglibdir.patch Normal file
View file

@ -0,0 +1,233 @@
diff -up frysk-0.4/frysk-common/Makefile.gen.sh.nopkglibdir frysk-0.4/frysk-common/Makefile.gen.sh
--- frysk-0.4/frysk-common/Makefile.gen.sh.nopkglibdir 2012-02-11 23:00:39.095000078 -0500
+++ frysk-0.4/frysk-common/Makefile.gen.sh 2012-02-11 23:00:39.544000078 -0500
@@ -225,7 +225,10 @@ echo_PROGRAMS ()
*dir/* )
# extract the directory prefix
local dir=`echo /"$1" | sed -e 's,.*/\([a-z]*\)dir/.*,\1,'`
- echo "${dir}_PROGRAMS += $1"
+ case $dir in
+ pkglib ) echo "noinst_PROGRAMS += $1" ;;
+ * ) echo "${dir}_PROGRAMS += $1" ;;
+ esac
;;
* )
echo "noinst_PROGRAMS += $1"
@@ -726,8 +729,16 @@ do
do
d=`dirname $file`
b=`basename $file ${suffix}`
- echo `expr $d : '.*/\([a-z]*\)dir'`_SCRIPTS += $d/$b
- check_MANS $d/$b
+ dir=`expr $d : '.*/\([a-z]*\)dir'`
+ case $dir in
+ pkglib )
+ echo noinst_SCRIPTS += $d/$b
+ ;;
+ * )
+ echo "${dir}_SCRIPTS += $d/$b"
+ check_MANS $d/$b
+ ;;
+ esac
cat <<EOF
${d}/${b}: ${file}
\$(SUBST)
diff -up frysk-0.4/frysk-common/Makefile.rules.nopkglibdir frysk-0.4/frysk-common/Makefile.rules
--- frysk-0.4/frysk-common/Makefile.rules.nopkglibdir 2012-02-11 23:00:39.493000079 -0500
+++ frysk-0.4/frysk-common/Makefile.rules 2012-02-11 23:01:33.129016031 -0500
@@ -53,7 +53,6 @@ FRYSK_ASCOMPILE = $(CCAS) $(DEFS) $(DEFA
# Initialize everything to empty and then use += to add things in.
-noinst_SCRIPTS =
SUFFIXES =
BUILT_SOURCES =
CLEANFILES = $(BUILT_SOURCES)
@@ -61,14 +60,11 @@ CLEANDIRS =
MOSTLYCLEANFILES = core.[1-9]*
noinst_PROGRAMS =
noinst_DATA =
+noinst_SCRIPTS =
bin_PROGRAMS =
bin_SCRIPTS =
sbin_PROGRAMS =
sbin_SCRIPTS =
-pkgdata_PROGRAMS =
-pkglib_PROGRAMS =
-pkglib_SCRIPTS =
-pkglibdir = $(libdir)/@PACKAGE@
pkglib32_PROGRAMS =
pkglib32dir = $(lib32dir)/@PACKAGE@
pkglib64dir = $(lib64dir)/@PACKAGE@
diff -up frysk-0.4/frysk-core/Makefile.am.nopkglibdir frysk-0.4/frysk-core/Makefile.am
--- frysk-0.4/frysk-core/Makefile.am.nopkglibdir 2012-02-11 23:00:39.226000079 -0500
+++ frysk-0.4/frysk-core/Makefile.am 2012-02-11 23:01:40.329995991 -0500
@@ -70,7 +70,7 @@ GEN_GCJ_LDADD_LIST += -lstdc++
GEN_GCJ_LDADD_LIST += -laudit
# For TestExec.java
-pkglib_PROGRAMS += frysk/pkglibdir/funit-exec-alias
+noinst_PROGRAMS += frysk/pkglibdir/funit-exec-alias
frysk_pkglibdir_funit_exec_alias_SOURCES =
frysk/pkglibdir/funit-exec-alias: frysk/pkglibdir/funit-exec
cp -p frysk/pkglibdir/funit-exec $@
@@ -79,7 +79,7 @@ frysk/pkglibdir/funit-exec-alias: frysk/
frysk_pkglibdir_test1_LDADD = -lm
if DO_ARCH32_TEST
-pkglib32_PROGRAMS += frysk/pkglibdir/arch32/funit-exec-alias
+noinst_PROGRAMS += frysk/pkglibdir/arch32/funit-exec-alias
frysk_pkglibdir_arch32_funit_exec_alias_SOURCES =
frysk/pkglibdir/arch32/funit-exec-alias: frysk/pkglibdir/arch32/funit-exec
cp -p frysk/pkglibdir/arch32/funit-exec $@
@@ -103,8 +103,8 @@ frysk/debuginfo/TestTypeFactory.java: fr
# of the test program (in particular c++ exceptions).
# funit-stacks
-pkglib_PROGRAMS += frysk/pkglibdir/funit-stacks-nodebug
-pkglib_PROGRAMS += frysk/pkglibdir/funit-stacks-noeh
+noinst_PROGRAMS += frysk/pkglibdir/funit-stacks-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/funit-stacks-noeh
frysk_pkglibdir_funit_stacks_nodebug_SOURCES =
frysk_pkglibdir_funit_stacks_noeh_SOURCES =
frysk/pkglibdir/funit-stacks-nodebug: frysk/pkglibdir/funit-stacks
@@ -115,8 +115,8 @@ frysk/pkglibdir/funit-stacks-noeh: frysk
frysk/pkglibdir/funit-stacks $@
# funit-empty-functions
-pkglib_PROGRAMS += frysk/pkglibdir/funit-empty-functions-nodebug
-pkglib_PROGRAMS += frysk/pkglibdir/funit-empty-functions-noeh
+noinst_PROGRAMS += frysk/pkglibdir/funit-empty-functions-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/funit-empty-functions-noeh
frysk_pkglibdir_funit_empty_functions_nodebug_SOURCES =
frysk_pkglibdir_funit_empty_functions_noeh_SOURCES =
frysk/pkglibdir/funit-empty-functions-nodebug: frysk/pkglibdir/funit-empty-functions
@@ -127,8 +127,8 @@ frysk/pkglibdir/funit-empty-functions-no
frysk/pkglibdir/funit-empty-functions $@
# funit-stacks-exit
-pkglib_PROGRAMS += frysk/pkglibdir/funit-stacks-exit-nodebug
-pkglib_PROGRAMS += frysk/pkglibdir/funit-stacks-exit-noeh
+noinst_PROGRAMS += frysk/pkglibdir/funit-stacks-exit-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/funit-stacks-exit-noeh
frysk_pkglibdir_funit_stacks_exit_nodebug_SOURCES =
frysk_pkglibdir_funit_stacks_exit_noeh_SOURCES =
frysk/pkglibdir/funit-stacks-exit-nodebug: frysk/pkglibdir/funit-stacks-exit
@@ -139,8 +139,8 @@ frysk/pkglibdir/funit-stacks-exit-noeh:
frysk/pkglibdir/funit-stacks-exit $@
# funit-scopes
-pkglib_PROGRAMS += frysk/pkglibdir/funit-scopes-nodebug
-pkglib_PROGRAMS += frysk/pkglibdir/funit-scopes-noeh
+noinst_PROGRAMS += frysk/pkglibdir/funit-scopes-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/funit-scopes-noeh
frysk_pkglibdir_funit_scopes_nodebug_SOURCES =
frysk_pkglibdir_funit_scopes_noeh_SOURCES =
frysk/pkglibdir/funit-scopes-nodebug: frysk/pkglibdir/funit-scopes
@@ -151,8 +151,8 @@ frysk/pkglibdir/funit-scopes-noeh: frysk
frysk/pkglibdir/funit-scopes $@
# funit-scopes-workaround
-pkglib_PROGRAMS += frysk/pkglibdir/funit-scopes-workaround-nodebug
-pkglib_PROGRAMS += frysk/pkglibdir/funit-scopes-workaround-noeh
+noinst_PROGRAMS += frysk/pkglibdir/funit-scopes-workaround-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/funit-scopes-workaround-noeh
frysk_pkglibdir_funit_scopes_workaround_nodebug_SOURCES =
frysk_pkglibdir_funit_scopes_workaround_noeh_SOURCES =
frysk/pkglibdir/funit-scopes-workaround-nodebug: frysk/pkglibdir/funit-scopes-workaround
@@ -163,8 +163,8 @@ frysk/pkglibdir/funit-scopes-workaround-
frysk/pkglibdir/funit-scopes-workaround $@
# funit-stack-inlined
-pkglib_PROGRAMS += frysk/pkglibdir/funit-stack-inlined-nodebug
-pkglib_PROGRAMS += frysk/pkglibdir/funit-stack-inlined-noeh
+noinst_PROGRAMS += frysk/pkglibdir/funit-stack-inlined-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/funit-stack-inlined-noeh
frysk_pkglibdir_funit_stack_inlined_nodebug_SOURCES =
frysk_pkglibdir_funit_stack_inlined_noeh_SOURCES =
frysk/pkglibdir/funit-stack-inlined-nodebug: frysk/pkglibdir/funit-stack-inlined
@@ -175,8 +175,8 @@ frysk/pkglibdir/funit-stack-inlined-noeh
frysk/pkglibdir/funit-stack-inlined $@
# funit-stacks-values
-pkglib_PROGRAMS += frysk/pkglibdir/funit-stacks-values-nodebug
-pkglib_PROGRAMS += frysk/pkglibdir/funit-stacks-values-noeh
+noinst_PROGRAMS += frysk/pkglibdir/funit-stacks-values-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/funit-stacks-values-noeh
frysk_pkglibdir_funit_stacks_values_nodebug_SOURCES =
frysk_pkglibdir_funit_stacks_values_noeh_SOURCES =
frysk/pkglibdir/funit-stacks-values-nodebug: frysk/pkglibdir/funit-stacks-values
@@ -187,8 +187,8 @@ frysk/pkglibdir/funit-stacks-values-noeh
frysk/pkglibdir/funit-stacks-values $@
# funit-stacks-linenum
-pkglib_PROGRAMS += frysk/pkglibdir/funit-stacks-linenum-nodebug
-pkglib_PROGRAMS += frysk/pkglibdir/funit-stacks-linenum-noeh
+noinst_PROGRAMS += frysk/pkglibdir/funit-stacks-linenum-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/funit-stacks-linenum-noeh
frysk_pkglibdir_funit_stacks_linenum_nodebug_SOURCES =
frysk_pkglibdir_funit_stacks_linenum_noeh_SOURCES =
frysk/pkglibdir/funit-stacks-linenum-nodebug: frysk/pkglibdir/funit-stacks-linenum
@@ -199,8 +199,8 @@ frysk/pkglibdir/funit-stacks-linenum-noe
frysk/pkglibdir/funit-stacks-linenum $@
# funit-cpp-scopes-class
-pkglib_PROGRAMS += frysk/pkglibdir/funit-cpp-scopes-class-nodebug
-pkglib_PROGRAMS += frysk/pkglibdir/funit-cpp-scopes-class-noeh
+noinst_PROGRAMS += frysk/pkglibdir/funit-cpp-scopes-class-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/funit-cpp-scopes-class-noeh
frysk_pkglibdir_funit_cpp_scopes_class_nodebug_SOURCES =
frysk_pkglibdir_funit_cpp_scopes_class_noeh_SOURCES =
frysk/pkglibdir/funit-cpp-scopes-class-nodebug: frysk/pkglibdir/funit-cpp-scopes-class
@@ -213,13 +213,13 @@ frysk/pkglibdir/funit-cpp-scopes-class-n
# Create executables for symbol tests for TestSymbol.java.
-pkglib_PROGRAMS += frysk/pkglibdir/funit-symbols-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/funit-symbols-nodebug
frysk_pkglibdir_funit_symbols_nodebug_SOURCES =
frysk/pkglibdir/funit-symbols-nodebug: frysk/pkglibdir/funit-symbols
strip --strip-debug -o $@ frysk/pkglibdir/funit-symbols
-pkglib_PROGRAMS += frysk/pkglibdir/funit-symbols-stripped
+noinst_PROGRAMS += frysk/pkglibdir/funit-symbols-stripped
frysk_pkglibdir_funit_symbols_stripped_SOURCES =
frysk/pkglibdir/funit-symbols-stripped: frysk/pkglibdir/funit-symbols
strip -o $@ frysk/pkglibdir/funit-symbols
@@ -268,13 +268,13 @@ uninstall-sysroot-local:
rm -rf $(pkglib32dir)/test-sysroot
if DO_ARCH32_TEST
-pkglib32_PROGRAMS += frysk/pkglibdir/arch32/funit-symbols-nodebug
+noinst_PROGRAMS += frysk/pkglibdir/arch32/funit-symbols-nodebug
frysk_pkglibdir_arch32_funit_symbols_nodebug_SOURCES =
frysk/pkglibdir/arch32/funit-symbols-nodebug: frysk/pkglibdir/arch32/funit-symbols
strip --strip-debug -o $@ frysk/pkglibdir/arch32/funit-symbols
-pkglib32_PROGRAMS += frysk/pkglibdir/arch32/funit-symbols-stripped
+noinst_PROGRAMS += frysk/pkglibdir/arch32/funit-symbols-stripped
frysk_pkglibdir_arch32_funit_symbols_stripped_SOURCES =
frysk/pkglibdir/arch32/funit-symbols-stripped: frysk/pkglibdir/arch32/funit-symbols
strip -o $@ frysk/pkglibdir/arch32/funit-symbols
@@ -318,7 +318,7 @@ frysk/pkgdatadir/test-core-x86:
ln -s -f @abs_top_builddir@/../frysk-sys/$@ $@
# The following links two files into one executable
-pkglib_PROGRAMS += frysk/pkglibdir/funit-scopes-multi-file
+noinst_PROGRAMS += frysk/pkglibdir/funit-scopes-multi-file
frysk_pkglibdir_funit_scopes_multi_file_SOURCES =
frysk/pkglibdir/funit-scopes-multi-file:
gcc -g $(srcdir)/frysk/pkglibdir/funit-scopes-multi-file-a.c $(srcdir)/frysk/pkglibdir/funit-scopes-multi-file-b.c -o frysk/pkglibdir/funit-scopes-multi-file
diff -up frysk-0.4/frysk-imports/tests/Makefile.am.nopkglibdir frysk-0.4/frysk-imports/tests/Makefile.am
--- frysk-0.4/frysk-imports/tests/Makefile.am.nopkglibdir 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-imports/tests/Makefile.am 2012-02-11 23:01:46.275993979 -0500
@@ -42,7 +42,6 @@ AM_CFLAGS = -Werror -Wall -I$(top_srcdir
# Gag all the output from the failing tests
noinst_PROGRAMS =
noinst_SCRIPTS =
-pkglib_SCRIPTS =
TESTS_ENVIRONMENT = eval > /dev/null 2>&1
XFAIL_TESTS =
PASS_TESTS =

View file

@ -0,0 +1,152 @@
--- frysk-0.4/frysk-sys/jnixx/PrintHxxDefinitions.java.jmethodid 2016-04-06 16:06:04.482142069 -0400
+++ frysk-0.4/frysk-sys/jnixx/PrintHxxDefinitions.java 2016-04-06 16:12:30.247740400 -0400
@@ -1,5 +1,6 @@
// This file is part of the program FRYSK.
//
+// Copyright 2016, Andrew Cagney
// Copyright 2008, Red Hat Inc.
//
// FRYSK is free software; you can redistribute it and/or modify it
@@ -75,27 +76,20 @@
if (isStatic) {
p.println("jclass _class = _class_(_env);");
} else {
- p.print("if (_class == NULL)");
- while (p.dent(1, "{", "}")) {
- p.println("_class = _class_(_env);");
- }
+ p.println("jclass _class = _env.GetObjectClass(_object);");
}
- p.print("if (");
+ p.print("jfieldID ");
p.printID(field);
- p.print(" == NULL)");
- while (p.dent(1, "{", "}")) {
- p.printID(field);
- p.print(" = _env.Get");
- if (isStatic) {
- p.print("Static");
- }
- p.print("FieldID(_class, \"");
- p.print(field.getName());
- p.print("\", \"");
- p.printJniSignature(type);
- p.print("\"");
- p.println(");");
+ p.print(" = _env.Get");
+ if (isStatic) {
+ p.print("Static");
}
+ p.print("FieldID(_class, \"");
+ p.print(field.getName());
+ p.print("\", \"");
+ p.printJniSignature(type);
+ p.print("\"");
+ p.println(");");
if (get) {
p.printJniType(type);
p.print(" ret = ");
@@ -135,33 +129,22 @@
p.printFormalCxxParameters(method, true);
p.print(")");
while (p.dent(0, "{", "}")) {
- p.print("static jmethodID ");
- p.printID(method);
- p.println(";");
if (isStatic) {
p.println("jclass _class = _class_(_env);");
+ } else {
+ p.println("jclass _class = _env.GetObjectClass(_object);");
}
- p.print("if (");
+ p.print("jmethodID ");
p.printID(method);
- p.print(" == NULL)");
- while (p.dent(1, "{", "}")) {
- if (!isStatic) {
- p.print("if (_class == NULL)");
- while (p.dent(2, "{", "}")) {
- p.println("_class = _class_(_env);");
- }
- }
- p.printID(method);
- p.print(" = _env.Get");
- if (isStatic) {
- p.print("Static");
- }
- p.print("MethodID(_class, \"");
- p.print(method.getName());
- p.print("\", \"");
- p.printJniSignature(method);
- p.println("\");");
+ p.print(" = _env.Get");
+ if (isStatic) {
+ p.print("Static");
}
+ p.print("MethodID(_class, \"");
+ p.print(method.getName());
+ p.print("\", \"");
+ p.printJniSignature(method);
+ p.println("\");");
if (returnType != Void.TYPE) {
if (returnType.isPrimitive()) {
p.printJniType(returnType);
@@ -201,18 +184,11 @@
p.print(")");
while (p.dent(0, "{", "}")) {
p.println("jclass _class = _class_(_env);");
- p.print("static jmethodID ");
- p.printID(constructor);
- p.println(";");
- p.print("if (");
+ p.print("jmethodID ");
p.printID(constructor);
- p.print(" == NULL)");
- while (p.dent(1, "{", "}")) {
- p.printID(constructor);
- p.print(" = _env.GetMethodID(_class, \"<init>\", \"(");
- p.printJniSignature(constructor.getParameterTypes());
- p.println(")V\");");
- }
+ p.print(" = _env.GetMethodID(_class, \"<init>\", \"(");
+ p.printJniSignature(constructor.getParameterTypes());
+ p.println(")V\");");
p.print("jobject object = _env.NewObject(");
p.printActualJniParameters(constructor);
p.println(");");
--- frysk-0.4/frysk-sys/jnixx/PrintDeclarations.java.jmethodid 2016-04-06 16:22:40.595194032 -0400
+++ frysk-0.4/frysk-sys/jnixx/PrintDeclarations.java 2016-04-06 16:25:16.964016994 -0400
@@ -88,9 +88,6 @@
}
public void acceptField(Field field) {
p.println();
- p.print("private: static jfieldID ");
- p.printID(field);
- p.println("; public:");
printCxxFieldAccessorDeclaration(field, true);
if (!Modifier.isFinal(field.getModifiers())) {
printCxxFieldAccessorDeclaration(field, false);
@@ -143,8 +140,6 @@
p.printGlobalCxxName(parent);
p.println("() { }");
}
- // cached per-instance copy - a local-ref
- p.println("private: jclass _class = NULL;");
// Static get-class method - a class knows its own class.
p.println("public: static inline jclass _class_(::jnixx::env _env);");
JniBindings.printDeclarations(p, klass);
--- frysk-0.4/frysk-sys/jnixx/PrintCxxDefinitions.java.jmethodid 2016-04-06 16:32:15.056208875 -0400
+++ frysk-0.4/frysk-sys/jnixx/PrintCxxDefinitions.java 2016-04-06 16:33:01.466564144 -0400
@@ -137,12 +137,6 @@
void acceptConstructor(Constructor constructor) {
}
void acceptField(Field field) {
- p.println();
- p.print("jfieldID ");
- p.printGlobalCxxName(field.getDeclaringClass());
- p.print("::");
- p.printID(field);
- p.println(";");
}
void acceptClass(Class klass) {
}

29
frysk-0.4-pic-asm.patch Normal file
View file

@ -0,0 +1,29 @@
diff -up frysk-0.4/frysk-core/Makefile.am.pic-asm frysk-0.4/frysk-core/Makefile.am
--- frysk-0.4/frysk-core/Makefile.am.pic-asm 2015-08-17 15:29:36.749569562 -0400
+++ frysk-0.4/frysk-core/Makefile.am 2015-08-17 15:33:00.545752668 -0400
@@ -191,16 +191,15 @@ frysk/pkglibdir/funit-cpp-scopes-class-n
# Create executables for symbol tests for TestSymbol.java.
-noinst_PROGRAMS += frysk/pkglibdir/funit-symbols-nodebug
-frysk_pkglibdir_funit_symbols_nodebug_SOURCES =
-frysk/pkglibdir/funit-symbols-nodebug: frysk/pkglibdir/funit-symbols
- strip --strip-debug -o $@ frysk/pkglibdir/funit-symbols
-
-
-noinst_PROGRAMS += frysk/pkglibdir/funit-symbols-stripped
-frysk_pkglibdir_funit_symbols_stripped_SOURCES =
-frysk/pkglibdir/funit-symbols-stripped: frysk/pkglibdir/funit-symbols
- strip -o $@ frysk/pkglibdir/funit-symbols
+# noinst_PROGRAMS += frysk/pkglibdir/funit-symbols-nodebug
+# frysk_pkglibdir_funit_symbols_nodebug_SOURCES =
+# frysk/pkglibdir/funit-symbols-nodebug: frysk/pkglibdir/funit-symbols
+# strip --strip-debug -o $@ frysk/pkglibdir/funit-symbols
+
+# noinst_PROGRAMS += frysk/pkglibdir/funit-symbols-stripped
+# frysk_pkglibdir_funit_symbols_stripped_SOURCES =
+# frysk/pkglibdir/funit-symbols-stripped: frysk/pkglibdir/funit-symbols
+# strip -o $@ frysk/pkglibdir/funit-symbols
# Create executable for list tests for TestListCommand.java

99
frysk-0.4-python3.patch Normal file
View file

@ -0,0 +1,99 @@
diff --git a/frysk-core/frysk/debuginfo/TestTypeFactory.java-sh b/frysk-core/frysk/debuginfo/TestTypeFactory.java-sh
index 11e51ed5a..38a40ff97 100644
--- a/frysk-core/frysk/debuginfo/TestTypeFactory.java-sh
+++ b/frysk-core/frysk/debuginfo/TestTypeFactory.java-sh
@@ -38,4 +38,4 @@
# version and license this file solely under the GPL without
# exception.
-python $(dirname $0)/gen-type-expect-tests.py frysk/pkglibdir/funit-type-entry.c $(dirname $0)/../pkglibdir/funit-type-class.cxx
+python3 $(dirname $0)/gen-type-expect-tests.py frysk/pkglibdir/funit-type-entry.c $(dirname $0)/../pkglibdir/funit-type-class.cxx
diff --git a/frysk-core/frysk/debuginfo/gen-type-expect-tests.py b/frysk-core/frysk/debuginfo/gen-type-expect-tests.py
index 6163edcce..f0a81617f 100644
--- a/frysk-core/frysk/debuginfo/gen-type-expect-tests.py
+++ b/frysk-core/frysk/debuginfo/gen-type-expect-tests.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# This file is part of the program FRYSK.
#
@@ -48,7 +48,7 @@ class j:
def open(self):
self.name = "TestTypeFactory"
def write(self,str):
- print str
+ print(str)
def prologue(self,):
print('''// Generated by gen-type-expect-tests.py
@@ -145,7 +145,7 @@ public class %s extends TestLib {
########################################################################
def usage ():
- print "Usage " + sys.argv[0] + " <-help> OutputFile File <File>..."
+ print("Usage " + sys.argv[0] + " <-help> OutputFile File <File>...")
sys.exit(1)
def open_file (arg):
@@ -154,7 +154,7 @@ def open_file (arg):
try:
file = open(sys.argv[arg], 'r')
except IOError:
- print (sys.argv[arg] + " not found")
+ print(sys.argv[arg] + " not found")
sys.exit(1)
return file
@@ -162,18 +162,18 @@ if (len (sys.argv) == 1):
usage()
for t in sys.argv:
if (t == "-help"):
- print "Builds TestTypeFactory*.java from input files, using annotations"
- print "in the input files to describe the data type to be tested."
- print "e.g. Given:"
- print "static struct {"
- print " int int_var;"
- print "} arr_struct [2] = {{1},{2}};"
- print "One would use the annotation:"
- print "// Name: arr_struct"
- print "// Value: {{1},{2}}"
- print "// Type: struct {"
- print "// Type: int int_var;"
- print "// Type: } [2]"
+ print("Builds TestTypeFactory*.java from input files, using annotations")
+ print("in the input files to describe the data type to be tested.")
+ print("e.g. Given:")
+ print("static struct {")
+ print(" int int_var;")
+ print("} arr_struct [2] = {{1},{2}};")
+ print("One would use the annotation:")
+ print("// Name: arr_struct")
+ print("// Value: {{1},{2}}")
+ print("// Type: struct {")
+ print("// Type: int int_var;")
+ print("// Type: } [2]")
usage()
elif (t.startswith("-")):
usage()
diff --git a/frysk-core/frysk/pkglibdir/funit-type-entry.c-sh b/frysk-core/frysk/pkglibdir/funit-type-entry.c-sh
index 2e7ca2e98..00270c9c7 100644
--- a/frysk-core/frysk/pkglibdir/funit-type-entry.c-sh
+++ b/frysk-core/frysk/pkglibdir/funit-type-entry.c-sh
@@ -1,4 +1,4 @@
#!/bin/sh
# main() # marker so this is know to have a main.
-python $(dirname $0)/gen-type-funit-tests.py
+python3 $(dirname $0)/gen-type-funit-tests.py
diff --git a/frysk-core/frysk/pkglibdir/gen-type-funit-tests.py b/frysk-core/frysk/pkglibdir/gen-type-funit-tests.py
index e7e1b7a50..2de6b5e3d 100644
--- a/frysk-core/frysk/pkglibdir/gen-type-funit-tests.py
+++ b/frysk-core/frysk/pkglibdir/gen-type-funit-tests.py
@@ -1,4 +1,5 @@
-#!/usr/bin/python
+#!/usr/bin/python3
+
# This file is part of the program FRYSK.
#
# Copyright 2007, 2008, Red Hat Inc.

View file

@ -1,7 +1,7 @@
diff -up frysk-0.4/frysk-common/Makefile.rules.sodwfl frysk-0.4/frysk-common/Makefile.rules
--- frysk-0.4/frysk-common/Makefile.rules.sodwfl 2010-03-24 19:58:07.000000000 -0400
+++ frysk-0.4/frysk-common/Makefile.rules 2010-03-24 21:52:51.000000000 -0400
@@ -164,16 +164,9 @@ AM_CXXFLAGS = \
--- frysk-0.4/frysk-common/Makefile.rules.sodwfl 2012-02-11 21:37:13.468000053 -0500
+++ frysk-0.4/frysk-common/Makefile.rules 2012-02-11 21:37:13.635000054 -0500
@@ -160,16 +160,9 @@ AM_CXXFLAGS = \
-I$(srcdir) \
-I$(srcdir)/../frysk-imports/include \
-I$(top_builddir) \
@ -20,7 +20,7 @@ diff -up frysk-0.4/frysk-common/Makefile.rules.sodwfl frysk-0.4/frysk-common/Mak
-fPIC \
$(ZZZ)
@@ -399,12 +392,10 @@ Runner:
@@ -395,12 +388,10 @@ Runner:
echo "#!/bin/sh" >> $@.tmp
echo "" >> $@.tmp
echo "# some pre-definitions" >> $@.tmp
@ -34,8 +34,8 @@ diff -up frysk-0.4/frysk-common/Makefile.rules.sodwfl frysk-0.4/frysk-common/Mak
echo "" >> $@.tmp
echo "# Set up classpath" >> $@.tmp
diff -up frysk-0.4/frysk-core/Makefile.am.sodwfl frysk-0.4/frysk-core/Makefile.am
--- frysk-0.4/frysk-core/Makefile.am.sodwfl 2010-03-24 22:12:26.000000000 -0400
+++ frysk-0.4/frysk-core/Makefile.am 2010-03-24 22:13:13.000000000 -0400
--- frysk-0.4/frysk-core/Makefile.am.sodwfl 2012-02-11 21:37:13.469000053 -0500
+++ frysk-0.4/frysk-core/Makefile.am 2012-02-11 21:37:57.412994059 -0500
@@ -53,11 +53,6 @@ GEN_GCJ_LDADD_LIST += ../frysk-imports/l
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-junit.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.a
@ -55,10 +55,10 @@ diff -up frysk-0.4/frysk-core/Makefile.am.sodwfl frysk-0.4/frysk-core/Makefile.a
+GEN_GCJ_LDADD_LIST += -lasm -ldw -lebl -lelf
# For TestExec.java
pkglib_PROGRAMS += frysk/pkglibdir/funit-exec-alias
noinst_PROGRAMS += frysk/pkglibdir/funit-exec-alias
diff -up frysk-0.4/frysk-gtk/Makefile.am.sodwfl frysk-0.4/frysk-gtk/Makefile.am
--- frysk-0.4/frysk-gtk/Makefile.am.sodwfl 2010-03-24 22:15:40.000000000 -0400
+++ frysk-0.4/frysk-gtk/Makefile.am 2010-03-24 22:16:36.000000000 -0400
--- frysk-0.4/frysk-gtk/Makefile.am.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-gtk/Makefile.am 2012-02-11 21:37:13.640000054 -0500
@@ -51,11 +51,6 @@ GEN_GCJ_LDADD_LIST += ../frysk-sys/libfr
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-junit.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.a
@ -80,8 +80,8 @@ diff -up frysk-0.4/frysk-gtk/Makefile.am.sodwfl frysk-0.4/frysk-gtk/Makefile.am
# Hack, need to compile this entire sub-tree with JNI.
AM_GCJFLAGS += -fjni
diff -up frysk-0.4/frysk-gui/Makefile.am.sodwfl frysk-0.4/frysk-gui/Makefile.am
--- frysk-0.4/frysk-gui/Makefile.am.sodwfl 2010-03-24 22:15:44.000000000 -0400
+++ frysk-0.4/frysk-gui/Makefile.am 2010-03-24 22:16:21.000000000 -0400
--- frysk-0.4/frysk-gui/Makefile.am.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-gui/Makefile.am 2012-02-11 21:37:13.641000054 -0500
@@ -60,11 +60,6 @@ GEN_GCJ_LDADD_LIST += ../frysk-imports/l
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-junit.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.a
@ -104,7 +104,7 @@ diff -up frysk-0.4/frysk-gui/Makefile.am.sodwfl frysk-0.4/frysk-gui/Makefile.am
#TESTS_ENVIRONMENT = ( test $$tst != TestRunner || test -n "$$DISPLAY" || exit 77 ) &&
diff -up frysk-0.4/frysk-imports/bootstrap.sh.sodwfl frysk-0.4/frysk-imports/bootstrap.sh
--- frysk-0.4/frysk-imports/bootstrap.sh.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-imports/bootstrap.sh 2010-03-24 19:58:07.000000000 -0400
+++ frysk-0.4/frysk-imports/bootstrap.sh 2012-02-11 21:37:13.642000054 -0500
@@ -51,18 +51,6 @@ FILE_LIST="\
./common/Makefile.gen.sh $FILE_LIST
@ -126,7 +126,7 @@ diff -up frysk-0.4/frysk-imports/bootstrap.sh.sodwfl frysk-0.4/frysk-imports/boo
autoconf -Werror -f
diff -up frysk-0.4/frysk-imports/configure.ac.sodwfl frysk-0.4/frysk-imports/configure.ac
--- frysk-0.4/frysk-imports/configure.ac.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-imports/configure.ac 2010-03-24 19:58:07.000000000 -0400
+++ frysk-0.4/frysk-imports/configure.ac 2012-02-11 21:37:13.643000054 -0500
@@ -61,6 +61,6 @@ AC_CONFIG_FILES([
# list of configured subdirectories so that it can be included in
# "make dist" (or the recursive "make distdir").
@ -137,7 +137,7 @@ diff -up frysk-0.4/frysk-imports/configure.ac.sodwfl frysk-0.4/frysk-imports/con
AC_OUTPUT
diff -up frysk-0.4/frysk-imports/Makefile.am.sodwfl frysk-0.4/frysk-imports/Makefile.am
--- frysk-0.4/frysk-imports/Makefile.am.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-imports/Makefile.am 2010-03-24 19:58:07.000000000 -0400
+++ frysk-0.4/frysk-imports/Makefile.am 2012-02-11 21:37:13.655000049 -0500
@@ -58,7 +58,6 @@ LIBUNWIND_ARCH_DIRS = libunwind-i386 lib
CHECK_SUBDIRS = \
jline \
@ -159,9 +159,9 @@ diff -up frysk-0.4/frysk-imports/Makefile.am.sodwfl frysk-0.4/frysk-imports/Make
GEN_GCJ_LDADD_LIST += ./libunwind-i386/src/.libs/libunwind-x86.a
GEN_GCJ_LDADD_LIST += ./libunwind-x86_64/src/.libs/libunwind-x86_64.a
diff -up frysk-0.4/frysk-imports/tests/Makefile.am.sodwfl frysk-0.4/frysk-imports/tests/Makefile.am
--- frysk-0.4/frysk-imports/tests/Makefile.am.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-imports/tests/Makefile.am 2010-03-24 19:58:07.000000000 -0400
@@ -463,7 +463,6 @@ systests_PASS_PROGRAM += frysk4217/attac
--- frysk-0.4/frysk-imports/tests/Makefile.am.sodwfl 2012-02-11 21:37:13.470000053 -0500
+++ frysk-0.4/frysk-imports/tests/Makefile.am 2012-02-11 21:37:13.671000057 -0500
@@ -462,7 +462,6 @@ systests_PASS_PROGRAM += frysk4217/attac
systests_PASS_PROGRAM += frysk4330/stopkills
# test if /proc/PID/maps has r-xp permissions for the VDSO entry
@ -169,7 +169,7 @@ diff -up frysk-0.4/frysk-imports/tests/Makefile.am.sodwfl frysk-0.4/frysk-import
systests_PASS_PROGRAM += frysk4704/vdso-permissions
# A final variable/inner class test.
@@ -486,10 +485,6 @@ frysk4742/java.sh:
@@ -485,10 +484,6 @@ frysk4742/java.sh:
\| grep Referee > $@
chmod a+x $@
@ -183,8 +183,8 @@ diff -up frysk-0.4/frysk-imports/tests/Makefile.am.sodwfl frysk-0.4/frysk-import
+frysk4796_dwfltest_CFLAGS = -I/usr/include/elfutils
systests_PASS_PROGRAM += frysk4796/dwfltest
diff -up frysk-0.4/frysk-sys/lib/dwfl/cni/DwarfDie.cxx.sodwfl frysk-0.4/frysk-sys/lib/dwfl/cni/DwarfDie.cxx
--- frysk-0.4/frysk-sys/lib/dwfl/cni/DwarfDie.cxx.sodwfl 2010-03-24 21:49:32.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/cni/DwarfDie.cxx 2010-03-24 21:49:53.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/cni/DwarfDie.cxx.sodwfl 2012-02-11 21:37:12.987000054 -0500
+++ frysk-0.4/frysk-sys/lib/dwfl/cni/DwarfDie.cxx 2012-02-11 21:37:13.676000052 -0500
@@ -36,9 +36,10 @@
// modification, you must delete this exception statement from your
// version and license this file solely under the GPL without
@ -199,8 +199,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/cni/DwarfDie.cxx.sodwfl frysk-0.4/frysk-sy
#include <alloca.h>
#include <stdlib.h>
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum.sodwfl 2010-03-24 20:13:34.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum 2010-03-24 22:08:31.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum 2012-02-11 21:37:13.678000052 -0500
@@ -42,7 +42,7 @@
# in.
@ -211,8 +211,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum.sodwfl frysk-0.4/frysk-sys
p = $1
v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum.sodwfl 2010-03-24 20:14:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum 2010-03-24 20:14:22.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum 2012-02-11 21:37:13.679000052 -0500
@@ -42,7 +42,7 @@
# in.
@ -223,8 +223,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum.sodwfl frysk-0.4/frysk-sys/li
p = $1
v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum.sodwfl 2010-03-24 20:11:25.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum 2010-03-24 20:11:49.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum 2012-02-11 21:37:13.680000052 -0500
@@ -42,7 +42,7 @@
# in.
@ -235,8 +235,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum.sodwfl frysk-0.4/frysk-sys/lib
p = $1
v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum.sodwfl 2010-03-24 20:17:00.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum 2010-03-24 20:17:24.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum 2012-02-11 21:37:13.681000052 -0500
@@ -42,7 +42,7 @@
# in.
@ -247,8 +247,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum.sodwfl frysk-0.4/frysk-sys/li
p = $1
v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum.sodwfl 2010-03-24 20:16:10.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum 2010-03-24 20:16:28.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum 2012-02-11 21:37:13.682000052 -0500
@@ -42,7 +42,7 @@
# in.
@ -259,8 +259,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum.sodwfl frysk-0.4/frysk-sys/lib
p = $1
v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum.sodwfl 2010-03-24 20:18:38.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum 2010-03-24 20:18:53.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum 2012-02-11 21:37:13.697000054 -0500
@@ -42,7 +42,7 @@
# in.
@ -271,8 +271,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum.sodwfl frysk-0.4/frysk-sys/li
p = $1
v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum.sodwfl 2010-03-24 20:08:28.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum 2010-03-24 20:09:47.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum 2012-02-11 21:37:13.698000054 -0500
@@ -42,7 +42,7 @@
# in.
@ -283,8 +283,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum.sodwfl frysk-0.4/frysk-sys/li
p = $1
v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum.sodwfl 2010-03-24 20:17:35.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum 2010-03-24 20:23:06.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum 2012-02-11 21:37:13.699000054 -0500
@@ -42,7 +42,8 @@
# in.
@ -296,8 +296,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum.sodwfl frysk-0.4/frysk-sys/lib
p = $1
v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum.sodwfl 2010-03-24 20:15:46.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum 2010-03-24 20:15:59.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum 2012-02-11 21:37:13.700000054 -0500
@@ -42,7 +42,7 @@
# in.
@ -308,8 +308,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum.sodwfl frysk-0.4/frysk-sys/li
p = $1
v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum
--- frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum.sodwfl 2010-03-24 20:11:19.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum 2010-03-24 20:12:11.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum 2012-02-11 21:37:13.702000054 -0500
@@ -42,7 +42,7 @@
# in.
@ -320,8 +320,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum.sodwfl frysk-0.4/frysk-sys/li
p = $1
v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/jni/DwarfDie.cxx.sodwfl frysk-0.4/frysk-sys/lib/dwfl/jni/DwarfDie.cxx
--- frysk-0.4/frysk-sys/lib/dwfl/jni/DwarfDie.cxx.sodwfl 2010-03-24 21:45:24.000000000 -0400
+++ frysk-0.4/frysk-sys/lib/dwfl/jni/DwarfDie.cxx 2010-03-24 21:46:01.000000000 -0400
--- frysk-0.4/frysk-sys/lib/dwfl/jni/DwarfDie.cxx.sodwfl 2012-02-11 21:37:12.989000054 -0500
+++ frysk-0.4/frysk-sys/lib/dwfl/jni/DwarfDie.cxx 2012-02-11 21:37:13.703000054 -0500
@@ -40,8 +40,8 @@
#include <stdio.h>
#include <stdlib.h>
@ -334,8 +334,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/jni/DwarfDie.cxx.sodwfl frysk-0.4/frysk-sy
#include "jni.hxx"
diff -up frysk-0.4/frysk-sys/Makefile.am.sodwfl frysk-0.4/frysk-sys/Makefile.am
--- frysk-0.4/frysk-sys/Makefile.am.sodwfl 2010-03-24 20:04:31.000000000 -0400
+++ frysk-0.4/frysk-sys/Makefile.am 2010-03-24 21:56:41.000000000 -0400
--- frysk-0.4/frysk-sys/Makefile.am.sodwfl 2012-02-11 21:37:12.939000054 -0500
+++ frysk-0.4/frysk-sys/Makefile.am 2012-02-11 21:37:13.704000054 -0500
@@ -53,11 +53,6 @@ GEN_GCJ_LDADD_LIST += ../frysk-imports/l
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-junit.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.a

View file

@ -0,0 +1,23 @@
commit b824c0a3c51aeae40ad07d2601b8b8348a5e32df
Author: Andrew Cagney <cagney@gnu.org>
Date: Fri Sep 6 12:28:24 2019 -0400
fix fsteptester indentation
make gcc happy
frysk-0.4-steptester-indentation.patch
diff --git a/frysk-core/frysk/pkglibdir/funit-rt-steptester.c b/frysk-core/frysk/pkglibdir/funit-rt-steptester.c
index ccb67d892..0effca488 100644
--- a/frysk-core/frysk/pkglibdir/funit-rt-steptester.c
+++ b/frysk-core/frysk/pkglibdir/funit-rt-steptester.c
@@ -93,7 +93,7 @@ last ()
else
--dummy; // _lineStepIfFailFinish_
- return; // _lineStepFunctionReturn_
+ return; // _lineStepFunctionReturn_
}
volatile int a;

View file

@ -0,0 +1,772 @@
commit b76503511d7689d2d0cebbe241df3789088488e0
Author: Andrew Cagney <cagney@gnu.org>
Date: Tue Apr 12 16:10:01 2016 -0400
Fix compiler warnings.
diff --git a/frysk-common/Makefile.gen.sh b/frysk-common/Makefile.gen.sh
index c83a85e..d5d7e74 100755
--- a/frysk-common/Makefile.gen.sh
+++ b/frysk-common/Makefile.gen.sh
@@ -1,8 +1,8 @@
#!/bin/sh -eu
# This file is part of the program FRYSK.
#
-# Copyright 2016, Andrew Cagney
# Copyright 2005, 2006, 2007, 2008, Red Hat Inc.
+# Copyright 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
diff --git a/frysk-common/Makefile.rules b/frysk-common/Makefile.rules
index 92e4c3d..9ba8775 100644
--- a/frysk-common/Makefile.rules
+++ b/frysk-common/Makefile.rules
@@ -321,9 +321,12 @@ SUFFIXES += .xml-in
# When compiling the test runner be sure to include the current
# directories classes.
-TestRunner.jar: TestRunner.java
+TestRunner.jar: TestRunner.java $(GEN_DIRNAME).jar
rm -f $@.tmp $*.class
- $(JAVAC) `echo $(JAVACFLAGS) | sed -e 's/-classpath /-classpath $(GEN_DIRNAME).jar:/'` $*.java
+ $(JAVAC) $(JAVACFLAGS) $(WERROR_JAVACFLAGS) \
+ $(if $(SOURCEPATH),-sourcepath $(SOURCEPATH)) \
+ -classpath $(GEN_DIRNAME).jar$(if $(CLASSPATH),:$(CLASSPATH)) \
+ $*.java
$(JAR) cf $@.tmp $*.class
rm -f $*.class
mv $@.tmp $@
@@ -522,11 +525,10 @@ SUFFIXES += .antlred .g
echo "Parsing compiler warnings from $$b..." ; \
rm -f $$t/*.antlr-fixes ; \
rm -rf $$t/classes ; mkdir -p $$t/classes ; \
- ( $(JAVAC) \
+ ( $(JAVAC) $(JAVACFLAGS) $(WERROR_JAVACFLAGS) \
-d $$t/classes \
- -warn:+semicolon \
- -sourcepath $$t:$(SOURCEPATH) \
- -classpath $(CLASSPATH) \
+ -sourcepath $$t$(if $(SOURCEPATH),:$(SOURCEPATH)) \
+ $(if $(CLASSPATH),-classpath $(CLASSPATH)) \
$$t/$$d/$$b.java \
2>&1 || true ) | ( \
cd $$t ; \
@@ -647,7 +649,10 @@ files-java.list: files.list
${GEN_DIRNAME}.jar: files-java.list $(GEN_CLASSPATH)
rm -rf $(JAVAROOT)
mkdir -p $(JAVAROOT)
- $(JAVAC) -d $(JAVAROOT) $(JAVACFLAGS) \
+ $(JAVAC) $(JAVACFLAGS) $(WERROR_JAVACFLAGS) \
+ -d $(JAVAROOT) \
+ $(if $(SOURCEPATH),-sourcepath $(SOURCEPATH)) \
+ $(if $(CLASSPATH),-classpath $(CLASSPATH)) \
@$(top_builddir)/files-java.list
cd $(JAVAROOT) ; \
find * -name '*.class' -print | sort > classes.list ; \
diff --git a/frysk-common/frysk-common.ac b/frysk-common/frysk-common.ac
index a112cfb..c6893e5 100644
--- a/frysk-common/frysk-common.ac
+++ b/frysk-common/frysk-common.ac
@@ -2,6 +2,7 @@
#
# Copyright 2005, 2006, 2007, 2008, Red Hat Inc.
# Copyright 2007 Oracle Corporation.
+# Copyright 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
@@ -75,37 +76,6 @@ fi
AM_PROG_AS
AM_PROG_GCJ
-# Check for the ECJ compiler.
-
-AC_MSG_CHECKING([ecj.jar])
-ECJ_JAR=${ECJ_JAR:-/usr/share/java/eclipse-ecj.jar}
-AC_SUBST([ECJ_JAR])
-AC_MSG_RESULT(${ECJ_JAR})
-
-
-# autoconf doesn't yet know about JAVAC, so define it ourselves.
-
-AC_LANG_DEFINE([Java], [java], [JAVA], [JAVAC], [],
-[ac_ext=java
-ac_objext=class
-ac_compile='$JAVAC $JAVACFLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
-ac_java_werror_flag=no
-])
-AC_DEFUN([AC_LANG_COMPILER(Java)], [])
-AU_DEFUN([AC_LANG_JAVAC], [AC_LANG(Java)])
-AC_LANG(Java)
-
-JAVAC='$(JAVA) -cp $(ECJ_JAR):$(CLASSPATH) org.eclipse.jdt.internal.compiler.batch.Main -1.4'
-JAVACFLAGS='-warn:+semicolon $(if $(SOURCEPATH),-sourcepath $(SOURCEPATH)) $(if $(CLASSPATH),-classpath $(CLASSPATH))'
-AC_SUBST([JAVAC])
-AC_SUBST([JAVACFLAGS])
-
-JAVA="${JAVA:-java}"
-AC_SUBST([JAVA])
-
-AC_CHECK_PROGS([JAR], [fastjar4 fastjar jar], [fastjar])
-# Check for the availablity of fig2dev
-
AC_PATH_PROG(FIG2DEV, fig2dev)
test "x$FIG2DEV" = x && AC_MSG_ERROR([no fig2dev binary is found in \$(PATH)])
@@ -169,3 +139,30 @@ AC_SUBST([lib64dir])
FRYSK_DO_ARCH32_TEST
FRYSK_WERROR
FRYSK_COVERAGE
+
+# autoconf doesn't yet know about JAVAC, so define it ourselves.
+
+AC_LANG_DEFINE([Java], [java], [JAVA], [JAVAC], [],
+[ac_ext=java
+ac_objext=class
+ac_compile='$JAVAC $JAVACFLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
+ac_java_werror_flag=no
+])
+AC_DEFUN([AC_LANG_COMPILER(Java)], [])
+AU_DEFUN([AC_LANG_JAVAC], [AC_LANG(Java)])
+AC_LANG(Java)
+
+JAVAC='javac -source 1.4'
+AS_IF([test x"$enable_werror" = xyes],
+ [WERROR_JAVACFLAGS='-Werror -Xlint:all -Xlint:-options -Xlint:-cast'],
+ [WERROR_JAVACFLAGS=])
+AC_SUBST([JAVAC])
+AC_SUBST([JAVACFLAGS])
+AC_SUBST([WERROR_JAVACFLAGS])
+
+JAVA="${JAVA:-java}"
+AC_SUBST([JAVA])
+
+AC_CHECK_PROGS([JAR], [fastjar4 fastjar jar], [fastjar])
+# Check for the availablity of fig2dev
+
diff --git a/frysk-core/frysk/debuginfo/MemoryPiece.java b/frysk-core/frysk/debuginfo/MemoryPiece.java
index 122b834..ddbccd9 100644
--- a/frysk-core/frysk/debuginfo/MemoryPiece.java
+++ b/frysk-core/frysk/debuginfo/MemoryPiece.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -131,5 +132,9 @@ public class MemoryPiece
{
return (this.memory == ((MemoryPiece)p).memory
&& this.size == ((MemoryPiece)p).size);
- }
-}
\ No newline at end of file
+ }
+
+ public int hashCode() {
+ return (int) this.memory;
+ }
+}
diff --git a/frysk-core/frysk/debuginfo/RegisterPiece.java b/frysk-core/frysk/debuginfo/RegisterPiece.java
index 376d7cf..fc3c90e 100644
--- a/frysk-core/frysk/debuginfo/RegisterPiece.java
+++ b/frysk-core/frysk/debuginfo/RegisterPiece.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -90,7 +91,11 @@ public class RegisterPiece
return ( this.size == ((RegisterPiece)p).size
&& register.equals(((RegisterPiece)p).register) );
}
-
+
+ public int hashCode() {
+ return this.register.hashCode();
+ }
+
protected void toPrint(PrintWriter writer)
{
writer.print("Register ");
diff --git a/frysk-core/frysk/debuginfo/UnavailablePiece.java b/frysk-core/frysk/debuginfo/UnavailablePiece.java
index 00bfe81..506f5ce 100644
--- a/frysk-core/frysk/debuginfo/UnavailablePiece.java
+++ b/frysk-core/frysk/debuginfo/UnavailablePiece.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -57,7 +58,11 @@ public class UnavailablePiece
{
return (this.size == ((UnavailablePiece)p).size);
}
-
+
+ public int hashCode() {
+ return (int) this.size;
+ }
+
protected Piece slice (long offset, long length)
{
return new UnavailablePiece(length);
@@ -80,4 +85,4 @@ public class UnavailablePiece
writer.print(size);
writer.print(" byte(s)");
}
-}
\ No newline at end of file
+}
diff --git a/frysk-core/frysk/ftrace/MemoryMapping.java b/frysk-core/frysk/ftrace/MemoryMapping.java
index 817c9e9..2c19268 100644
--- a/frysk-core/frysk/ftrace/MemoryMapping.java
+++ b/frysk-core/frysk/ftrace/MemoryMapping.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, 2008, Red Hat Inc.
+// Copyright 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
@@ -84,6 +85,10 @@ class MemoryMapping
&& permExecute == p.permExecute;
}
+ public int hashCode() {
+ return (int)this.addressLow;
+ }
+
public String toString()
{
return "<0x" + Long.toHexString(addressLow)
diff --git a/frysk-core/frysk/hpd/ProcData.java b/frysk-core/frysk/hpd/ProcData.java
index ad06be8..177d8ee 100644
--- a/frysk-core/frysk/hpd/ProcData.java
+++ b/frysk-core/frysk/hpd/ProcData.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, Red Hat Inc.
+// Copyright 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
@@ -83,5 +84,7 @@ class ProcData
return true;
}
-
+ public int hashCode() {
+ return id;
+ }
}
diff --git a/frysk-core/frysk/hpd/ProcTasks.java b/frysk-core/frysk/hpd/ProcTasks.java
index 1206c2e..51290bd 100644
--- a/frysk-core/frysk/hpd/ProcTasks.java
+++ b/frysk-core/frysk/hpd/ProcTasks.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, Red Hat Inc.
+// Copyright 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
@@ -150,5 +151,7 @@ class ProcTasks
return true;
}
-
+ public int hashCode() {
+ return this.proc.hashCode();
+ }
}
diff --git a/frysk-core/frysk/isa/syscalls/Syscall.java b/frysk-core/frysk/isa/syscalls/Syscall.java
index 8542e8e..22da117 100644
--- a/frysk-core/frysk/isa/syscalls/Syscall.java
+++ b/frysk-core/frysk/isa/syscalls/Syscall.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, 2007, Red Hat Inc.
+// Copyright 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
@@ -224,8 +225,9 @@ public abstract class Syscall {
case 'i':
if ((int)retVal < 0)
return "-1 ERRNO=" + (-(int)retVal);
+ else
+ return "" + retVal;
- // fall-through
default:
return "" + retVal;
}
diff --git a/frysk-core/frysk/pkglibdir/funit-complex-struct.cxx b/frysk-core/frysk/pkglibdir/funit-complex-struct.cxx
index d535ac9..32b7744 100644
--- a/frysk-core/frysk/pkglibdir/funit-complex-struct.cxx
+++ b/frysk-core/frysk/pkglibdir/funit-complex-struct.cxx
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -37,6 +38,8 @@
// version and license this file solely under the GPL without
// exception.
+#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
+
struct complexStruct {
int x;
int y;
diff --git a/frysk-core/frysk/pkglibdir/funit-simple-struct.cxx b/frysk-core/frysk/pkglibdir/funit-simple-struct.cxx
index 882ab72..98a7e0e 100644
--- a/frysk-core/frysk/pkglibdir/funit-simple-struct.cxx
+++ b/frysk-core/frysk/pkglibdir/funit-simple-struct.cxx
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -37,6 +38,8 @@
// version and license this file solely under the GPL without
// exception.
+#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
+
struct simpleStruct {
int x;
int y;
diff --git a/frysk-core/frysk/pkglibdir/hpd-c.c b/frysk-core/frysk/pkglibdir/hpd-c.c
index e66cdb8..91d194c 100644
--- a/frysk-core/frysk/pkglibdir/hpd-c.c
+++ b/frysk-core/frysk/pkglibdir/hpd-c.c
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, 2006, Red Hat Inc.
+// Copyright 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
@@ -37,6 +38,8 @@
// version and license this file solely under the GPL without
// exception.
+#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
+
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
diff --git a/frysk-core/frysk/rt/UpdatingDisplayValue.java b/frysk-core/frysk/rt/UpdatingDisplayValue.java
index 601ad6a..c4ca406 100644
--- a/frysk-core/frysk/rt/UpdatingDisplayValue.java
+++ b/frysk-core/frysk/rt/UpdatingDisplayValue.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, 2008, Red Hat Inc.
+// Copyright 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
@@ -190,6 +191,10 @@ public class UpdatingDisplayValue extends DisplayValue {
return true;
}
+ public int hashCode() {
+ return 0; /* unhashable? */
+ }
+
/**
* Disables the display, stopping all notification of changes to the
* underlying expression.
diff --git a/frysk-sys/frysk/junit/KernelVersion.java b/frysk-sys/frysk/junit/KernelVersion.java
index c79241f..4e13c65 100644
--- a/frysk-sys/frysk/junit/KernelVersion.java
+++ b/frysk-sys/frysk/junit/KernelVersion.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -154,7 +155,11 @@ public class KernelVersion
else
return false;
}
-
+
+ public int hashCode() {
+ return this.version; /* anything */
+ }
+
/**
* Tests if this kernel version is more recent than kv.
* @param kv the KernelVersion to test against.
diff --git a/frysk-sys/frysk/sys/termios/Speed.java b/frysk-sys/frysk/sys/termios/Speed.java
index e0ac0f7..a9ab62d 100644
--- a/frysk-sys/frysk/sys/termios/Speed.java
+++ b/frysk-sys/frysk/sys/termios/Speed.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, 2008, Red Hat Inc.
+// Copyright 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
@@ -56,6 +57,9 @@ public class Speed implements Comparable {
public boolean equals(Object o) {
return (o instanceof Speed) && ((Speed)o).b == b;
}
+ public int hashCode() {
+ return this.b;
+ }
public int compareTo(Object rhs) {
return this.b - ((Speed)rhs).b;
}
diff --git a/frysk-sys/lib/dwfl/ElfCommand.java b/frysk-sys/lib/dwfl/ElfCommand.java
index 129bbbd..5dac6ab 100644
--- a/frysk-sys/lib/dwfl/ElfCommand.java
+++ b/frysk-sys/lib/dwfl/ElfCommand.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, Red Hat Inc.
+// Copyright 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
@@ -89,6 +90,10 @@ public class ElfCommand
return ((ElfCommand)obj).value == this.value;
}
+
+ public int hashCode() {
+ return this.value;
+ }
protected int getValue()
{
diff --git a/frysk-sys/lib/dwfl/ElfFlags.java b/frysk-sys/lib/dwfl/ElfFlags.java
index d909d90..85a6d8f 100644
--- a/frysk-sys/lib/dwfl/ElfFlags.java
+++ b/frysk-sys/lib/dwfl/ElfFlags.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, Red Hat Inc.
+// Copyright 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
@@ -77,7 +78,11 @@ public class ElfFlags {
public boolean equals(Object obj){
return ((obj instanceof ElfFlags) && ((ElfFlags) obj).value == value);
}
-
+
+ public int hashCode() {
+ return this.value;
+ }
+
protected int getValue(){
return value;
}
diff --git a/frysk-sys/lib/dwfl/ElfKind.java b/frysk-sys/lib/dwfl/ElfKind.java
index 3d110d5..84caafa 100644
--- a/frysk-sys/lib/dwfl/ElfKind.java
+++ b/frysk-sys/lib/dwfl/ElfKind.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, Red Hat Inc.
+// Copyright 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
@@ -62,7 +63,11 @@ public class ElfKind {
return ((ElfKind)obj).value == this.value;
}
-
+
+ public int hashCode() {
+ return this.value;
+ }
+
protected int getValue(){
return this.value;
}
diff --git a/frysk-sys/lib/dwfl/ElfNhdrType.java b/frysk-sys/lib/dwfl/ElfNhdrType.java
index c15a92c..45c83cf 100644
--- a/frysk-sys/lib/dwfl/ElfNhdrType.java
+++ b/frysk-sys/lib/dwfl/ElfNhdrType.java
@@ -1,6 +1,7 @@
//This file is part of the program FRYSK.
//Copyright 2006, 2007, IBM Inc.
+//Copyright 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
@@ -89,7 +90,11 @@ public class ElfNhdrType
return ((ElfNhdrType)obj).value == this.value;
}
-
+
+ public int hashCode() {
+ return this.value;
+ }
+
public int getValue()
{
return this.value;
diff --git a/frysk-sys/lib/dwfl/ElfSymbolBinding.java b/frysk-sys/lib/dwfl/ElfSymbolBinding.java
index 17a61f1..aa2384a 100644
--- a/frysk-sys/lib/dwfl/ElfSymbolBinding.java
+++ b/frysk-sys/lib/dwfl/ElfSymbolBinding.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -88,6 +89,10 @@ public class ElfSymbolBinding
return ((ElfSymbolBinding)obj).value == this.value;
}
+ public int hashCode() {
+ return this.value;
+ }
+
/**
* Returns true if this binding is from OS-specific range.
*/
diff --git a/frysk-sys/lib/dwfl/ElfSymbolType.java b/frysk-sys/lib/dwfl/ElfSymbolType.java
index 38e40a5..99674d4 100644
--- a/frysk-sys/lib/dwfl/ElfSymbolType.java
+++ b/frysk-sys/lib/dwfl/ElfSymbolType.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -112,6 +113,10 @@ public class ElfSymbolType
return ((ElfSymbolType)obj).value == this.value;
}
+ public int hashCode() {
+ return this.value;
+ }
+
/**
* Returns true if this type is from OS-specific range.
*/
diff --git a/frysk-sys/lib/dwfl/ElfSymbolVersion.java b/frysk-sys/lib/dwfl/ElfSymbolVersion.java
index 745f959..7590de9 100644
--- a/frysk-sys/lib/dwfl/ElfSymbolVersion.java
+++ b/frysk-sys/lib/dwfl/ElfSymbolVersion.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -87,6 +88,10 @@ public abstract class ElfSymbolVersion
return this.name.equals(def.name)
&& this.base == def.base;
}
+
+ public int hashCode() {
+ return this.name.hashCode();
+ }
}
/**
@@ -123,5 +128,10 @@ public abstract class ElfSymbolVersion
&& this.filename.equals(need.filename)
&& this.weak == need.weak;
}
+
+ public int hashCode() {
+ return this.name.hashCode();
+ }
+
}
}
diff --git a/frysk-sys/lib/dwfl/ElfSymbolVisibility.java b/frysk-sys/lib/dwfl/ElfSymbolVisibility.java
index 25af18a..f2e9553 100644
--- a/frysk-sys/lib/dwfl/ElfSymbolVisibility.java
+++ b/frysk-sys/lib/dwfl/ElfSymbolVisibility.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -70,6 +71,10 @@ public class ElfSymbolVisibility
return ((ElfSymbolVisibility)obj).value == this.value;
}
+ public int hashCode() {
+ return this.value;
+ }
+
protected int getValue()
{
return this.value;
diff --git a/frysk-sys/lib/dwfl/ElfType.java b/frysk-sys/lib/dwfl/ElfType.java
index 633b2f8..56e8e9a 100644
--- a/frysk-sys/lib/dwfl/ElfType.java
+++ b/frysk-sys/lib/dwfl/ElfType.java
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, Red Hat Inc.
+// Copyright 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
@@ -89,7 +90,11 @@ public class ElfType {
return ((ElfType)obj).value == this.value;
}
-
+
+ public int hashCode() {
+ return this.value;
+ }
+
protected int getValue(){
return this.value;
}
diff --git a/frysk-sys/lib/dwfl/jni/DwarfDie.cxx b/frysk-sys/lib/dwfl/jni/DwarfDie.cxx
index 1225e26..cbb0cb1 100644
--- a/frysk-sys/lib/dwfl/jni/DwarfDie.cxx
+++ b/frysk-sys/lib/dwfl/jni/DwarfDie.cxx
@@ -435,11 +435,10 @@ lib::dwfl::DwarfDie::get_data_member_location(jnixx::env env, jlong var_die) {
Dwarf_Die *die = (Dwarf_Die*) var_die;
Dwarf_Attribute loc_attr;
Dwarf_Op *fb_expr;
- int code;
size_t fb_len;
if (dwarf_attr_integrate (die, DW_AT_data_member_location, &loc_attr) >= 0) {
- code = dwarf_getlocation (&loc_attr, &fb_expr, &fb_len);
+ 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/DwflModule.cxx b/frysk-sys/lib/dwfl/jni/DwflModule.cxx
index c525350..d645edf 100644
--- a/frysk-sys/lib/dwfl/jni/DwflModule.cxx
+++ b/frysk-sys/lib/dwfl/jni/DwflModule.cxx
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, 2008, Red Hat Inc.
+// Copyright 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
@@ -152,7 +153,6 @@ lib::dwfl::DwflModule::getPLTEntries(jnixx::env env,
return;
bool have_dynamic = false;
- ::GElf_Off off_dynamic;
for (GElf_Half i = 0; i < ehdr.e_phnum; ++i) {
::GElf_Phdr ph;
if (::gelf_getphdr (elf, i, &ph) == NULL)
@@ -160,7 +160,6 @@ lib::dwfl::DwflModule::getPLTEntries(jnixx::env env,
if (ph.p_type == PT_DYNAMIC)
{
have_dynamic = true;
- off_dynamic = ph.p_offset;
break;
}
}
diff --git a/frysk-sys/lib/dwfl/jni/Elf.cxx b/frysk-sys/lib/dwfl/jni/Elf.cxx
index 82aaeb7..cc16245 100644
--- a/frysk-sys/lib/dwfl/jni/Elf.cxx
+++ b/frysk-sys/lib/dwfl/jni/Elf.cxx
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2005, 2007, 2008, Red Hat Inc.
+// Copyright 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
@@ -284,7 +285,7 @@ jlong
lib::dwfl::Elf::elf_getshnum(jnixx::env env) {
size_t count;
/* XXX: What to do if this fails */
- ::elf_getshnum(ELF_POINTER, &count);
+ ::elf_getshdrnum(ELF_POINTER, &count);
return count;
}
@@ -292,7 +293,7 @@ jlong
lib::dwfl::Elf::elf_getshstrndx(jnixx::env env) {
size_t index;
/* XXX: What to do if this fails */
- ::elf_getshstrndx(ELF_POINTER, &index);
+ ::elf_getshdrstrndx(ELF_POINTER, &index);
return index;
}
diff --git a/frysk-sys/lib/unwind/jni/UnwindH.hxx b/frysk-sys/lib/unwind/jni/UnwindH.hxx
index 5efc541..509cc92 100644
--- a/frysk-sys/lib/unwind/jni/UnwindH.hxx
+++ b/frysk-sys/lib/unwind/jni/UnwindH.hxx
@@ -1,6 +1,7 @@
// This file is part of the program FRYSK.
//
// Copyright 2007, 2008, Red Hat Inc.
+// Copyright 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
@@ -512,7 +513,7 @@ get_eh_frame_hdr_addr(jnixx::env env, unw_proc_info_t *pi,
Elf_Data *debug_frame_data = NULL;
size_t shstrndx;
- if (elf_getshstrndx (elf, &shstrndx) >= 0) {
+ if (elf_getshdrstrndx (elf, &shstrndx) >= 0) {
Elf_Scn *scn = NULL;
while ((scn = elf_nextscn (elf, scn)) != NULL
&& debug_frame_data == NULL) {

View file

@ -0,0 +1,51 @@
diff --git a/frysk-sys/lib/unwind/jni/UnwindH.hxx b/frysk-sys/lib/unwind/jni/UnwindH.hxx
index 76e57b7..5efc541 100644
--- a/frysk-sys/lib/unwind/jni/UnwindH.hxx
+++ b/frysk-sys/lib/unwind/jni/UnwindH.hxx
@@ -63,9 +63,14 @@
using namespace java::lang;
using namespace lib::unwind;
+struct jni_cursor {
+ unw_cursor_t cursor;
+ jobject addressSpace;
+};
+
#define UNW_PROC_INFO ((unw_proc_info_t*)unwProcInfo)
#define UNW_ADDRESS_SPACE ((unw_addr_space_t)unwAddressSpace)
-#define UNW_CURSOR ((unw_cursor_t*)unwCursor)
+#define UNW_CURSOR (&((jni_cursor*)unwCursor)->cursor)
#define FINE env, (GetFine(env))
#ifndef MAX_VDSO_SIZE
@@ -232,19 +237,23 @@ TARGET::createCursor(jnixx::env env,
AddressSpace addressSpace,
jlong unwAddressSpace) {
logf(FINE, "createCursor from address-space %lx", (long) UNW_ADDRESS_SPACE);
- jlong unwCursor = (jlong)::malloc(sizeof(::unw_cursor_t));
+ jni_cursor *cursor = new(jni_cursor);
// XXX: Need to zero out the cursor, as unw_init_remote doesn't seem
// to do it.
- memset(UNW_CURSOR, 0, sizeof(*UNW_CURSOR));
- unw_init_remote(UNW_CURSOR, UNW_ADDRESS_SPACE, addressSpace._object);
- logf(FINE, "createCursor at %lx", (long) UNW_CURSOR);
- return (jlong) UNW_CURSOR;
+ memset(cursor, 0, sizeof(jni_cursor));
+ // Make global as object is used across JNI calls
+ cursor->addressSpace = env.NewGlobalRef(addressSpace._object);
+ unw_init_remote(&cursor->cursor, UNW_ADDRESS_SPACE, cursor->addressSpace);
+ logf(FINE, "createCursor at %p", cursor);
+ return (jlong)cursor;
}
void
TARGET::destroyCursor(jnixx::env env, jlong unwCursor) {
- logf(FINE, "destroyCursor at %lx", (long) UNW_CURSOR);
- ::free(UNW_CURSOR);
+ jni_cursor *cursor = (jni_cursor*)unwCursor;
+ logf(FINE, "destroyCursor at %p", cursor);
+ env.DeleteGlobalRef(cursor->addressSpace);
+ ::free(cursor);
}
jlong

View file

@ -0,0 +1,192 @@
commit 1daec7b0b7cf0f30dc974351af5e55c3e8190370
Author: Andrew Cagney <cagney@gnu.org>
Date: Tue Apr 12 20:02:31 2016 -0400
Use installed antlr, don't bundle antlr.jar
Patch: frysk-0.4-use-installed-antlr.jar
diff --git a/frysk-common/Makefile.gen.sh b/frysk-common/Makefile.gen.sh
index 9829184..6213a7e 100755
--- a/frysk-common/Makefile.gen.sh
+++ b/frysk-common/Makefile.gen.sh
@@ -1,6 +1,7 @@
#!/bin/sh -eu
# This file is part of the program FRYSK.
#
+# Copyright 2016, Andrew Cagney
# Copyright 2005, 2006, 2007, 2008, Red Hat Inc.
#
# FRYSK is free software; you can redistribute it and/or modify it
@@ -430,7 +431,6 @@ do
echo ""
print_header "... $jar"
echo ${B}_JAR = @${B}_JAR@
- print_jar_rule ${b} ${B}
done
@@ -509,7 +509,7 @@ for suffix in .java .java-sh .mkenum .shenum .java-in ; do
${name}: Makefile
mkdir -p ${d}
echo "#!/bin/sh" >> ${name}.tmp
- echo exec /usr/bin/java -cp \"\$(javadir)/*\" ${name} \"\\\$\$@\" >> ${name}.tmp
+ echo exec /usr/bin/java -cp \"\$(javadir)/*\$(INSTALLED_CLASSPATH)\" ${name} \"\\\$\$@\" >> ${name}.tmp
chmod a+x ${name}.tmp
mv ${name}.tmp ${name}
EOF
diff --git a/frysk-common/Makefile.rules b/frysk-common/Makefile.rules
index fcc807a..84ee611 100644
--- a/frysk-common/Makefile.rules
+++ b/frysk-common/Makefile.rules
@@ -2,6 +2,7 @@
#
# Copyright 2005, 2006, 2007, 2008, Red Hat Inc.
# Copyright 2007 Oracle Corporation.
+# Copyright 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
@@ -139,6 +140,7 @@ ACLOCAL_AMFLAGS = -I common/m4
SOURCEPATH = $(subst $(space),:,$(strip $(GEN_SOURCEPATH)))
CLASSPATH = $(subst $(space),:,$(strip $(GEN_CLASSPATH)))
+INSTALLED_CLASSPATH = $(patsubst %,:%,$(subst $(space),:,$(filter /%.jar,$(GEN_CLASSPATH))))
AM_CXXFLAGS = \
-I$(srcdir) \
diff --git a/frysk-core/Makefile.am b/frysk-core/Makefile.am
index 3b0a09d..fbe11ef 100644
--- a/frysk-core/Makefile.am
+++ b/frysk-core/Makefile.am
@@ -1,6 +1,7 @@
# This file is part of the program FRYSK.
#
# Copyright 2005, 2007, 2008, Red Hat Inc.
+# Copyright 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
@@ -43,7 +44,7 @@ include Makefile.gen
GEN_CLASSPATH += ../frysk-sys/frysk-sys.jar
GEN_CLASSPATH += ../frysk-imports/jline.jar
-GEN_CLASSPATH += ../frysk-imports/antlr.jar
+GEN_CLASSPATH += $(ANTLR_JAR)
GEN_CLASSPATH += ../frysk-imports/junit.jar
GEN_CLASSPATH += ../frysk-imports/getopt.jar
diff --git a/frysk-core/bootstrap.sh b/frysk-core/bootstrap.sh
index 03c07ef..4ed9a1c 100755
--- a/frysk-core/bootstrap.sh
+++ b/frysk-core/bootstrap.sh
@@ -2,6 +2,7 @@
# This file is part of the program FRYSK.
#
# Copyright 2005, 2006, 2007, Red Hat Inc.
+# Copyright 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
@@ -42,7 +43,7 @@ set -e
# Generate everything (always run with --add-missing).
-sh -eu ./common/Makefile.gen.sh frysk prog
+sh -eu ./common/Makefile.gen.sh frysk prog ANTLR_JAR
echo "Running aclocal ..."
aclocal -I common/m4
diff --git a/frysk-core/configure.ac b/frysk-core/configure.ac
index d92c4f4..7abf364 100644
--- a/frysk-core/configure.ac
+++ b/frysk-core/configure.ac
@@ -1,6 +1,7 @@
# This file is part of the program FRYSK.
#
# Copyright 2005, 2007, Red Hat Inc.
+# Copyright 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
@@ -45,6 +46,7 @@ AC_INIT(frysk, [FRYSK_VERSION])
m4_include([common/frysk-common.ac])
AM_INIT_AUTOMAKE([subdir-objects foreign no-installinfo no-exeext no-dist])
+AC_FIND_FILE([antlr.jar], [/usr/share/java], ANTLR_JAR)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
diff --git a/frysk-imports/bootstrap.sh b/frysk-imports/bootstrap.sh
index 83edd9b..87ddd6b 100755
--- a/frysk-imports/bootstrap.sh
+++ b/frysk-imports/bootstrap.sh
@@ -2,6 +2,7 @@
# This file is part of the program FRYSK.
#
# Copyright 2005, 2006, 2007, 2008, Red Hat Inc.
+# Copyright 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
@@ -42,7 +43,6 @@ set -e
FILE_LIST="\
junit/junit.jar \
- ANTLR_JAR \
jline/jline.jar \
getopt/getopt.jar \
"
@@ -50,12 +50,6 @@ FILE_LIST="\
./common/Makefile.gen.sh $FILE_LIST
(
- cd antlr
- echo "Running autoconf ... for antlr"
- autoconf -Werror -f
-)
-
-(
cd libunwind
mkdir -p config
echo "Running aclocal ... for libunwind"
diff --git a/frysk-imports/configure.ac b/frysk-imports/configure.ac
index d22a250..df4ad25 100644
--- a/frysk-imports/configure.ac
+++ b/frysk-imports/configure.ac
@@ -1,6 +1,7 @@
# This file is part of the program FRYSK.
#
# Copyright 2005, 2006, 2007, 2008, Red Hat Inc.
+# Copyright 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
@@ -46,7 +47,6 @@ m4_include([common/frysk-common.ac])
AM_INIT_AUTOMAKE([subdir-objects foreign no-installinfo no-exeext no-dist])
-AC_FIND_FILE([antlr.jar], [/usr/share/java /usr/share/frysk/java], ANTLR_JAR)
AC_FIND_FILE([libaudit.h], [/usr/include/], LIBAUDIT_H)
AC_CONFIG_FILES([
diff --git a/frysk-sys/Makefile.am b/frysk-sys/Makefile.am
index d121507..7465edf 100644
--- a/frysk-sys/Makefile.am
+++ b/frysk-sys/Makefile.am
@@ -1,6 +1,7 @@
# This file is part of the program FRYSK.
#
# Copyright 2005, 2007, 2008, Red Hat Inc.
+# Copyright 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
@@ -44,7 +45,6 @@ include Makefile.gen
GEN_SOURCEPATH += ../frysk-imports/
GEN_SOURCEPATH += $(top_srcdir)/../frysk-imports/
GEN_CLASSPATH += ../frysk-imports/jline.jar
-GEN_CLASSPATH += ../frysk-imports/antlr.jar
GEN_CLASSPATH += ../frysk-imports/junit.jar
GEN_CLASSPATH += ../frysk-imports/getopt.jar

View file

@ -0,0 +1,172 @@
commit 174732c1b6329e7cc61dcdcfdc47ab9aee2e37e3
Author: Andrew Cagney <cagney@gnu.org>
Date: Wed Apr 13 18:17:17 2016 -0400
Use installed jline, don't bundle jline.jar
Patch: frysk-0.4-use-installed-jline.patch
diff --git a/frysk-core/Makefile.am b/frysk-core/Makefile.am
index 7938aa8..94deefa 100644
--- a/frysk-core/Makefile.am
+++ b/frysk-core/Makefile.am
@@ -43,7 +43,7 @@ include common/Makefile.rules
include Makefile.gen
GEN_CLASSPATH += ../frysk-sys/frysk-sys.jar
-GEN_CLASSPATH += ../frysk-imports/jline.jar
+GEN_CLASSPATH += $(JLINE_JAR)
GEN_CLASSPATH += $(ANTLR_JAR)
GEN_CLASSPATH += $(JUNIT_JAR)
GEN_CLASSPATH += ../frysk-imports/getopt.jar
diff --git a/frysk-core/bootstrap.sh b/frysk-core/bootstrap.sh
index ce80e1c..ffb62a8 100755
--- a/frysk-core/bootstrap.sh
+++ b/frysk-core/bootstrap.sh
@@ -43,7 +43,7 @@ set -e
# Generate everything (always run with --add-missing).
-sh -eu ./common/Makefile.gen.sh frysk prog ANTLR_JAR JUNIT_JAR
+sh -eu ./common/Makefile.gen.sh frysk prog ANTLR_JAR JUNIT_JAR JLINE_JAR
echo "Running aclocal ..."
aclocal -I common/m4
diff --git a/frysk-core/configure.ac b/frysk-core/configure.ac
index 910dd0c..065bc52 100644
--- a/frysk-core/configure.ac
+++ b/frysk-core/configure.ac
@@ -48,6 +48,7 @@ m4_include([common/frysk-common.ac])
AM_INIT_AUTOMAKE([subdir-objects foreign no-installinfo no-exeext no-dist])
AC_FIND_FILE([antlr.jar], [/usr/share/java], ANTLR_JAR)
AC_FIND_FILE([junit.jar], [/usr/share/java], JUNIT_JAR)
+AC_FIND_FILE([jline-1.0.jar], [/usr/lib/java/jline1], JLINE_JAR)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
diff --git a/frysk-core/frysk/util/PtyTerminal.java b/frysk-core/frysk/util/PtyTerminal.java
index 2d6f0d9..23bb95a 100644
--- a/frysk-core/frysk/util/PtyTerminal.java
+++ b/frysk-core/frysk/util/PtyTerminal.java
@@ -44,6 +44,7 @@ import java.io.InputStream;
import java.io.IOException;
import jline.Terminal;
+import jline.UnixTerminal;
import frysk.sys.FileDescriptor;
import frysk.sys.Size;
@@ -53,7 +54,7 @@ import frysk.sys.termios.Termios;
/** Class that implements the jline Terminal abstract class using
- * frysk.sys.termios calls. This copies jline.PtyTerminal pretty closely.
+ * frysk.sys.termios calls. This copies UnixTerminal pretty closely.
*/
public class PtyTerminal
extends Terminal
@@ -156,19 +157,19 @@ public class PtyTerminal
// in Unix terminals, arrow keys are represented by
// a sequence of 3 characters. E.g., the up arrow
// key yields 27, 91, 68
- if (c == jline.PtyTerminal.ARROW_START)
+ if (c == UnixTerminal.ARROW_START)
{
c = readCharacter (in);
- if (c == jline.PtyTerminal.ARROW_PREFIX)
+ if (c == UnixTerminal.ARROW_PREFIX)
{
c = readCharacter (in);
- if (c == jline.PtyTerminal.ARROW_UP)
+ if (c == UnixTerminal.ARROW_UP)
return CTRL_P;
- else if (c == jline.PtyTerminal.ARROW_DOWN)
+ else if (c == UnixTerminal.ARROW_DOWN)
return CTRL_N;
- else if (c == jline.PtyTerminal.ARROW_LEFT)
+ else if (c == UnixTerminal.ARROW_LEFT)
return CTRL_B;
- else if (c == jline.PtyTerminal.ARROW_RIGHT)
+ else if (c == UnixTerminal.ARROW_RIGHT)
return CTRL_F;
}
}
@@ -185,6 +186,23 @@ public class PtyTerminal
return false;
}
+ public boolean isEchoEnabled() {
+ final Termios termios = new Termios(fd);
+ return termios.get(Local.ECHO_INPUT);
+ }
+
+ public void disableEcho() {
+ final Termios termios = new Termios(fd);
+ termios.set(Local.ECHO_INPUT, false);
+ termios.set(fd);
+ }
+
+ public void enableEcho() {
+ final Termios termios = new Termios(fd);
+ termios.set(Local.ECHO_INPUT, true);
+ termios.set(fd);
+ }
+
/**
* Returns the value of "stty size" width param.
*/
@@ -202,4 +220,4 @@ public class PtyTerminal
Size size = fd.getSize();
return size.getColumns();
}
-}
\ No newline at end of file
+}
diff --git a/frysk-imports/Makefile.am b/frysk-imports/Makefile.am
index c09f9cf..3066eeb 100644
--- a/frysk-imports/Makefile.am
+++ b/frysk-imports/Makefile.am
@@ -57,7 +57,6 @@ LIBUNWIND_ARCH_DIRS = libunwind-i386 libunwind-x86_64 libunwind-ppc32 libunwind-
# compiled with UNW_REMOTE_ONLY and so wouldn't be running the normal
# tests.
CHECK_SUBDIRS = \
- jline \
getopt \
$(LIBUNWIND_DIR)
diff --git a/frysk-imports/bootstrap.sh b/frysk-imports/bootstrap.sh
index 9b878e5..cb0c0a5 100755
--- a/frysk-imports/bootstrap.sh
+++ b/frysk-imports/bootstrap.sh
@@ -42,7 +42,6 @@
set -e
FILE_LIST="\
- jline/jline.jar \
getopt/getopt.jar \
"
diff --git a/frysk-imports/configure.ac b/frysk-imports/configure.ac
index 2652f47..4c4f209 100644
--- a/frysk-imports/configure.ac
+++ b/frysk-imports/configure.ac
@@ -51,7 +51,6 @@ AC_FIND_FILE([libaudit.h], [/usr/include/], LIBAUDIT_H)
AC_CONFIG_FILES([
Makefile
- jline/Makefile
getopt/Makefile])
# Even though "libunwind" is not built, it is still included in the
diff --git a/frysk-sys/Makefile.am b/frysk-sys/Makefile.am
index d5ab9bc..c0eda26 100644
--- a/frysk-sys/Makefile.am
+++ b/frysk-sys/Makefile.am
@@ -44,7 +44,6 @@ include Makefile.gen
GEN_SOURCEPATH += ../frysk-imports/
GEN_SOURCEPATH += $(top_srcdir)/../frysk-imports/
-GEN_CLASSPATH += ../frysk-imports/jline.jar
GEN_CLASSPATH += ../frysk-imports/getopt.jar
GEN_CLASSPATH += $(JUNIT_JAR)

View file

@ -0,0 +1,290 @@
commit 312b37c31d06ffb54bc3a174badf9daa6e781a14
Author: Andrew Cagney <cagney@gnu.org>
Date: Wed Apr 13 09:52:58 2016 -0400
Use installed junit, don't bundle junit.jar.
Patch: frysk-0.4-use-installed-junit.patch
diff --git a/frysk-common/Makefile.gen.sh b/frysk-common/Makefile.gen.sh
index 6213a7e..c83a85e 100755
--- a/frysk-common/Makefile.gen.sh
+++ b/frysk-common/Makefile.gen.sh
@@ -509,7 +509,7 @@ for suffix in .java .java-sh .mkenum .shenum .java-in ; do
${name}: Makefile
mkdir -p ${d}
echo "#!/bin/sh" >> ${name}.tmp
- echo exec /usr/bin/java -cp \"\$(javadir)/*\$(INSTALLED_CLASSPATH)\" ${name} \"\\\$\$@\" >> ${name}.tmp
+ echo exec /usr/bin/java -cp \"\$(INSTALLED_CLASSPATH)\" ${name} \"\\\$\$@\" >> ${name}.tmp
chmod a+x ${name}.tmp
mv ${name}.tmp ${name}
EOF
diff --git a/frysk-common/Makefile.rules b/frysk-common/Makefile.rules
index 84ee611..92e4c3d 100644
--- a/frysk-common/Makefile.rules
+++ b/frysk-common/Makefile.rules
@@ -140,7 +140,7 @@ ACLOCAL_AMFLAGS = -I common/m4
SOURCEPATH = $(subst $(space),:,$(strip $(GEN_SOURCEPATH)))
CLASSPATH = $(subst $(space),:,$(strip $(GEN_CLASSPATH)))
-INSTALLED_CLASSPATH = $(patsubst %,:%,$(subst $(space),:,$(filter /%.jar,$(GEN_CLASSPATH))))
+INSTALLED_CLASSPATH = $(subst $(space),:,$(javadir)/* $(filter /%.jar,$(GEN_CLASSPATH)))
AM_CXXFLAGS = \
-I$(srcdir) \
@@ -499,7 +499,7 @@ SUFFIXES += .antlred .g
mv $$gen $$t/$$b.gen ; \
i=@abs_srcdir@/$$d/$$b.sed ; \
o=$$t/$$b.sed ; \
- if test -r $$i ; then \
+ if test -r $$i ; then \
cp $$i $$o.sed ; \
else \
cp /dev/null $$o ; \
@@ -536,7 +536,7 @@ SUFFIXES += .antlred .g
for fix in $$t/*.antlr-fixes ; do \
b=`basename $$fix .antlr-fixes` ; \
test -r "$$t/$$b.sed" || continue ; \
- sort -n $$t/$$b.sed $$fix | uniq > $$t/$$b.tmp ; \
+ sort -n $$t/$$b.sed $$fix | uniq > $$t/$$b.tmp ; \
if ( set -x ; cmp -s $$t/$$b.tmp $$t/$$b.sed ) ; then \
echo "***" ; \
echo "*** $$t/$$b.sed already contains all fixes!" ; \
@@ -545,7 +545,7 @@ SUFFIXES += .antlred .g
continue ; \
fi ; \
mv -f $$t/$$b.tmp $$t/$$b.sed ; \
- edits=true ; \
+ edits=true ; \
done ; \
done ; \
done || true
@@ -599,7 +599,7 @@ SUFFIXES += .fig .jpg .pdf .eps .gif .txt
clean-local: clean-local-po
.PHONY: clean-local-po
clean-local-po:
- find $(GEN_DIRS) -name '*.Po' -exec cp /dev/null \{\} \;
+ test "x$(GEN_DIRS)" == x || find $(GEN_DIRS) -name '*.Po' -exec cp /dev/null \{\} \;
# Remove any directories, why isn't this part of automake?
@@ -662,18 +662,16 @@ ${GEN_DIRNAME}.jar: files-java.list $(GEN_CLASSPATH)
check-local: checked-for-import-junit-framework
.PHONY: checked-for-import-junit-framework
checked-for-import-junit-framework: $(if $(GEN_DIRS),$(GEN_DIRNAME).jar)
- @echo "" ; \
- if for dir in $(GEN_DIRS) ; do \
+ @if test "x$(GEN_DIRS)" != x && for dir in $(GEN_DIRS) ; do \
find $(srcdir)/$$dir ./$$dir \
-type f -name '[a-zA-Z]*.java' -print \
- -o -name inua -prune \
- -o -name junit -prune ; \
+ -o -name inua -prune ; \
done | xargs -r grep -H -n -e 'import *junit\.framework' ; \
then \
- echo "FAIL: code uses frysk.junit" ; \
+ echo "FAIL: code only uses frysk.junit" ; \
exit 1 ; \
else \
- echo "PASS: code uses frysk.junit" ; \
+ echo "PASS: code only uses frysk.junit" ; \
fi
# Check that everything is calling fail() with a parameter.
@@ -681,7 +679,7 @@ checked-for-import-junit-framework: $(if $(GEN_DIRS),$(GEN_DIRNAME).jar)
check-local: checked-for-parameterless-junit-fail
.PHONY: checked-for-parameterless-junit-fail
checked-for-parameterless-junit-fail: $(if $(GEN_DIRS),$(GEN_DIRNAME).jar)
- @if for dir in $(GEN_DIRS) ; do \
+ @if test "x$(GEN_DIRS)" != x && for dir in $(GEN_DIRS) ; do \
find $(srcdir)/$$dir ./$$dir \
-type f -name '[a-zA-Z]*.java' -print \
-o -name inua -prune \
@@ -699,7 +697,7 @@ checked-for-parameterless-junit-fail: $(if $(GEN_DIRS),$(GEN_DIRNAME).jar)
check-local: checked-for-null-equals
.PHONY: checked-for-null-equals
checked-for-null-equals: $(if $(GEN_DIRS),$(GEN_DIRNAME).jar)
- @if for dir in $(GEN_DIRS) ; do \
+ @if test "x$(GEN_DIRS)" != x && for dir in $(GEN_DIRS) ; do \
find $(srcdir)/$$dir \
-type f -name '[a-zA-Z]*.java' -print \
-o -type f -name '[a-zA-Z]*.cxx' -print \
@@ -720,7 +718,7 @@ checked-for-null-equals: $(if $(GEN_DIRS),$(GEN_DIRNAME).jar)
check-local: checked-for-at-author
.PHONY: checked-for-at-author
checked-for-at-author: $(if $(GEN_DIRS),$(GEN_DIRNAME).jar)
- @if for dir in $(GEN_DIRS) ; do \
+ @if test "x$(GEN_DIRS)" != x && for dir in $(GEN_DIRS) ; do \
find $(srcdir)/$$dir \
-type f -name '[a-zA-Z]*.java' -print \
-o -name inua -prune \
@@ -737,7 +735,7 @@ checked-for-at-author: $(if $(GEN_DIRS),$(GEN_DIRNAME).jar)
check-local: checked-for-eclipse-residue
.PHONY: checked-for-eclipse-residue
checked-for-eclipse-residue: $(if $(GEN_DIRS),$(GEN_DIRNAME).jar)
- @if for dir in $(GEN_DIRS) ; do \
+ @if test "x$(GEN_DIRS)" != x && for dir in $(GEN_DIRS) ; do \
find $(srcdir)/$$dir \
-type f -name '[a-zA-Z]*.java' -print \
-o -name inua -prune \
diff --git a/frysk-common/frysk-common.ac b/frysk-common/frysk-common.ac
index 511c4fc..a112cfb 100644
--- a/frysk-common/frysk-common.ac
+++ b/frysk-common/frysk-common.ac
@@ -96,7 +96,7 @@ AU_DEFUN([AC_LANG_JAVAC], [AC_LANG(Java)])
AC_LANG(Java)
JAVAC='$(JAVA) -cp $(ECJ_JAR):$(CLASSPATH) org.eclipse.jdt.internal.compiler.batch.Main -1.4'
-JAVACFLAGS='-warn:+semicolon -sourcepath $(SOURCEPATH) -classpath $(CLASSPATH)'
+JAVACFLAGS='-warn:+semicolon $(if $(SOURCEPATH),-sourcepath $(SOURCEPATH)) $(if $(CLASSPATH),-classpath $(CLASSPATH))'
AC_SUBST([JAVAC])
AC_SUBST([JAVACFLAGS])
diff --git a/frysk-core/Makefile.am b/frysk-core/Makefile.am
index fbe11ef..7938aa8 100644
--- a/frysk-core/Makefile.am
+++ b/frysk-core/Makefile.am
@@ -45,7 +45,7 @@ include Makefile.gen
GEN_CLASSPATH += ../frysk-sys/frysk-sys.jar
GEN_CLASSPATH += ../frysk-imports/jline.jar
GEN_CLASSPATH += $(ANTLR_JAR)
-GEN_CLASSPATH += ../frysk-imports/junit.jar
+GEN_CLASSPATH += $(JUNIT_JAR)
GEN_CLASSPATH += ../frysk-imports/getopt.jar
# For TestExec.java
diff --git a/frysk-core/bootstrap.sh b/frysk-core/bootstrap.sh
index 4ed9a1c..ce80e1c 100755
--- a/frysk-core/bootstrap.sh
+++ b/frysk-core/bootstrap.sh
@@ -43,7 +43,7 @@ set -e
# Generate everything (always run with --add-missing).
-sh -eu ./common/Makefile.gen.sh frysk prog ANTLR_JAR
+sh -eu ./common/Makefile.gen.sh frysk prog ANTLR_JAR JUNIT_JAR
echo "Running aclocal ..."
aclocal -I common/m4
diff --git a/frysk-core/configure.ac b/frysk-core/configure.ac
index 7abf364..910dd0c 100644
--- a/frysk-core/configure.ac
+++ b/frysk-core/configure.ac
@@ -47,6 +47,7 @@ m4_include([common/frysk-common.ac])
AM_INIT_AUTOMAKE([subdir-objects foreign no-installinfo no-exeext no-dist])
AC_FIND_FILE([antlr.jar], [/usr/share/java], ANTLR_JAR)
+AC_FIND_FILE([junit.jar], [/usr/share/java], JUNIT_JAR)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
diff --git a/frysk-imports/Makefile.am b/frysk-imports/Makefile.am
index c94af36..c09f9cf 100644
--- a/frysk-imports/Makefile.am
+++ b/frysk-imports/Makefile.am
@@ -1,6 +1,7 @@
# This file is part of the program FRYSK.
#
# Copyright 2005, 2006, 2007, 2008, Red Hat Inc.
+# Copyright 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
@@ -57,7 +58,6 @@ LIBUNWIND_ARCH_DIRS = libunwind-i386 libunwind-x86_64 libunwind-ppc32 libunwind-
# tests.
CHECK_SUBDIRS = \
jline \
- junit \
getopt \
$(LIBUNWIND_DIR)
@@ -81,16 +81,6 @@ uninstall-info-recursive \
uninstall-recursive: SUBDIRS =
GEN_CLASSPATH += getopt.jar
-GEN_CLASSPATH += junit.jar
-GEN_GCJ_LDADD_LIST += libfrysk-getopt.a
-GEN_GCJ_LDADD_LIST += libfrysk-junit.a
-GEN_GCJ_LDADD_LIST += -lstdc++
-GEN_GCJ_LDADD_LIST += ./libunwind-i386/src/.libs/libunwind-x86.a
-GEN_GCJ_LDADD_LIST += ./libunwind-x86_64/src/.libs/libunwind-x86_64.a
-GEN_GCJ_LDADD_LIST += ./libunwind-ppc32/src/.libs/libunwind-ppc32.a
-GEN_GCJ_LDADD_LIST += ./libunwind-ppc64/src/.libs/libunwind-ppc64.a
-# For auding of system calls.
-GEN_GCJ_LDADD_LIST += -laudit
# Need to get this into the distribution
noinst_HEADERS = \
diff --git a/frysk-imports/bootstrap.sh b/frysk-imports/bootstrap.sh
index 87ddd6b..9b878e5 100755
--- a/frysk-imports/bootstrap.sh
+++ b/frysk-imports/bootstrap.sh
@@ -42,7 +42,6 @@
set -e
FILE_LIST="\
- junit/junit.jar \
jline/jline.jar \
getopt/getopt.jar \
"
diff --git a/frysk-imports/configure.ac b/frysk-imports/configure.ac
index df4ad25..2652f47 100644
--- a/frysk-imports/configure.ac
+++ b/frysk-imports/configure.ac
@@ -52,8 +52,7 @@ AC_FIND_FILE([libaudit.h], [/usr/include/], LIBAUDIT_H)
AC_CONFIG_FILES([
Makefile
jline/Makefile
- getopt/Makefile
- junit/Makefile])
+ getopt/Makefile])
# Even though "libunwind" is not built, it is still included in the
# list of configured subdirectories so that it can be included in
diff --git a/frysk-sys/Makefile.am b/frysk-sys/Makefile.am
index 7465edf..d5ab9bc 100644
--- a/frysk-sys/Makefile.am
+++ b/frysk-sys/Makefile.am
@@ -45,8 +45,8 @@ include Makefile.gen
GEN_SOURCEPATH += ../frysk-imports/
GEN_SOURCEPATH += $(top_srcdir)/../frysk-imports/
GEN_CLASSPATH += ../frysk-imports/jline.jar
-GEN_CLASSPATH += ../frysk-imports/junit.jar
GEN_CLASSPATH += ../frysk-imports/getopt.jar
+GEN_CLASSPATH += $(JUNIT_JAR)
# Force a few dependencies
lib/unwind/cni/Unwind%.cxx: lib/unwind/Unwind%.java lib/unwind/cni/UnwindH.hxx
diff --git a/frysk-sys/bootstrap.sh b/frysk-sys/bootstrap.sh
index a3c1eb6..076cb94 100755
--- a/frysk-sys/bootstrap.sh
+++ b/frysk-sys/bootstrap.sh
@@ -2,6 +2,7 @@
# This file is part of the program FRYSK.
#
# Copyright 2005, 2006, 2007, 2008, Red Hat Inc.
+# Copyright 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
@@ -45,7 +46,7 @@ FILE_LIST="frysk \
inua \
lib"
-./common/Makefile.gen.sh $FILE_LIST
+./common/Makefile.gen.sh $FILE_LIST JUNIT_JAR
# Generate everything (always run with --add-missing).
diff --git a/frysk-sys/configure.ac b/frysk-sys/configure.ac
index d92c4f4..675ee80 100644
--- a/frysk-sys/configure.ac
+++ b/frysk-sys/configure.ac
@@ -45,6 +45,7 @@ AC_INIT(frysk, [FRYSK_VERSION])
m4_include([common/frysk-common.ac])
AM_INIT_AUTOMAKE([subdir-objects foreign no-installinfo no-exeext no-dist])
+AC_FIND_FILE([junit.jar], [/usr/share/java], JUNIT_JAR)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

View file

@ -1,23 +1,28 @@
Summary: Execution analysis and debugging tool-suite.
Summary: Execution analysis and debugging tool-suite
Name: frysk
Version: 0.4
Release: 31%{?dist}
Release: 99%{?dist}
# antlrv2 is Public Domain; antlrv3 is BSD.
# getopt is GPLv2 with exception
# elfutils is GPLv2 with exception
# frysk is GPLv2 with exception
# junit licence is CPL (according to the junit rpm)
# jline licence is BSD
# libunwind is BSD
License: GPLv2 with exceptions and BSD and CPL and Public Domain
# Fedora 17+ is still waiting for vte et.al. bindings.
%define enable_gnome %{fedora}0 < 170
%define enable_devel %{fedora}0 < 170
# https://docs.fedoraproject.org/en-US/legal/allowed-licenses/
# https://docs.fedoraproject.org/en-US/legal/license-review-process/
# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/new
# origin: Legacy Abbreviation -> SPDX
#
# getopt GPLv2+ with exception -> GPL-2.0-or-later WITH Classpath-exception-2.0
# frysk: GPLv2 with 398-exception -> GPL-2.0 WITH ???redhat??? exception
# libunwind: MIT Modern Style with sublicense -> MIT
License: GPL-2.0-only WITH 389-exception AND GPL-2.0-or-later WITH Classpath-exception-2.0 AND MIT
Group: Development/System
URL: http://sourceware.org/frysk
Source: ftp://sourceware.org/pub/frysk/%{name}-%{version}.tar.bz2
# Import unreleased fixes
Patch0: frysk-0.4-head.patch
Patch0: frysk-0.4-head.patch
# Local fixes.
Patch1: frysk-0.4-bash-dollar-star.patch
@ -38,8 +43,45 @@ Patch15: frysk-0.4-skipdecl.patch
Patch16: frysk-0.4-flushstat.patch
Patch17: frysk-0.4-ftrace.patch
Patch18: frysk-0.4-usererrno.patch
Patch19: frysk-0.4-configure-enable-gnome.patch
Patch20: frysk-0.4-bin-antlr.patch
Patch21: frysk-0.4-nopkglibdir.patch
Patch22: frysk-0.4-no-jdom.patch
Patch23: frysk-0.4-missing-javah-cni-built.patch
Patch24: frysk-0.4-jni.patch
Patch25: frysk-0.4-awk-gensub.patch
Patch26: frysk-0.4-pic-asm.patch
Patch27: frysk-0.4-per-thread-java-id.patch
Patch28: frysk-0.4-unwind-global-id.patch
Patch29: frysk-0.4-use-installed-antlr.patch
Patch30: frysk-0.4-use-installed-junit.patch
Patch31: frysk-0.4-jni-issameobject.patch
Patch32: frysk-0.4-switch-ecj-to-javac.patch
Patch33: frysk-0.4-use-installed-jline.patch
Patch34: frysk-0.4-libunwind-fstack.patch
Patch35: frysk-0.4-clone-cursor.patch
Patch36: frysk-0.4-fedpkg-lint-licence.patch
Patch37: frysk-0.4-fedpkg-lint-solib.patch
Patch38: frysk-0.4-gelf-newphdr.patch
Patch39: frysk-0.4-jnixx-signed-unsigned.patch
Patch40: frysk-0.4-check-p-not-status.patch
Patch41: frysk-0.4-python3.patch
Patch42: frysk-0.4-jline1-to-jline.patch
Patch43: frysk-0.4-disable-arch32-tests.patch
Patch44: frysk-0.4-steptester-indentation.patch
Patch45: frysk-0.4-gcc-fcommon.patch
Patch46: frysk-0.4-javac.patch
Patch47: frysk-0.4-jnixx-union-as-reserved-word.patch
Patch48: frysk-0.4-jnixx-dont-emit-nested-classes.patch
Patch49: frysk-0.4-49-elf-newehdr-null.patch
Patch50: frysk-0.4-50-autoconf-2-70-fixes.patch
Patch51: frysk-0.4-51-debugedit-path.patch
Patch52: frysk-0.4-52-libunwind-tests.patch
Patch53: frysk-0.4-53-no-new-integer.patch
Patch54: frysk-0.4-54-c-warnings.patch
Patch100: frysk-0.4-aclocaljavac.patch
Patch101: frysk-0.4-cxx-scope.patch
# Do not push these upstream
Patch1003: frysk-0.4-nogtkwerror.patch
@ -47,54 +89,49 @@ Patch1003: frysk-0.4-nogtkwerror.patch
# Use installed elfutils
Patch666: frysk-0.4-sodwfl.patch
# revert to 0.133 removing local and fedora rpm fixes
Patch1004: frysk-0.4-elfutils-fixesout.patch
Patch1005: frysk-0.4-elfutils-rpmout.patch
Patch1006: frysk-0.4-elfutils-head.patch
Patch1007: frysk-0.4-elfutils-offt.patch
Patch1100: frysk-0.4-elfutils-maphack.patch
Patch1101: frysk-0.4-elfutils-ldadd.patch
Patch1102: frysk-0.4-elfutils-louser.patch
Patch1103: frysk-0.4-elfutils-ldadd-lzma.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: gcc-java >= 4.1.2
BuildRequires: gcc-c++
BuildRequires: java-25-devel
BuildRequires: junit >= 3.8.1
BuildRequires: antlr >= 2.7.4
BuildRequires: jdom >= 1.0
BuildRequires: glib-java >= 0.2.6
BuildRequires: libgtk-java-devel >= 2.8.7-6
BuildRequires: libglade-java-devel >= 2.12.3
BuildRequires: cairo-java-devel >= 1.0.3
BuildRequires: cairo-devel >= 1.0.0
BuildRequires: gtk2-devel >= 2.8.0
BuildRequires: libglade2-devel >= 2.5.1
BuildRequires: libvte-java-devel >= 0.12.0
BuildRequires: vte-devel >= 0.12.1
BuildRequires: xmlto
BuildRequires: sharutils
BuildRequires: transfig >= 3.2.0
BuildRequires: gnome-python2-gconf
BuildRequires: antlr-tool >= 2.7.4
BuildRequires: xmlto
BuildRequires: sharutils
BuildRequires: transfig >= 3.2.0
BuildRequires: audit-libs-devel
BuildRequires: autoconf automake libtool
BuildRequires: bison >= 1.875
BuildRequires: flex >= 2.5.4a
BuildRequires: zlib-devel >= 1.2.2.3
BuildRequires: bzip2-devel
BuildRequires: xz-devel
# Some generation scripts are being written in python
BuildRequires: python
%if %{fedora}0 >= 150
# Some scripts run during the build use python
BuildRequires: python3
BuildRequires: elfutils-devel >= 0.151
BuildRequires: jline2
BuildRequires: debugedit
# it seems java requires explict runtime requires!?!?
Requires: junit
Requires: antlr-tool
Requires: jline2
%if %{enable_gnome}
BuildRequires: jdom >= 1.0
BuildRequires: glib-java >= 0.2.6
BuildRequires: cairo-java-devel >= 1.0.3
BuildRequires: cairo-devel >= 1.0.0
BuildRequires: gtk2-devel >= 2.8.0
BuildRequires: libgtk-java-devel >= 2.8.7-6
BuildRequires: libvte-java-devel >= 0.12.0
BuildRequires: libglade-java-devel >= 2.12.3
BuildRequires: libglade2-devel >= 2.5.1
BuildRequires: vte-devel >= 0.12.1
BuildRequires: gnome-python2-gconf
%endif
BuildRequires: make
# Bug #305611: PPC Build problems with libunwind
# Bug #416961: ALPHA not supported by frysk and libunwind.
# Bug #467970: SPARC/SPARC64 not supported by frysk and libunwind.
# Bug #467971: ARM not supported by frysk.
# Bug #506961: S390(X) not supported by frysk and libunwind.
ExclusiveArch: %{ix86} x86_64 ppc64
# Bug #2104040: native frysk depends on to be removed i686 java-openjdk packages
ExclusiveArch: x86_64 ppc64
# We do not want to build a ``cross-debugging version'' i686->i386;
# libunwind build would get confused by this. Override the cmd-line
@ -112,15 +149,19 @@ running processes and threads, of locking primitives and will also
expose deadlocks, gather data and debug any given process in the
system.
%if %{enable_devel}
%package devel
Summary: The development part of Frysk
Group: Development/System
Requires: %{name} = %{version}-%{release}
Requires: dogtail >= 0.5.2
Summary: The development part of Frysk
Requires: %{name} = %{version}-%{release}
%endif
%if %{enable_gnome}
Requires: python2-dogtail >= 0.5.2
# Needed by "dogtail-run-headless -n":
Requires: metacity
Requires: python
Requires: python2
%endif
%if %{enable_devel}
%description devel
Frysk is an execution-analysis technology implemented using native
Java and C++. It is aimed at providing developers and sysadmins with
@ -131,14 +172,15 @@ expose deadlocks, gather data and debug any given process in the
system.
This package contains the development components of Frysk.
%endif
%if %{enable_gnome}
%package gnome
Summary: The GNOME front-end of Frysk
Requires: %{name} = %{version}-%{release}
Group: Development/System
Requires: libgconf-java
Requires: libglade-java >= 2.12.5
Requires: libvte-java >= 0.12.0
Summary: The GNOME front-end of Frysk
Requires: %{name} = %{version}-%{release}
Requires: libgconf-java
Requires: libglade-java >= 2.12.5
Requires: libvte-java >= 0.12.0
%description gnome
Frysk is an execution-analysis technology implemented using native
@ -150,59 +192,110 @@ expose deadlocks, gather data and debug any given process in the
system.
This package contains the GNOME front end for Frysk.
%endif
%prep
%setup -q -n %{name}-%{version}
pwd
%patch0 -p1 -z .head
%patch -P0 -p1 -z .head
%patch1 -p1 -z .bash-dollar-star
%patch2 -p1 -z .strayelsif
%patch3 -p1 -z .fdebugrpm
%patch4 -p1 -z .mktlwidgetdir
%patch5 -p1 -z .gcc-warnings
%patch6 -p1 -z .funitexitman
%patch -P1 -p1 -z .bash-dollar-star
%patch -P2 -p1 -z .strayelsif
%patch -P3 -p1 -z .fdebugrpm
%patch -P4 -p1 -z .mktlwidgetdir
%patch -P5 -p1 -z .gcc-warnings
%patch -P6 -p1 -z .funitexitman
mv frysk-core/frysk/pkglibdir/FunitSimpleInterfaceTest.java frysk-core/frysk/pkglibdir/FunitSimpleInterfaceMain.java
%patch7 -p1 -z .mvtesttomain -F 1
%patch -P7 -p1 -z .mvtesttomain -F 1
mv frysk-core/frysk/util/ProcStopUtil.java frysk-core/frysk/util/TaskStopUtil.java
%patch8 -p1 -z .taskstoputil -F 3
%patch9 -p1 -z .publictestbedsymtab
%patch10 -p1 -z .noelfmem
%patch11 -p1 -z .gccjint
%patch12 -p1 -z .taskstoperr
%patch13 -p1 -z .lostfork
%patch14 -p1 -z .nooptimize
%patch15 -p1 -z .skipdecl
%patch16 -p1 -z .flushstat
%patch17 -p1 -z .ftrace
%patch18 -p1 -z .usererrno
%patch -P8 -p1 -z .taskstoputil -F 3
%patch -P9 -p1 -z .publictestbedsymtab
%patch -P10 -p1 -z .noelfmem
%patch -P11 -p1 -z .gccjint
%patch -P12 -p1 -z .taskstoperr
%patch -P13 -p1 -z .lostfork
%patch -P14 -p1 -z .nooptimize
%patch -P15 -p1 -z .skipdecl
%patch -P16 -p1 -z .flushstat
%patch -P17 -p1 -z .ftrace
%patch -P18 -p1 -z .usererrno
%patch -P19 -p1 -z .configure-enable-gnome
%patch -P20 -p1 -z .bin-antlr
%if %{fedora}0 >= 130
%patch100 -p1 -z .aclocaljavac
%patch -P100 -p1 -z .aclocaljavac
%endif
%patch1003 -p1 -z .nogtkwerror
%if %{fedora}0 >= 150
rm -rf frysk-imports/elfutils
%patch666 -p1 -z .sodwfl
%if %{enable_gnome}
# don't apply - leaves default as build gnome
%else
cd frysk-imports/elfutils
%patch1004 -p1 -z .elfutils-fixesout
%patch1005 -p1 -z .elfutils-rpmout
%patch1006 -p1 -z .elfutils-head
%patch1007 -p1 -z .elfutils-offt
cd ../..
%patch1100 -p1 -z .elfutils-maphack
%patch1101 -p1 -z .elfutils-ldadd
%patch1102 -p1 -z .elfutils-louser
%patch1103 -p1 -z .elfutils-ldadd-lzma
%patch -P101 -p1 -z .configure-enable-gnome
%endif
%if %{enable_devel}
# don't apply - leaves devel package installed
%else
%patch -P21 -p1 -z .nopkglibdir
%endif
%patch -P1003 -p1 -z .nogtkwerror
%patch -P666 -p1 -z .sodwfl
rm -rf frysk-imports/elfutils
%if %{enable_gnome}
# don't apply, leave jdom around
%else
%patch -P22 -p1 -z .no-jdom
rm -rf frysk-core/frysk/dom
rm -rf frysk-core/frysk/rt/LineXXX.java
%endif
%patch -P23 -p1 -z .missing-javah-cni-built
%patch -P24 -p1 -z .jni
%patch -P25 -p1 -z .awk-gensub
%patch -P26 -p1 -z .pic-asm
%patch -P27 -p1 -z .per-thread-java-id
%patch -P28 -p1 -z .unwind-global-id
%patch -P29 -p1 -z .use-installed-antlr
rm -rf frysk-imports/antlr
%patch -P30 -p1 -z .use-installed-junit
rm -rf frysk-imports/junit
%patch -P31 -p1 -z .jni-issameobject
%patch -P32 -p1 -z .switch-ecj-to-javac
%patch -P33 -p1 -z .use-installed-jline
rm -rf frysk-imports/jline
# automake doesn't like old names
mv frysk-imports/libunwind/configure.{in,ac}
%patch -P34 -p1 -z .libunwind-fstack
%patch -P35 -p1 -z .clone-cursor
%patch -P36 -p1 -z .fedpkg-lint-licence
%patch -P37 -p1 -z .fedpkg-lint-solib
%patch -P38 -p1 -z .gelf-newphdr
%patch -P39 -p1 -z .jnixx-signed-unsigned
%patch -P40 -p1 -z .check-p-not-status
%patch -P41 -p1 -z .python3
%patch -P42 -p1 -z .jline1-to-jline
%patch -P43 -p1 -z .disable-arch32-tests
%patch -P44 -p1 -z .steptester-indentation
%patch -P45 -p1 -z .gcc-fcommon
%patch -P46 -p1 -z .javac
%patch -P47 -p1 -z .jnixx-union-as-reserved-word
%patch -P48 -p1 -z .jnixx-dont-emit-nested-classes
%patch -P49 -p1 -z .49-elf-newehdr-null
%patch -P50 -p1 -z .50-autoconf-2-70-fixes
%patch -P51 -p1 -z .51-debugedit-path
%patch -P52 -p1 -z .52-libunwind-tests.patch
%patch -P53 -p1 -z .53-no-new-integer.patch
%patch -P54 -p1 -z .54-c-warnings.patch
echo "%{version}-%{release}" > frysk-common/version.in
# don't try to build assembler test files
rm frysk-core/frysk/pkglibdir/*.S
./bootstrap.sh
%build
@ -218,17 +311,13 @@ rpm -ql xmlto || :
ls -l /usr/bin/xmlto || :
# Capture the configure line
rm -f configure
echo '#!/bin/sh -x' >> configure
echo 'exec ../configure "$@"' >> configure
echo '#!/bin/sh -x' >> configure
echo 'exec ../$(basename $0) "$@"' >> configure
chmod a+x configure
# FIXME: Warnings should be fixed, not suppressed:
RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-Wp,-D_FORTIFY_SOURCE=2 /}
%configure \
CFLAGS="$RPM_OPT_FLAGS" \
CXXFLAGS="$RPM_OPT_FLAGS" \
GCJFLAGS="-g -O -fsource=1.4 -Wextraneous-semicolon" \
--disable-arch32-tests
CFLAGS="$RPM_OPT_FLAGS" \
CXXFLAGS="$RPM_OPT_FLAGS"
make %{?_smp_mflags}
@ -241,40 +330,46 @@ mkdir -p $RPM_BUILD_ROOT/usr/share/frysk
pwd
cd build
make DESTDIR=$RPM_BUILD_ROOT install %{?_smp_mflags}
make DESTDIR=$RPM_BUILD_ROOT install %{?_smp_mflags}
find $RPM_BUILD_ROOT
%if %{enable_gnome}
# Fix timestamp of a generated script:
touch -r \
../frysk-gui/frysk/gui/FryskGui.java-in \
$RPM_BUILD_ROOT%{_datadir}/%{name}/dogtail_scripts/frysk_suite.py
../frysk-gui/frysk/gui/FryskGui.java-in \
$RPM_BUILD_ROOT%{_datadir}/%{name}/dogtail_scripts/frysk_suite.py
# ...and a few other ones:
for f in test2866.py test2985.py test3380.py; do
touch -r \
../frysk-gui/frysk/gui/test/dogtail_scripts/$f \
$RPM_BUILD_ROOT%{_datadir}/%{name}/dogtail_scripts/$f
touch -r \
../frysk-gui/frysk/gui/test/dogtail_scripts/$f \
$RPM_BUILD_ROOT%{_datadir}/%{name}/dogtail_scripts/$f
done
# Workaround for #211824:
rm $RPM_BUILD_ROOT%{_datadir}/java/*.jar
%endif
# some stray files.
%if %{enable_devel}
rm $RPM_BUILD_ROOT%{_libdir}/%{name}/gen-type-funit-tests
rm $RPM_BUILD_ROOT%{_datadir}/%{name}/ChangeLog
rm $RPM_BUILD_ROOT%{_datadir}/%{name}/test-exe-x86.c.source
%else
rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/test-sysroot
rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}
# do not document uninstalled devel commands
rm -rf $RPM_BUILD_ROOT%{_mandir}/man8
%endif
# We are not yet ready to be in the menu:
%if %{enable_gnome}
echo "Hidden=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/frysk.desktop
%endif
%if %{enable_devel}
# Remove duplicates; causes tools to complain.
rm $RPM_BUILD_ROOT%{_libdir}/%{name}/funit-exec-alias
# Remove debuginfo; confuses elfutils.
rm $RPM_BUILD_ROOT%{_libdir}/%{name}/funit-*-nodebug
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%clean
rm -rf %{buildroot}
%endif
%files
@ -296,20 +391,9 @@ rm -rf %{buildroot}
%{_bindir}/fstep
%{_bindir}/ftrace
%{_libdir}/libfrysk-antlr.so
%{_libdir}/libfrysk-core.so
%{_libdir}/libfrysk-getopt.so
%{_libdir}/libfrysk-sys.so
%{_libdir}/libfrysk-sys-jni.so
%{_libdir}/libfrysk-jdom.so
%{_libdir}/libfrysk-jline.so
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/messages.properties
%{_datadir}/%{name}/test-core-x86
%{_datadir}/%{name}/test-core-x8664
%{_datadir}/%{name}/test-exe-x86
%{_datadir}/%{name}/libtest.so
%{_libdir}/%{name}/libfrysk-sys-jni.so
# See bug 211824 for why these are in lib and not /usr/share/java/*
%{_libdir}/%{name}/java/*.jar
%{_mandir}/man1/fauxv.1.gz
%{_mandir}/man1/fcatch.1.gz
@ -326,6 +410,7 @@ rm -rf %{buildroot}
%{_mandir}/man1/ftrace.1.gz
%{_mandir}/man7/frysk.7.gz
%if %{enable_devel}
%files devel
%defattr(-,root,root)
@ -335,7 +420,6 @@ rm -rf %{buildroot}
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/FunitSimpleInterfaceMain
%{_libdir}/%{name}/fsystest
%{_libdir}/%{name}/ftail
%{_libdir}/%{name}/funit*
%{_libdir}/%{name}/hpd-c
%{_libdir}/%{name}/sys-tests
@ -343,9 +427,21 @@ rm -rf %{buildroot}
%{_libdir}/%{name}/test1
%{_datadir}/%{name}/helloworld.o
%{_datadir}/%{name}/test_looper.xml
%{_datadir}/%{name}/dogtail_scripts
%{_mandir}/man8/*
%{_datadir}/%{name}/test-core-x86
%{_datadir}/%{name}/test-core-x8664
%{_datadir}/%{name}/test-exe-x86
%{_datadir}/%{name}/libtest.so
%{_mandir}/man8/*
%endif
%if %{enable_gnome}
%{_libdir}/libfrysk-jdom.so
%{_libdir}/%{name}/ftail
%{_datadir}/%{name}/dogtail_scripts
%endif
%if %{enable_gnome}
%files gnome
%defattr(-,root,root)
@ -361,6 +457,7 @@ rm -rf %{buildroot}
%{_datadir}/%{name}/glade
%{_datadir}/%{name}/images
%{_datadir}/%{name}/messages.properties
%{_datadir}/applications/frysk.desktop
%{_datadir}/pixmaps/fryskTrayIcon48.png
@ -369,7 +466,235 @@ rm -rf %{buildroot}
%{_mandir}/man1/frysk.1.gz
%endif
%changelog
* Tue Jul 29 2025 jiri vanek <jvanek@redhat.com> - 0.4-99
- Rebuilt for java-25-openjdk as preffered jdk
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-98
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Feb 28 2025 Andrew Cagney <cagney@fedoraproject.org> - 0.4-97
- Fix deprecated New Integer() warnings
- Fix unprototyped function
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-96
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-95
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Feb 27 2024 Jiri Vanek <jvanek@redhat.com> - 0.4-94
- Rebuilt for java-21-openjdk as system jdk
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-93
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-92
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-91
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon May 15 2023 Andrew Cagney <cagney@fedoraproject.org> - 0.4-90
- drop hack mangling _FORTIFY_SOURCE; fix 2161322
* Mon Apr 3 2023 Andrew Cagney <cagney@fedoraproject.org> - 0.4-89
- update frysk licence
* Thu Mar 9 2023 Andrew Cagney <cagney@fedoraproject.org> - 0.4-88
- update getopt and libunwind sub licences
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-87
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Sep 29 2022 Andrew Cagney <cagney@fedoraproject.org> - 0.4-86
- don't build libunwind tests; frysk-0.4-52-libunwind-tests.patch
* Thu Jul 21 2022 Andrew Cagney <cagney@fedoraproject.org> - 0.4-85
- ding dong the 32-bit Java is dead; #2104040
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-84
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 0.4-83
- Rebuilt for java-17-openjdk as system jdk
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-82
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Aug 4 2021 Andrew Cagney <cagney@fedoraproject.org> - 0.4-81
- require debugedit; fix hardwired path
* Wed Aug 4 2021 Andrew Cagney <cagney@fedoraproject.org> - 0.4-80
- Allow autoconf 2.69
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Apr 12 2021 Andrew Cagney <cagney@fedoraproject.org> - 0.4-78
- autoconf 2.70
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-77
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 14 2020 Jerry James <loganjerry@gmail.com> - 0.4-76
- Depend on jline2, not jline
* Fri Dec 11 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-75
- fix check of elf_newehdr()'s return value
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-74
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 16 2020 Andrew Cagney <cagney@fedoraproject.org> - 0.4-73
- 'union' onto 'union$' - frysk-0.4-jnixx-union-as-reserved-word.patch
- omit nested local classes - frysk-0.4-jnixx-dont-emit-nested-classes.patch
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 0.4-72
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Tue Jun 9 2020 Andrew Cagney <cagney@fedoraproject.org> - 0.4-71
- drop -source 1.4 -- frysk-0.4-javac.patch
* Tue Jan 28 2020 Andrew Cagney <cagney@fedoraproject.org> - 0.4-70
- pacify gcc -fcommon
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-69
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Nov 14 2019 Andrew Cagney <cagney@fedoraproject.org> - 0.4-68
- make runtime java dependencies explicit - found by Magnus Glantz
- depend on antlr-tool instead of antlr
* Thu Sep 5 2019 Andrew Cagney <cagney@fedoraproject.org> - 0.4-67
- Updates for jline(2)
- Pacify GCC - fix some indentation
- Default to no 32-bit tests (drop config's --disable-arch32-tests)
* Thu Sep 5 2019 Andrew Cagney <cagney@fedoraproject.org> - 0.4-66
- Depend on jline, not jline1
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-65
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 15 2019 Andrew Cagney <cagney@fedoraproject.org> - 0.4-64
- Update README cribsheet
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Jul 24 2018 Andrew Cagney <cagney@fedoaproject.org> - 0.4-62
- Deal with python 3
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-61
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Mar 15 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.4-60
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-59
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-58
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-57
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Andrew Cagney <cagney@fedoraproject.org> - 0.4-56
- fix warnings/errors from latest compilers
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-55
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 6 2017 Andrew Cagney <cagney@fedoraproject.org> - 0.4-54
- work around evolving gelf_newphdr() interface
* Tue Apr 19 2016 Andrew Cagney <cagney@fedoraproject.org> - 0.4-53
- fix some fedpkg lint problems
- add frysk-0.4-fedpkg-lint-licence.patch
- add frysk-0.4-fedpkg-lint-solib.patch
- use Fedora approved name for libunwind licence
* Tue Apr 19 2016 Andrew Cagney <cagney@fedoraproject.org> - 0.4-52
- clone the jobject when cloning the cursor - frysk-0.4-clone-cursor.patch
* Mon Apr 18 2016 Andrew Cagney <cagney@fedoraproject.org> - 0.4-51
- better handle prelink - frysk-0.4-libunwind-fstack.patch
* Tue Apr 12 2016 Andrew Cagney <cagney@fedoraproject.org> - 0.4-50
- do not ship a local copy of junit.jar - frysk-0.4-use-installed-junit.patch
- do not ship a local copy of jline.jar - frysk-0.4-use-installed-jline.patch
- update licence list - drop unbundled code
- remove long dead configurations
- in JNIXX operator== use IsSameObject - frysk-0.4-jni-issameobject.patch
- use javac - frysk-0.4-switch-ecj-to-javac.patch
* Tue Apr 12 2016 Andrew Cagney <cagney@fedoraproject.org> - 0.4-49
- do not ship a local copy of antlr.jar - frysk-0.4-use-installed-antlr.patch
* Tue Apr 12 2016 Andrew Cagney <cagney@fedoraproject.org> - 0.4-48
- Use a global java ID in libunwind - frysk-0.4-unwind-global-id.patch
* Wed Apr 06 2016 Andrew Cagney <cagney@fedoraproject.org> - 0.4-47
- Use java ID for local thread - frysk-0.4-per-thread-java-id.patch
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.4-46
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Aug 17 2015 Andrew Cagney <cagney@fedoraproject.org> - 0.4.45
- Fix AWK gensub parameter 3; new warning about it is being printed to
STDOUT instead of STDERR and, hence, ends up in generated Java files
- Don't build assembler test files as conflicts with building PIC.
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 21 2014 Andrew Cagney <cagney@fedoraproject.org> - 0.4-42
- Switch from the CNI to the JNI native bindings
- Build using Java/ECJ removing dependency on gcc-java
- Added patch frysk-0.4-jni.patch
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-41
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-40
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Andrew Cagney <cagney@fedoraproject.org> - 0.4-39
- Don't build jdom, no longer needed
- Force the generation of some cni headers
- Pacify automake by giving config files names it likes
* Sat Jan 26 2013 Andrew Cagney <cagney@fedoraproject.org> - 0.4-38
- Rebuild unchanged against new gcj so it picks up libgcj.so.14.
* Tue Aug 7 2012 Andrew Cagney <cagney@fedoraproject.org> - 0.4-37
- Add java-1.5.0-gcj to BuildRequires list.
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sat Feb 11 2012 Andrew Cagney <cagney@fedoraproject.org> - 0.4-35
- Clean up pkglibdir and pkglibdata dir, devel package not needed.
* Sat Jan 21 2012 Andrew Cagney <cagney@fedoraproject.org> - 0.4-34
- Add frysk-0.4-configure-enable-gnome.patch as no vte/java bindings.
- Use installed antlr - frysk-0.4-bin-antlr.patch
- Fix scope warning from latest c++ - frysk-04-cxx-scope.patch
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Dec 06 2011 Adam Jackson <ajax@redhat.com> - 0.4-32
- Rebuild for new libpng
* Fri Mar 11 2011 Dan Horák <dan[at]danny.cz> - 0.4-31
- switch to ExclusiveArch
@ -475,15 +800,15 @@ rm -rf %{buildroot}
* Mon Dec 01 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.4-3
- Rebuild for Python 2.6
* Mon Oct 27 2008 Andrew Cagney <andrew.cagney@gmail.com> - 0.4-2
* Mon Oct 27 2008 Andrew Cagney <andrew.cagney@gmail.com> - 0.4-2
- drop EPL from licence list; cdtparser deleted
- re-enable SMP make
- disable -Werror flag to gcj
* Tue Oct 20 2008 Andrew Cagney <andrew.cagney@gmail.com> - 0.4-1
* Mon Oct 20 2008 Andrew Cagney <andrew.cagney@gmail.com> - 0.4-1
- add sparc and arm to ExcludeArch.
* Mon Jun 9 2008 Sami Wagiaalla <swagiaal@rdhat.com> - 0.4-0
* Mon Jun 9 2008 Sami Wagiaalla <swagiaal@rdhat.com> - 0.4-0
- import frysk-0.4.tar.bz2
- removed Patch7: frysk-0.0.1.2008.02.29.rh1-jboolean-array.patch
- removed Patch8: frysk-0.0.1.2008.02.29.rh1-asm-includes.patch
@ -495,19 +820,19 @@ rm -rf %{buildroot}
- remove test_main_looper from file list.
- remove libfrysk-cdtparser from file list.
* Fri Apr 4 2008 Andrew Cagney <cagney@rdhat.com> - 0.2.1-2
* Fri Apr 4 2008 Andrew Cagney <cagney@rdhat.com> - 0.2.1-2
- add patch11, frysk-0.2.1-ppc-build.patch.
* Fri Apr 4 2008 Andrew Cagney <cagney@rdhat.com> - 0.2.1-1
* Fri Apr 4 2008 Andrew Cagney <cagney@rdhat.com> - 0.2.1-1
- re-instate patch10, install fparser's manpage in man8
- drop patch6, frysk-0.0.1.2008.01.18.rh1-elfutils-werror.patch.
* Fri Apr 4 2008 Andrew Cagney <cagney@rdhat.com> - 0.2.1-0
* Fri Apr 4 2008 Andrew Cagney <cagney@rdhat.com> - 0.2.1-0
- import frysk-0.2.1.tar.bz2
- drop patch9, frysk-elfutils-src.patch.
- drop patch10, install fparser's manpage in man8
* Tue Mar 25 2008 Andrew Cagney <cagney@rdhat.com> - 0.0.1.2008.03.19.rh1-1
* Tue Mar 25 2008 Andrew Cagney <cagney@rdhat.com> - 0.0.1.2008.03.19.rh1-1
- import 0.0.1.2008.03.19.rh1 (35c076f3436b95a116cba33f52e0c9a592607dfa)
- move fparser to pkglibdir.
- add ferror to frysk's file list.
@ -517,13 +842,13 @@ rm -rf %{buildroot}
- add Patch9 frysk-elfutils-crc.patch, work-around broken CRC check.
- add Patch10, install fparser's manpage in man8
* Fri Mar 11 2008 Sami Wagiaalla <swagiaal@rdhat.com> - 0.0.1.2008.03.11-2
* Tue Mar 11 2008 Sami Wagiaalla <swagiaal@rdhat.com> - 0.0.1.2008.03.11-2
- Added statements to check for xmlto.
* Fri Mar 11 2008 Sami Wagiaalla <swagiaal@rdhat.com> - 0.0.1.2008.03.11-1
* Tue Mar 11 2008 Sami Wagiaalla <swagiaal@rdhat.com> - 0.0.1.2008.03.11-1
- Import 0.0.1.2008.03.11 (84bcf09e5a329252d81e853e49f0cf1449f937c2)
* Fri Mar 11 2008 Sami Wagiaalla <swagiaal@rdhat.com> - 0.0.1.2008.02.29.rh1-2
* Tue Mar 11 2008 Sami Wagiaalla <swagiaal@rdhat.com> - 0.0.1.2008.02.29.rh1-2
- Update releease number
- added frysk-0.0.1.2008.02.29.rh1-asm-includes.patch
- added frysk-0.0.1.2008.02.29.rh1-jboolean-array.patch
@ -541,7 +866,7 @@ rm -rf %{buildroot}
* Mon Feb 4 2008 Stepan Kasal <skasal@redhat.com> - 0.0.1.2008.01.18.rh1-2
- rebuild against rebuilt java-gnome
* Mon Jan 20 2008 Andrew Cagney <cagney@redhat.com> - 0.0.1.2008.01.18.rh1-1
* Sun Jan 20 2008 Andrew Cagney <cagney@redhat.com> - 0.0.1.2008.01.18.rh1-1
- Import frysk-0.0.1.2008.01.18.rh1 (4cff0daa2996b28274985fa4674160f15e5fd9e2)
- Delete run_make_check code.
- Add patch4, frysk-0.0.1.2008.01.18.rh1-no-sysroot.patch to not build
@ -748,7 +1073,7 @@ rm -rf %{buildroot}
* Wed Aug 2 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.25.rh1-3
- BuildRequires latest dogtail
* Fri Jul 28 2006 Phil Muldoon <pmuldoon@redhat.com> - 0.0.1.2006.07.25.rh1-3
* Fri Jul 28 2006 Phil Muldoon <pmuldoon@redhat.com> - 0.0.1.2006.07.25.rh1-3
- Add dogtail to BuildRequires
* Tue Jul 25 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.25.rh1-2
@ -763,15 +1088,15 @@ rm -rf %{buildroot}
* Tue Jul 18 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.18.rh1-1
- New upstream version, incorporates the previous two patches.
* Wed Jul 18 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.14.rh1-2
* Tue Jul 18 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.14.rh1-2
- Add two patches from Phil Muldoon:
frysk-20060714-observer.patch -- continue even though an observer cannot be load
frysk-20060714-timer.patch -- fix incorrect usage of a core timer
* Wed Jul 14 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.14.rh1-1
* Fri Jul 14 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.14.rh1-1
- New upstream version.
* Wed Jul 13 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.13.rh1-1
* Thu Jul 13 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.13.rh1-1
- New upstream version.
* Wed Jul 12 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.12.rh2-1
@ -817,7 +1142,7 @@ rm -rf %{buildroot}
- Patch for new linux/unistd.h.
- Patch to avoid scanf("%%a[..]").
* Thu Jun 14 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.06.14-0
* Wed Jun 14 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.06.14-0
- New upstream version.
- Add BuildRequires: libglade2-devel >= 2.5.1
- Refresh other BuildRequires.
@ -874,28 +1199,28 @@ rm -rf %{buildroot}
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt
* Mon Nov 16 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051116-0.3
* Wed Nov 16 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051116-0.3
- Added jars under /usr/share/java to distribution.
* Mon Nov 16 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051116-0.1
* Wed Nov 16 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051116-0.1
- Update source.
* Mon Nov 16 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051114-0.3
* Wed Nov 16 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051114-0.3
- Removed runtime dependency for eclipse-cdt, changed buildtime eclipse-cdt dependency to 3.0.0.
* Mon Nov 16 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051114-0.2
* Wed Nov 16 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051114-0.2
- Changed dependency on frysk-cdtparser to eclipse-cdt (it was somehow magically reversed).
* Mon Nov 14 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051114-0.1
- Removed smp flags.
* Mon Nov 10 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051109-0.3
* Thu Nov 10 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051109-0.3
- Update source.
* Wed Nov 10 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051109-0.2
* Thu Nov 10 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051109-0.2
- Added ExclusiveArch for i386.
* Wed Nov 10 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051109-0.1
* Thu Nov 10 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051109-0.1
- Updated source, changed cdtparser dependency to eclipse-cdt. Added build
restriction to i386. Added %%{?_smp_flags} to make command.