Compare commits

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

82 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
50 changed files with 84735 additions and 77788 deletions

4
.gitignore vendored
View file

@ -1 +1,5 @@
frysk-0.4.tar.bz2 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 # Make mock usable. The only standard target is mockbuild which
# doesn't do what you typically want. # doesn't do what you typically want.
SRPM := $(PWD)/$(shell fedpkg verrel).src.rpm # Somewhat superseeded by fedpkg
RESULTDIR := $(PWD)/$(shell fedpkg verrel)
MOCKCFG = fedora-devel-i386 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: help:
@echo "Mock targets" @echo "targets"
@echo " mock-local mock-build: Build from scratch using mock; keep the results" @echo ""
@echo " mock-shell: Start a chrooted shell in the build-chroot" @echo " init: Initialize the $(MOCKCFG) chroot (if needed)"
@echo " mock-init: Initialize a new clean build-chroot" @echo " build: Build, logs in $(MOCK_RESULTS)"
@echo " mock-clean: Purge the build-chroot" @echo " deploy: Build/Deploy $(ARCH) package"
@echo " mock-update: Run yum update in the build-chroot" @echo " useful: Install some missing applications"
@echo " mock-orphanskill: Kill any stray processes from the build" @echo " shell: Start a shell in the chroot"
@echo " mock-install PACKAGE=rpm: Install PACKAGE" @echo ""
@echo " mock-installdeps PACKAGE=rpm: Install dependencies for PACKAGE" @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" @echo "Use MOCKARGS= for extra arguments"
.PHONY:: help .PHONY:: help
# -prep -compile -install -compile-short -install-short init:
local build: srpm $(MOCK) -q --chroot pwd \
mock --no-clean --no-cleanup-after $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(RESULTDIR) --rebuild $(SRPM) || $(MOCK) --init
.PHONY:: local build .PHONY:: init
init clean shell update orphanskill: mock build $(MOCK_RESULTS)/$(RPM): init $(SOURCES)
mock $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(RESULTDIR) --$@ rm -f $(MOCK_RESULTS)/*.src.rpm
.PHONY:: init clean shell update orphanskill $(MOCK) $(NO_CLEAN) --buildsrpm --spec $(SPEC_FILE) --sources $(PWD)
$(MOCK) $(NO_CLEAN) --rebuild $(MOCK_RESULTS)/*.src.rpm
.PHONY:: build
install installdeps: # rpmspec -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' $(SPEC_FILE)
if test x"$(PACKAGE)" = x ; then echo Supply PACKAGE ; exit 1 ; fi deploy: $(MOCK_RESULTS)/$(RPM)
mock $(MOCKARGS) -r $(MOCKCFG) --resultdir=$(RESULTDIR) --$@ $(PACKAGE) $(MOCK) -q --chroot 'rm -f /tmp/*.rpm'
.PHONY:: install installdeps 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: $(SPEC_SOURCES):
fedpkg srpm 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 .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) Updating the frysk rpm in Fedora (by Sami)
Before doing this make sure you have a fedora account and that your 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 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.sodwfl 2012-02-11 21:37:13.468000053 -0500
+++ frysk-0.4/frysk-common/Makefile.rules 2010-03-24 21:52:51.000000000 -0400 +++ frysk-0.4/frysk-common/Makefile.rules 2012-02-11 21:37:13.635000054 -0500
@@ -164,16 +164,9 @@ AM_CXXFLAGS = \ @@ -160,16 +160,9 @@ AM_CXXFLAGS = \
-I$(srcdir) \ -I$(srcdir) \
-I$(srcdir)/../frysk-imports/include \ -I$(srcdir)/../frysk-imports/include \
-I$(top_builddir) \ -I$(top_builddir) \
@ -20,7 +20,7 @@ diff -up frysk-0.4/frysk-common/Makefile.rules.sodwfl frysk-0.4/frysk-common/Mak
-fPIC \ -fPIC \
$(ZZZ) $(ZZZ)
@@ -399,12 +392,10 @@ Runner: @@ -395,12 +388,10 @@ Runner:
echo "#!/bin/sh" >> $@.tmp echo "#!/bin/sh" >> $@.tmp
echo "" >> $@.tmp echo "" >> $@.tmp
echo "# some pre-definitions" >> $@.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 "" >> $@.tmp
echo "# Set up classpath" >> $@.tmp echo "# Set up classpath" >> $@.tmp
diff -up frysk-0.4/frysk-core/Makefile.am.sodwfl frysk-0.4/frysk-core/Makefile.am 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.sodwfl 2012-02-11 21:37:13.469000053 -0500
+++ frysk-0.4/frysk-core/Makefile.am 2010-03-24 22:13:13.000000000 -0400 +++ 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 @@ -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-junit.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.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 +GEN_GCJ_LDADD_LIST += -lasm -ldw -lebl -lelf
# For TestExec.java # 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 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.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-gtk/Makefile.am 2010-03-24 22:16:36.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 @@ -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-junit.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.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. # Hack, need to compile this entire sub-tree with JNI.
AM_GCJFLAGS += -fjni AM_GCJFLAGS += -fjni
diff -up frysk-0.4/frysk-gui/Makefile.am.sodwfl frysk-0.4/frysk-gui/Makefile.am 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.sodwfl 2008-06-09 14:03:07.000000000 -0400
+++ frysk-0.4/frysk-gui/Makefile.am 2010-03-24 22:16:21.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 @@ -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-junit.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.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 ) && #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 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.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="\ @@ -51,18 +51,6 @@ FILE_LIST="\
./common/Makefile.gen.sh $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 autoconf -Werror -f
diff -up frysk-0.4/frysk-imports/configure.ac.sodwfl frysk-0.4/frysk-imports/configure.ac 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.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([ @@ -61,6 +61,6 @@ AC_CONFIG_FILES([
# list of configured subdirectories so that it can be included in # list of configured subdirectories so that it can be included in
# "make dist" (or the recursive "make distdir"). # "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 AC_OUTPUT
diff -up frysk-0.4/frysk-imports/Makefile.am.sodwfl frysk-0.4/frysk-imports/Makefile.am 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.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 @@ -58,7 +58,6 @@ LIBUNWIND_ARCH_DIRS = libunwind-i386 lib
CHECK_SUBDIRS = \ CHECK_SUBDIRS = \
jline \ 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-i386/src/.libs/libunwind-x86.a
GEN_GCJ_LDADD_LIST += ./libunwind-x86_64/src/.libs/libunwind-x86_64.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 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.sodwfl 2012-02-11 21:37:13.470000053 -0500
+++ frysk-0.4/frysk-imports/tests/Makefile.am 2010-03-24 19:58:07.000000000 -0400 +++ frysk-0.4/frysk-imports/tests/Makefile.am 2012-02-11 21:37:13.671000057 -0500
@@ -463,7 +463,6 @@ systests_PASS_PROGRAM += frysk4217/attac @@ -462,7 +462,6 @@ systests_PASS_PROGRAM += frysk4217/attac
systests_PASS_PROGRAM += frysk4330/stopkills systests_PASS_PROGRAM += frysk4330/stopkills
# test if /proc/PID/maps has r-xp permissions for the VDSO entry # 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 systests_PASS_PROGRAM += frysk4704/vdso-permissions
# A final variable/inner class test. # A final variable/inner class test.
@@ -486,10 +485,6 @@ frysk4742/java.sh: @@ -485,10 +484,6 @@ frysk4742/java.sh:
\| grep Referee > $@ \| grep Referee > $@
chmod a+x $@ 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 +frysk4796_dwfltest_CFLAGS = -I/usr/include/elfutils
systests_PASS_PROGRAM += frysk4796/dwfltest 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 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.sodwfl 2012-02-11 21:37:12.987000054 -0500
+++ 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 2012-02-11 21:37:13.676000052 -0500
@@ -36,9 +36,10 @@ @@ -36,9 +36,10 @@
// modification, you must delete this exception statement from your // modification, you must delete this exception statement from your
// version and license this file solely under the GPL without // 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 <alloca.h>
#include <stdlib.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 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.sodwfl 2008-06-09 14:03:07.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 2012-02-11 21:37:13.678000052 -0500
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
# in. # in.
@ -211,8 +211,8 @@ diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAccess.shenum.sodwfl frysk-0.4/frysk-sys
p = $1 p = $1
v = gensub(",","","",$3) v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwAte.shenum 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.sodwfl 2008-06-09 14:03: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 2012-02-11 21:37:13.679000052 -0500
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
# in. # 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 p = $1
v = gensub(",","","",$3) v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwAt.shenum 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.sodwfl 2008-06-09 14:03:07.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 2012-02-11 21:37:13.680000052 -0500
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
# in. # 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 p = $1
v = gensub(",","","",$3) v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwDsc.shenum 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.sodwfl 2008-06-09 14:03:07.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 2012-02-11 21:37:13.681000052 -0500
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
# in. # 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 p = $1
v = gensub(",","","",$3) v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwDs.shenum 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.sodwfl 2008-06-09 14:03:07.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 2012-02-11 21:37:13.682000052 -0500
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
# in. # 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 p = $1
v = gensub(",","","",$3) v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwEnd.shenum 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.sodwfl 2008-06-09 14:03:07.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 2012-02-11 21:37:13.697000054 -0500
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
# in. # 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 p = $1
v = gensub(",","","",$3) v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwInl.shenum 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.sodwfl 2008-06-09 14:03:07.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 2012-02-11 21:37:13.698000054 -0500
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
# in. # 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 p = $1
v = gensub(",","","",$3) v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwOp.shenum 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.sodwfl 2008-06-09 14:03:07.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 2012-02-11 21:37:13.699000054 -0500
@@ -42,7 +42,8 @@ @@ -42,7 +42,8 @@
# in. # 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 p = $1
v = gensub(",","","",$3) v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwOrd.shenum 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.sodwfl 2008-06-09 14:03:07.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 2012-02-11 21:37:13.700000054 -0500
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
# in. # 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 p = $1
v = gensub(",","","",$3) v = gensub(",","","",$3)
diff -up frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum.sodwfl frysk-0.4/frysk-sys/lib/dwfl/DwTag.shenum 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.sodwfl 2008-06-09 14:03:07.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 2012-02-11 21:37:13.702000054 -0500
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
# in. # 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 p = $1
v = gensub(",","","",$3) 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 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.sodwfl 2012-02-11 21:37:12.989000054 -0500
+++ 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 2012-02-11 21:37:13.703000054 -0500
@@ -40,8 +40,8 @@ @@ -40,8 +40,8 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.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" #include "jni.hxx"
diff -up frysk-0.4/frysk-sys/Makefile.am.sodwfl frysk-0.4/frysk-sys/Makefile.am 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.sodwfl 2012-02-11 21:37:12.939000054 -0500
+++ frysk-0.4/frysk-sys/Makefile.am 2010-03-24 21:56:41.000000000 -0400 +++ 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 @@ -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-junit.a
GEN_GCJ_LDADD_LIST += ../frysk-imports/libfrysk-getopt.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 Name: frysk
Version: 0.4 Version: 0.4
Release: 33%{?dist} Release: 99%{?dist}
# antlrv2 is Public Domain; antlrv3 is BSD. # Fedora 17+ is still waiting for vte et.al. bindings.
# getopt is GPLv2 with exception %define enable_gnome %{fedora}0 < 170
# elfutils is GPLv2 with exception %define enable_devel %{fedora}0 < 170
# frysk is GPLv2 with exception
# junit licence is CPL (according to the junit rpm) # https://docs.fedoraproject.org/en-US/legal/allowed-licenses/
# jline licence is BSD # https://docs.fedoraproject.org/en-US/legal/license-review-process/
# libunwind is BSD # https://gitlab.com/fedora/legal/fedora-license-data/-/issues/new
License: GPLv2 with exceptions and BSD and CPL and Public Domain # 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 URL: http://sourceware.org/frysk
Source: ftp://sourceware.org/pub/frysk/%{name}-%{version}.tar.bz2 Source: ftp://sourceware.org/pub/frysk/%{name}-%{version}.tar.bz2
# Import unreleased fixes # Import unreleased fixes
Patch0: frysk-0.4-head.patch Patch0: frysk-0.4-head.patch
# Local fixes. # Local fixes.
Patch1: frysk-0.4-bash-dollar-star.patch Patch1: frysk-0.4-bash-dollar-star.patch
@ -38,8 +43,45 @@ Patch15: frysk-0.4-skipdecl.patch
Patch16: frysk-0.4-flushstat.patch Patch16: frysk-0.4-flushstat.patch
Patch17: frysk-0.4-ftrace.patch Patch17: frysk-0.4-ftrace.patch
Patch18: frysk-0.4-usererrno.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 Patch100: frysk-0.4-aclocaljavac.patch
Patch101: frysk-0.4-cxx-scope.patch
# Do not push these upstream # Do not push these upstream
Patch1003: frysk-0.4-nogtkwerror.patch Patch1003: frysk-0.4-nogtkwerror.patch
@ -47,54 +89,49 @@ Patch1003: frysk-0.4-nogtkwerror.patch
# Use installed elfutils # Use installed elfutils
Patch666: frysk-0.4-sodwfl.patch Patch666: frysk-0.4-sodwfl.patch
# revert to 0.133 removing local and fedora rpm fixes BuildRequires: gcc-c++
Patch1004: frysk-0.4-elfutils-fixesout.patch BuildRequires: java-25-devel
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: junit >= 3.8.1 BuildRequires: junit >= 3.8.1
BuildRequires: antlr >= 2.7.4 BuildRequires: antlr-tool >= 2.7.4
BuildRequires: jdom >= 1.0 BuildRequires: xmlto
BuildRequires: glib-java >= 0.2.6 BuildRequires: sharutils
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: transfig >= 3.2.0
BuildRequires: gnome-python2-gconf
BuildRequires: audit-libs-devel BuildRequires: audit-libs-devel
BuildRequires: autoconf automake libtool BuildRequires: autoconf automake libtool
BuildRequires: bison >= 1.875 # Some scripts run during the build use python
BuildRequires: flex >= 2.5.4a BuildRequires: python3
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
BuildRequires: elfutils-devel >= 0.151 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 %endif
BuildRequires: make
# Bug #305611: PPC Build problems with libunwind # Bug #305611: PPC Build problems with libunwind
# Bug #416961: ALPHA not supported by frysk and libunwind. # Bug #416961: ALPHA not supported by frysk and libunwind.
# Bug #467970: SPARC/SPARC64 not supported by frysk and libunwind. # Bug #467970: SPARC/SPARC64 not supported by frysk and libunwind.
# Bug #467971: ARM not supported by frysk. # Bug #467971: ARM not supported by frysk.
# Bug #506961: S390(X) not supported by frysk and libunwind. # 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; # We do not want to build a ``cross-debugging version'' i686->i386;
# libunwind build would get confused by this. Override the cmd-line # 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 expose deadlocks, gather data and debug any given process in the
system. system.
%if %{enable_devel}
%package devel %package devel
Summary: The development part of Frysk Summary: The development part of Frysk
Group: Development/System Requires: %{name} = %{version}-%{release}
Requires: %{name} = %{version}-%{release} %endif
Requires: dogtail >= 0.5.2 %if %{enable_gnome}
Requires: python2-dogtail >= 0.5.2
# Needed by "dogtail-run-headless -n": # Needed by "dogtail-run-headless -n":
Requires: metacity Requires: metacity
Requires: python Requires: python2
%endif
%if %{enable_devel}
%description devel %description devel
Frysk is an execution-analysis technology implemented using native Frysk is an execution-analysis technology implemented using native
Java and C++. It is aimed at providing developers and sysadmins with 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. system.
This package contains the development components of Frysk. This package contains the development components of Frysk.
%endif
%if %{enable_gnome}
%package gnome %package gnome
Summary: The GNOME front-end of Frysk Summary: The GNOME front-end of Frysk
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Group: Development/System Requires: libgconf-java
Requires: libgconf-java Requires: libglade-java >= 2.12.5
Requires: libglade-java >= 2.12.5 Requires: libvte-java >= 0.12.0
Requires: libvte-java >= 0.12.0
%description gnome %description gnome
Frysk is an execution-analysis technology implemented using native 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. system.
This package contains the GNOME front end for Frysk. This package contains the GNOME front end for Frysk.
%endif
%prep %prep
%setup -q -n %{name}-%{version} %setup -q -n %{name}-%{version}
pwd pwd
%patch0 -p1 -z .head %patch -P0 -p1 -z .head
%patch1 -p1 -z .bash-dollar-star %patch -P1 -p1 -z .bash-dollar-star
%patch2 -p1 -z .strayelsif %patch -P2 -p1 -z .strayelsif
%patch3 -p1 -z .fdebugrpm %patch -P3 -p1 -z .fdebugrpm
%patch4 -p1 -z .mktlwidgetdir %patch -P4 -p1 -z .mktlwidgetdir
%patch5 -p1 -z .gcc-warnings %patch -P5 -p1 -z .gcc-warnings
%patch6 -p1 -z .funitexitman %patch -P6 -p1 -z .funitexitman
mv frysk-core/frysk/pkglibdir/FunitSimpleInterfaceTest.java frysk-core/frysk/pkglibdir/FunitSimpleInterfaceMain.java 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 mv frysk-core/frysk/util/ProcStopUtil.java frysk-core/frysk/util/TaskStopUtil.java
%patch8 -p1 -z .taskstoputil -F 3 %patch -P8 -p1 -z .taskstoputil -F 3
%patch9 -p1 -z .publictestbedsymtab %patch -P9 -p1 -z .publictestbedsymtab
%patch10 -p1 -z .noelfmem %patch -P10 -p1 -z .noelfmem
%patch11 -p1 -z .gccjint %patch -P11 -p1 -z .gccjint
%patch12 -p1 -z .taskstoperr %patch -P12 -p1 -z .taskstoperr
%patch13 -p1 -z .lostfork %patch -P13 -p1 -z .lostfork
%patch14 -p1 -z .nooptimize %patch -P14 -p1 -z .nooptimize
%patch15 -p1 -z .skipdecl %patch -P15 -p1 -z .skipdecl
%patch16 -p1 -z .flushstat %patch -P16 -p1 -z .flushstat
%patch17 -p1 -z .ftrace %patch -P17 -p1 -z .ftrace
%patch18 -p1 -z .usererrno %patch -P18 -p1 -z .usererrno
%patch -P19 -p1 -z .configure-enable-gnome
%patch -P20 -p1 -z .bin-antlr
%if %{fedora}0 >= 130 %if %{fedora}0 >= 130
%patch100 -p1 -z .aclocaljavac %patch -P100 -p1 -z .aclocaljavac
%endif %endif
%patch1003 -p1 -z .nogtkwerror %if %{enable_gnome}
# don't apply - leaves default as build gnome
%if %{fedora}0 >= 150
rm -rf frysk-imports/elfutils
%patch666 -p1 -z .sodwfl
%else %else
cd frysk-imports/elfutils %patch -P101 -p1 -z .configure-enable-gnome
%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
%endif %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 echo "%{version}-%{release}" > frysk-common/version.in
# don't try to build assembler test files
rm frysk-core/frysk/pkglibdir/*.S
./bootstrap.sh ./bootstrap.sh
%build %build
@ -218,17 +311,13 @@ rpm -ql xmlto || :
ls -l /usr/bin/xmlto || : ls -l /usr/bin/xmlto || :
# Capture the configure line # Capture the configure line
rm -f configure rm -f configure
echo '#!/bin/sh -x' >> configure echo '#!/bin/sh -x' >> configure
echo 'exec ../configure "$@"' >> configure echo 'exec ../$(basename $0) "$@"' >> configure
chmod a+x configure chmod a+x configure
# FIXME: Warnings should be fixed, not suppressed:
RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-Wp,-D_FORTIFY_SOURCE=2 /}
%configure \ %configure \
CFLAGS="$RPM_OPT_FLAGS" \ CFLAGS="$RPM_OPT_FLAGS" \
CXXFLAGS="$RPM_OPT_FLAGS" \ CXXFLAGS="$RPM_OPT_FLAGS"
GCJFLAGS="-g -O -fsource=1.4 -Wextraneous-semicolon" \
--disable-arch32-tests
make %{?_smp_mflags} make %{?_smp_mflags}
@ -241,40 +330,46 @@ mkdir -p $RPM_BUILD_ROOT/usr/share/frysk
pwd pwd
cd build 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: # Fix timestamp of a generated script:
touch -r \ touch -r \
../frysk-gui/frysk/gui/FryskGui.java-in \ ../frysk-gui/frysk/gui/FryskGui.java-in \
$RPM_BUILD_ROOT%{_datadir}/%{name}/dogtail_scripts/frysk_suite.py $RPM_BUILD_ROOT%{_datadir}/%{name}/dogtail_scripts/frysk_suite.py
# ...and a few other ones: # ...and a few other ones:
for f in test2866.py test2985.py test3380.py; do for f in test2866.py test2985.py test3380.py; do
touch -r \ touch -r \
../frysk-gui/frysk/gui/test/dogtail_scripts/$f \ ../frysk-gui/frysk/gui/test/dogtail_scripts/$f \
$RPM_BUILD_ROOT%{_datadir}/%{name}/dogtail_scripts/$f $RPM_BUILD_ROOT%{_datadir}/%{name}/dogtail_scripts/$f
done done
%endif
# Workaround for #211824:
rm $RPM_BUILD_ROOT%{_datadir}/java/*.jar
# some stray files. # some stray files.
%if %{enable_devel}
rm $RPM_BUILD_ROOT%{_libdir}/%{name}/gen-type-funit-tests rm $RPM_BUILD_ROOT%{_libdir}/%{name}/gen-type-funit-tests
rm $RPM_BUILD_ROOT%{_datadir}/%{name}/ChangeLog rm $RPM_BUILD_ROOT%{_datadir}/%{name}/ChangeLog
rm $RPM_BUILD_ROOT%{_datadir}/%{name}/test-exe-x86.c.source 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: # We are not yet ready to be in the menu:
%if %{enable_gnome}
echo "Hidden=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/frysk.desktop echo "Hidden=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/frysk.desktop
%endif
%if %{enable_devel}
# Remove duplicates; causes tools to complain. # Remove duplicates; causes tools to complain.
rm $RPM_BUILD_ROOT%{_libdir}/%{name}/funit-exec-alias rm $RPM_BUILD_ROOT%{_libdir}/%{name}/funit-exec-alias
# Remove debuginfo; confuses elfutils. # Remove debuginfo; confuses elfutils.
rm $RPM_BUILD_ROOT%{_libdir}/%{name}/funit-*-nodebug rm $RPM_BUILD_ROOT%{_libdir}/%{name}/funit-*-nodebug
%endif
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%clean
rm -rf %{buildroot}
%files %files
@ -296,20 +391,9 @@ rm -rf %{buildroot}
%{_bindir}/fstep %{_bindir}/fstep
%{_bindir}/ftrace %{_bindir}/ftrace
%{_libdir}/libfrysk-antlr.so %{_libdir}/%{name}/libfrysk-sys-jni.so
%{_libdir}/libfrysk-core.so # See bug 211824 for why these are in lib and not /usr/share/java/*
%{_libdir}/libfrysk-getopt.so %{_libdir}/%{name}/java/*.jar
%{_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
%{_mandir}/man1/fauxv.1.gz %{_mandir}/man1/fauxv.1.gz
%{_mandir}/man1/fcatch.1.gz %{_mandir}/man1/fcatch.1.gz
@ -326,6 +410,7 @@ rm -rf %{buildroot}
%{_mandir}/man1/ftrace.1.gz %{_mandir}/man1/ftrace.1.gz
%{_mandir}/man7/frysk.7.gz %{_mandir}/man7/frysk.7.gz
%if %{enable_devel}
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
@ -335,7 +420,6 @@ rm -rf %{buildroot}
%dir %{_libdir}/%{name} %dir %{_libdir}/%{name}
%{_libdir}/%{name}/FunitSimpleInterfaceMain %{_libdir}/%{name}/FunitSimpleInterfaceMain
%{_libdir}/%{name}/fsystest %{_libdir}/%{name}/fsystest
%{_libdir}/%{name}/ftail
%{_libdir}/%{name}/funit* %{_libdir}/%{name}/funit*
%{_libdir}/%{name}/hpd-c %{_libdir}/%{name}/hpd-c
%{_libdir}/%{name}/sys-tests %{_libdir}/%{name}/sys-tests
@ -343,9 +427,21 @@ rm -rf %{buildroot}
%{_libdir}/%{name}/test1 %{_libdir}/%{name}/test1
%{_datadir}/%{name}/helloworld.o %{_datadir}/%{name}/helloworld.o
%{_datadir}/%{name}/test_looper.xml %{_datadir}/%{name}/test_looper.xml
%{_datadir}/%{name}/dogtail_scripts %{_datadir}/%{name}/test-core-x86
%{_mandir}/man8/* %{_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 %files gnome
%defattr(-,root,root) %defattr(-,root,root)
@ -361,6 +457,7 @@ rm -rf %{buildroot}
%{_datadir}/%{name}/glade %{_datadir}/%{name}/glade
%{_datadir}/%{name}/images %{_datadir}/%{name}/images
%{_datadir}/%{name}/messages.properties
%{_datadir}/applications/frysk.desktop %{_datadir}/applications/frysk.desktop
%{_datadir}/pixmaps/fryskTrayIcon48.png %{_datadir}/pixmaps/fryskTrayIcon48.png
@ -369,7 +466,229 @@ rm -rf %{buildroot}
%{_mandir}/man1/frysk.1.gz %{_mandir}/man1/frysk.1.gz
%endif
%changelog %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 * 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 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
@ -481,15 +800,15 @@ rm -rf %{buildroot}
* Mon Dec 01 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.4-3 * Mon Dec 01 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.4-3
- Rebuild for Python 2.6 - 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 - drop EPL from licence list; cdtparser deleted
- re-enable SMP make - re-enable SMP make
- disable -Werror flag to gcj - 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. - 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 - import frysk-0.4.tar.bz2
- removed Patch7: frysk-0.0.1.2008.02.29.rh1-jboolean-array.patch - 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 - removed Patch8: frysk-0.0.1.2008.02.29.rh1-asm-includes.patch
@ -501,19 +820,19 @@ rm -rf %{buildroot}
- remove test_main_looper from file list. - remove test_main_looper from file list.
- remove libfrysk-cdtparser 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. - 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 - re-instate patch10, install fparser's manpage in man8
- drop patch6, frysk-0.0.1.2008.01.18.rh1-elfutils-werror.patch. - 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 - import frysk-0.2.1.tar.bz2
- drop patch9, frysk-elfutils-src.patch. - drop patch9, frysk-elfutils-src.patch.
- drop patch10, install fparser's manpage in man8 - 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) - import 0.0.1.2008.03.19.rh1 (35c076f3436b95a116cba33f52e0c9a592607dfa)
- move fparser to pkglibdir. - move fparser to pkglibdir.
- add ferror to frysk's file list. - add ferror to frysk's file list.
@ -523,13 +842,13 @@ rm -rf %{buildroot}
- add Patch9 frysk-elfutils-crc.patch, work-around broken CRC check. - add Patch9 frysk-elfutils-crc.patch, work-around broken CRC check.
- add Patch10, install fparser's manpage in man8 - 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. - 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) - 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 - Update releease number
- added frysk-0.0.1.2008.02.29.rh1-asm-includes.patch - added frysk-0.0.1.2008.02.29.rh1-asm-includes.patch
- added frysk-0.0.1.2008.02.29.rh1-jboolean-array.patch - added frysk-0.0.1.2008.02.29.rh1-jboolean-array.patch
@ -547,7 +866,7 @@ rm -rf %{buildroot}
* Mon Feb 4 2008 Stepan Kasal <skasal@redhat.com> - 0.0.1.2008.01.18.rh1-2 * Mon Feb 4 2008 Stepan Kasal <skasal@redhat.com> - 0.0.1.2008.01.18.rh1-2
- rebuild against rebuilt java-gnome - 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) - Import frysk-0.0.1.2008.01.18.rh1 (4cff0daa2996b28274985fa4674160f15e5fd9e2)
- Delete run_make_check code. - Delete run_make_check code.
- Add patch4, frysk-0.0.1.2008.01.18.rh1-no-sysroot.patch to not build - Add patch4, frysk-0.0.1.2008.01.18.rh1-no-sysroot.patch to not build
@ -754,7 +1073,7 @@ rm -rf %{buildroot}
* Wed Aug 2 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.25.rh1-3 * Wed Aug 2 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.25.rh1-3
- BuildRequires latest dogtail - 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 - Add dogtail to BuildRequires
* Tue Jul 25 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.25.rh1-2 * Tue Jul 25 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.25.rh1-2
@ -769,15 +1088,15 @@ rm -rf %{buildroot}
* Tue Jul 18 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.18.rh1-1 * 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. - 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: - Add two patches from Phil Muldoon:
frysk-20060714-observer.patch -- continue even though an observer cannot be load frysk-20060714-observer.patch -- continue even though an observer cannot be load
frysk-20060714-timer.patch -- fix incorrect usage of a core timer 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. - 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. - New upstream version.
* Wed Jul 12 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.12.rh2-1 * Wed Jul 12 2006 Stepan Kasal <skasal@redhat.com> - 0.0.1.2006.07.12.rh2-1
@ -823,7 +1142,7 @@ rm -rf %{buildroot}
- Patch for new linux/unistd.h. - Patch for new linux/unistd.h.
- Patch to avoid scanf("%%a[..]"). - 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. - New upstream version.
- Add BuildRequires: libglade2-devel >= 2.5.1 - Add BuildRequires: libglade2-devel >= 2.5.1
- Refresh other BuildRequires. - Refresh other BuildRequires.
@ -880,28 +1199,28 @@ rm -rf %{buildroot}
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com> * Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt - 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. - 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. - 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. - 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). - 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 * Mon Nov 14 2005 Igor Foox <ifoox@redhat.com> 0.0.0.20051114-0.1
- Removed smp flags. - 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. - 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. - 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 - Updated source, changed cdtparser dependency to eclipse-cdt. Added build
restriction to i386. Added %%{?_smp_flags} to make command. restriction to i386. Added %%{?_smp_flags} to make command.