*/*: sync with upstream

Taken from: FreeBSD
This commit is contained in:
Franco Fichtner 2015-04-30 07:19:01 +02:00
parent 9928440b7e
commit d7c9d0117e
166 changed files with 2060 additions and 2644 deletions

View file

@ -2,10 +2,11 @@
# $FreeBSD$
PORTNAME= lzf
PORTVERSION= 1.6.2
PORTVERSION= 1.6.3
CATEGORIES= archivers pear
MASTER_SITES= http://pecl.php.net/get/
PKGNAMEPREFIX= pecl-
DISTNAME= ${PORTNAME:tu}-${PORTVERSION}
DIST_SUBDIR= PECL
MAINTAINER= ports@FreeBSD.org
@ -13,7 +14,6 @@ COMMENT= Handles LZF de/compression
LICENSE= PHP202
BROKEN= No public distfiles
USES= tar:tgz
USE_PHP= yes
USE_PHPEXT= yes

View file

@ -1,2 +1,2 @@
SHA256 (PECL/lzf-1.6.2.tgz) = b381ac66cd12cc753e768c602f87d542fcd9718039cec4947d37f1229a7b93e3
SIZE (PECL/lzf-1.6.2.tgz) = 13204
SHA256 (PECL/LZF-1.6.3.tgz) = 42ec458ea10128a801e8d39736b519ba81fa75d2a617d2777b7d6b3276601a5d
SIZE (PECL/LZF-1.6.3.tgz) = 15545

View file

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= beets
PORTVERSION= 1.3.10
PORTVERSION= 1.3.11
CATEGORIES= audio python
MASTER_SITES= CHEESESHOP
@ -10,13 +10,14 @@ MAINTAINER= stiginge@pvv.org
COMMENT= Media library management system for obsessive-compulsive music geeks
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mutagen>=1.23:${PORTSDIR}/audio/py-mutagen \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mutagen>=1.27:${PORTSDIR}/audio/py-mutagen \
${PYTHON_PKGNAMEPREFIX}unidecode>=0:${PORTSDIR}/converters/py-unidecode \
${PYTHON_PKGNAMEPREFIX}musicbrainzngs>=0.4:${PORTSDIR}/audio/py-musicbrainzngs \
${PYTHON_PKGNAMEPREFIX}munkres>=0:${PORTSDIR}/math/py-munkres \
${PYTHON_PKGNAMEPREFIX}yaml>=0:${PORTSDIR}/devel/py-yaml \
${PYTHON_PKGNAMEPREFIX}enum34>=0:${PORTSDIR}/devel/py-enum34 \
${PYTHON_PKGNAMEPREFIX}enum34>=1.0:${PORTSDIR}/devel/py-enum34 \
${PYTHON_PKGNAMEPREFIX}sqlite3>=0:${PORTSDIR}/databases/py-sqlite3
USES= python
@ -24,12 +25,11 @@ USE_PYTHON= distutils autoplist
PLIST_FILES= man/man1/beet.1.gz man/man5/beetsconfig.5.gz
OPTIONS_DEFINE= BEATPORT BPD CHROMA DISCOGS ECHONEST FETCHART FFMPEG \
OPTIONS_DEFINE= BPD CHROMA DISCOGS ECHONEST FETCHART FFMPEG \
IMAGEMAGICK LASTFM LASTIMPORT LYRICS LYRICS_GOOGLE MPDSTATS \
PLEXUPDATE REPLAYGAIN SPOTIFY WEB
PLEXUPDATE REPLAYGAIN SPOTIFY THUMBNAILS WEB WEB_CORS
OPTIONS_DEFAULT=
BEATPORT_DESC= Beatport Catalog Autotagging Support
BPD_DESC= MPD Compatible Music Player Plugin
CHROMA_DESC= Audio Fingerprinting Plugin
DISCOGS_DESC= Discogs Search Plugin
@ -44,13 +44,14 @@ MPDSTATS_DESC= MPD Statistics Plugin
PLEXUPDATE_DESC= PlexUpdate Plugin
REPLAYGAIN_DESC= Normalize Audio Loudness
SPOTIFY_DESC= Spotify Plugin
WEB_DESC= Webserver Music Player Plugin
THUMBNAILS_DESC= Thumbnails for freedesktop.org-compliant file managers
WEB_DESC= Web plugin for querying, browsing and playing music
WEB_CORS_DESC= Cross-origin resource sharing for the Web plugin
BEATPORT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>=0:${PORTSDIR}/www/py-requests
BPD_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gstreamer>=0.10:${PORTSDIR}/multimedia/py-gstreamer
BPD_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}mpd>=0.2.0:${PORTSDIR}/audio/py-mpd
CHROMA_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyacoustid>=0:${PORTSDIR}/audio/py-pyacoustid
DISCOGS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}discogs-client>=2.0.0:${PORTSDIR}/audio/py-discogs-client
DISCOGS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}discogs-client>=2.1.0:${PORTSDIR}/audio/py-discogs-client
ECHONEST_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyechonest>=8.0.1:${PORTSDIR}/devel/py-pyechonest
FETCHART_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>=0:${PORTSDIR}/www/py-requests
FFMPEG_RUN_DEPENDS= ffmpeg>=2:${PORTSDIR}/multimedia/ffmpeg
@ -64,7 +65,10 @@ PLEXUPDATE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>=0:${PORTSDIR}/www/py-re
REPLAYGAIN_RUN_DEPENDS= mp3gain>=0:${PORTSDIR}/audio/mp3gain
REPLAYGAIN_RUN_DEPENDS+= aacgain>=0:${PORTSDIR}/audio/aacgain
SPOTIFY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>=0:${PORTSDIR}/www/py-requests
THUMBNAILS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}xdg>=0:${PORTSDIR}/devel/py-xdg
THUMBNAILS_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}pathlib>=0:${PORTSDIR}/devel/py-pathlib
WEB_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Flask>=0:${PORTSDIR}/www/py-flask
WEB_CORS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Flask-Cors>=0:${PORTSDIR}/www/py-flask-cors
.include <bsd.port.pre.mk>

View file

@ -1,2 +1,2 @@
SHA256 (beets-1.3.10.tar.gz) = ba3dd640964ced1e9c2d02bbe17177b33eff46186872537473ddf59675b3f637
SIZE (beets-1.3.10.tar.gz) = 1219543
SHA256 (beets-1.3.11.tar.gz) = 4a926b4c82409382b993b14cac7ecdbd18dea84845030ad41e26198542871408
SIZE (beets-1.3.11.tar.gz) = 1262101

View file

@ -2,11 +2,11 @@
# $FreeBSD$
PORTNAME= quisk
PORTVERSION= 3.6.20
PORTVERSION= 3.6.21
CATEGORIES= comms hamradio
MASTER_SITES= http://james.ahlstrom.name/quisk/ \
${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR=shurd
MASTER_SITE_SUBDIR=db
MAINTAINER= hamradio@FreeBSD.org
COMMENT= Software Defined Radio (SDR)

View file

@ -1,2 +1,2 @@
SHA256 (quisk-3.6.20.tar.gz) = ec9f66585f270f65cf93695d2fcc323a058cda2fac4728adceca0b7bbf749f0f
SIZE (quisk-3.6.20.tar.gz) = 1143006
SHA256 (quisk-3.6.21.tar.gz) = e9cf1b870943389396804b375a8982990e74f8ddc0d0af79cbb93a06e40998ca
SIZE (quisk-3.6.21.tar.gz) = 1148149

View file

@ -4,6 +4,7 @@
PORTNAME= evolution-data-server
PORTVERSION= 3.12.11
PORTREVISION= 1
CATEGORIES= databases gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome3
@ -26,6 +27,11 @@ LIB_DEPENDS= libsoup-gnome-2.4.so:${PORTSDIR}/devel/libsoup-gnome \
libgnome-keyring.so:${PORTSDIR}/security/libgnome-keyring
USES= bison gettext gmake gperf libtool pathfix pkgconfig tar:xz
# Unbreak mail/evolution with webkit-gtk3 on FreeBSD 8 and 9. Normally
# this change would be done there, but it is not a C++ application, so it
# does not link directly to libstdc++ and adding the libstdc++ rpath to
# the executable does not work at runtime.
USES+= compiler:c++11-lib
USE_GNOME= gnomeprefix gtk30 intlhack introspection:build \
libxml2
USE_OPENLDAP= yes

View file

@ -2,7 +2,7 @@
PORTNAME= virt-manager
PORTVERSION= 1.1.0
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= deskutils net-mgmt
MASTER_SITES= http://virt-manager.org/download/sources/${PORTNAME}/ \
LOCAL/jgh/deskutils/${PORTNAME}/

View file

@ -0,0 +1,32 @@
From 0aeee5c449d608d75f5632e9aa47f5e433eb3879 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Sun, 26 Apr 2015 11:50:01 -0400
Subject: serialcon: Fix opening with xen (bz 1215357)
Apparently xen doesn't set <serial> device alias names, and OpenConsole
just opens the first <console> device unconditionally.
Properly handling that would be to report it in the UI that we can
only open the first console, but for now just drop the alias check.
Apparently SUSE already does this as mentioned in the RH bug
https://bugzilla.redhat.com/show_bug.cgi?id=1215357
diff --git a/virtManager/serialcon.py b/virtManager/serialcon.py
index 92c2029..320811b 100644
--- ./virtManager/serialcon.py
+++ ./virtManager/serialcon.py
@@ -205,8 +205,9 @@ class LibvirtConsoleConnection(ConsoleConnection):
name = dev and dev.alias.name or None
logging.debug("Opening console stream for dev=%s alias=%s",
dev, name)
- if not name:
- raise RuntimeError(_("Cannot open a device with no alias name"))
+ # libxl doesn't set aliases, their open_console just defaults to
+ # opening the first console device, so don't force prescence of
+ # an alias
stream = self.conn.get_backend().newStream(libvirt.VIR_STREAM_NONBLOCK)
self.vm.open_console(name, stream)
--
cgit v0.10.2

View file

@ -3946,6 +3946,7 @@
SUBDIR += py-parsedatetime
SUBDIR += py-parsing
SUBDIR += py-path.py
SUBDIR += py-pathlib
SUBDIR += py-pathtools
SUBDIR += py-paver
SUBDIR += py-pbr

View file

@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= gdb
PORTVERSION= 7.8.2
PORTREVISION= 2
PORTVERSION= 7.9
CATEGORIES= devel
MASTER_SITES= GNU
@ -27,6 +26,12 @@ CFLAGS:= ${CFLAGS:C/ +$//} # blanks at EOL creep in sometimes
CFLAGS+= -DRL_NO_COMPAT -Wno-unused-function -Wno-unused-variable
EXCLUDE= dejagnu expect sim texinfo intl
EXTRACT_AFTER_ARGS= ${EXCLUDE:S/^/--exclude /}
EXTRA_PATCHES= ${FILESDIR}/commit-c5cb74e \
${FILESDIR}/commit-cf424ae \
${FILESDIR}/commit-773eacf \
${FILESDIR}/commit-2526815 \
${FILESDIR}/commit-3ce5b6e \
${FILESDIR}/commit-97de354
VER= ${PORTVERSION:S/.//g}
PLIST_SUB= VER=${VER}
@ -61,7 +66,6 @@ GUILE_LIB_DEPENDS= libguile-2.0.so:${PORTSDIR}/lang/guile2
PYTHON_CONFIGURE_ON= --with-python=${PYTHON_CMD}
PYTHON_CONFIGURE_OFF= --without-python
PYTHON_USES= python:2
PORT_READLINE_EXTRA_PATCHES= ${FILESDIR}/extrapatch-gdb-tui-tui-io.c
PORT_READLINE_USES= readline:port
TUI_CONFIGURE_ENABLE= tui

View file

@ -1,2 +1,2 @@
SHA256 (gdb-7.8.2.tar.xz) = 605954d5747d5f08ea4b7f48e958d1ebbf39265e18f7f36738deeabb83744485
SIZE (gdb-7.8.2.tar.xz) = 17678568
SHA256 (gdb-7.9.tar.xz) = 9b315651a16528f7af8c7d8284699fb0c965df316cc7339bb0b7bae335848392
SIZE (gdb-7.9.tar.xz) = 17859428

View file

@ -0,0 +1,186 @@
diff --git gdb/config.in gdb/config.in
index 3ccac37..8a27df0 100644
--- gdb/config.in
+++ gdb/config.in
@@ -213,6 +213,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define to 1 if your system has the kinfo_getvmmap function. */
+#undef HAVE_KINFO_GETVMMAP
+
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
#undef HAVE_LANGINFO_CODESET
diff --git gdb/configure gdb/configure
index cca0aeb..78d206b 100755
--- gdb/configure
+++ gdb/configure
@@ -7159,6 +7159,66 @@ if test "$ac_res" != no; then :
fi
+# On FreeBSD we may need libutil for kinfo_getvmmap (used by fbsd-nat.c).
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing kinfo_getvmmap" >&5
+$as_echo_n "checking for library containing kinfo_getvmmap... " >&6; }
+if test "${ac_cv_search_kinfo_getvmmap+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char kinfo_getvmmap ();
+int
+main ()
+{
+return kinfo_getvmmap ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' util; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_kinfo_getvmmap=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if test "${ac_cv_search_kinfo_getvmmap+set}" = set; then :
+ break
+fi
+done
+if test "${ac_cv_search_kinfo_getvmmap+set}" = set; then :
+
+else
+ ac_cv_search_kinfo_getvmmap=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_kinfo_getvmmap" >&5
+$as_echo "$ac_cv_search_kinfo_getvmmap" >&6; }
+ac_res=$ac_cv_search_kinfo_getvmmap
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+$as_echo "#define HAVE_KINFO_GETVMMAP 1" >>confdefs.h
+
+fi
+
+
diff --git gdb/configure.ac gdb/configure.ac
index 4a0b6a3..38747e8 100644
--- gdb/configure.ac
+++ gdb/configure.ac
@@ -537,6 +537,11 @@ AM_ZLIB
# On HP/UX we may need libxpdl for dlgetmodinfo (used by solib-pa64.c).
AC_SEARCH_LIBS(dlgetmodinfo, [dl xpdl])
+# On FreeBSD we may need libutil for kinfo_getvmmap (used by fbsd-nat.c).
+AC_SEARCH_LIBS(kinfo_getvmmap, util,
+ [AC_DEFINE(HAVE_KINFO_GETVMMAP, 1,
+ [Define to 1 if your system has the kinfo_getvmmap function. ])])
+
AM_ICONV
# GDB may fork/exec the iconv program to get the list of supported character
diff --git gdb/fbsd-nat.c gdb/fbsd-nat.c
index 062eede..1ce197d 100644
--- gdb/fbsd-nat.c
+++ gdb/fbsd-nat.c
@@ -26,6 +26,10 @@
#include <sys/types.h>
#include <sys/procfs.h>
#include <sys/sysctl.h>
+#ifdef HAVE_KINFO_GETVMMAP
+#include <sys/user.h>
+#include <libutil.h>
+#endif
#include "elf-bfd.h"
#include "fbsd-nat.h"
@@ -62,6 +66,64 @@ fbsd_pid_to_exec_file (struct target_ops *self, int pid)
return NULL;
}
+#ifdef HAVE_KINFO_GETVMMAP
+/* Iterate over all the memory regions in the current inferior,
+ calling FUNC for each memory region. OBFD is passed as the last
+ argument to FUNC. */
+
+int
+fbsd_find_memory_regions (struct target_ops *self,
+ find_memory_region_ftype func, void *obfd)
+{
+ pid_t pid = ptid_get_pid (inferior_ptid);
+ struct kinfo_vmentry *vmentl, *kve;
+ uint64_t size;
+ struct cleanup *cleanup;
+ int i, nitems;
+
+ vmentl = kinfo_getvmmap (pid, &nitems);
+ if (vmentl == NULL)
+ perror_with_name (_("Couldn't fetch VM map entries."));
+ cleanup = make_cleanup (free, vmentl);
+
+ for (i = 0; i < nitems; i++)
+ {
+ kve = &vmentl[i];
+
+ /* Skip unreadable segments and those where MAP_NOCORE has been set. */
+ if (!(kve->kve_protection & KVME_PROT_READ)
+ || kve->kve_flags & KVME_FLAG_NOCOREDUMP)
+ continue;
+
+ /* Skip segments with an invalid type. */
+ if (kve->kve_type != KVME_TYPE_DEFAULT
+ && kve->kve_type != KVME_TYPE_VNODE
+ && kve->kve_type != KVME_TYPE_SWAP
+ && kve->kve_type != KVME_TYPE_PHYS)
+ continue;
+
+ size = kve->kve_end - kve->kve_start;
+ if (info_verbose)
+ {
+ fprintf_filtered (gdb_stdout,
+ "Save segment, %ld bytes at %s (%c%c%c)\n",
+ (long) size,
+ paddress (target_gdbarch (), kve->kve_start),
+ kve->kve_protection & KVME_PROT_READ ? 'r' : '-',
+ kve->kve_protection & KVME_PROT_WRITE ? 'w' : '-',
+ kve->kve_protection & KVME_PROT_EXEC ? 'x' : '-');
+ }
+
+ /* Invoke the callback function to create the corefile segment.
+ Pass MODIFIED as true, we do not know the real modification state. */
+ func (kve->kve_start, size, kve->kve_protection & KVME_PROT_READ,
+ kve->kve_protection & KVME_PROT_WRITE,
+ kve->kve_protection & KVME_PROT_EXEC, 1, obfd);
+ }
+ do_cleanups (cleanup);
+ return 0;
+}
+#else
static int
fbsd_read_mapping (FILE *mapfile, unsigned long *start, unsigned long *end,
char *protection)
@@ -137,3 +199,4 @@ fbsd_find_memory_regions (struct target_ops *self,
do_cleanups (cleanup);
return 0;
}
+#endif

View file

@ -0,0 +1,21 @@
diff --git gdb/fbsd-tdep.c gdb/fbsd-tdep.c
index 5d17f03..9609cd8 100644
--- gdb/fbsd-tdep.c
+++ gdb/fbsd-tdep.c
@@ -89,7 +89,7 @@ fbsd_collect_regset_section_cb (const char *sect_name, int size,
static char *
fbsd_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
{
- const struct regcache *regcache = get_current_regcache ();
+ struct regcache *regcache = get_current_regcache ();
char *note_data;
Elf_Internal_Ehdr *i_ehdrp;
struct fbsd_collect_regset_section_cb_data data;
@@ -104,6 +104,7 @@ fbsd_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
data.obfd = obfd;
data.note_data = NULL;
data.note_size = note_size;
+ target_fetch_registers (regcache, -1);
gdbarch_iterate_over_regset_sections (gdbarch,
fbsd_collect_regset_section_cb,
&data, regcache);

View file

@ -0,0 +1,99 @@
diff --git gdb/amd64fbsd-tdep.c gdb/amd64fbsd-tdep.c
index e11b0f3..62dcb83 100644
--- gdb/amd64fbsd-tdep.c
+++ gdb/amd64fbsd-tdep.c
@@ -51,8 +51,8 @@ amd64fbsd_sigtramp_p (struct frame_info *this_frame)
if (!safe_frame_unwind_memory (this_frame, pc, buf, sizeof buf))
return 0;
- if (memcmp (buf, amd64fbsd_sigtramp_code, sizeof amd64fbsd_sigtramp_code) !=
- 0)
+ if (memcmp (buf, amd64fbsd_sigtramp_code, sizeof amd64fbsd_sigtramp_code)
+ != 0)
return 0;
return 1;
diff --git gdb/i386fbsd-tdep.c gdb/i386fbsd-tdep.c
index d4516ee..ed41706 100644
--- gdb/i386fbsd-tdep.c
+++ gdb/i386fbsd-tdep.c
@@ -105,24 +105,24 @@ static const gdb_byte i386fbsd_osigtramp_end[] =
};
/* The three different trampolines are all the same size. */
-gdb_static_assert (sizeof i386fbsd_sigtramp_start ==
- sizeof i386fbsd_freebsd4_sigtramp_start);
-gdb_static_assert (sizeof i386fbsd_sigtramp_start ==
- sizeof i386fbsd_osigtramp_start);
-gdb_static_assert (sizeof i386fbsd_sigtramp_middle ==
- sizeof i386fbsd_freebsd4_sigtramp_middle);
-gdb_static_assert (sizeof i386fbsd_sigtramp_middle ==
- sizeof i386fbsd_osigtramp_middle);
-gdb_static_assert (sizeof i386fbsd_sigtramp_end ==
- sizeof i386fbsd_freebsd4_sigtramp_end);
-gdb_static_assert (sizeof i386fbsd_sigtramp_end ==
- sizeof i386fbsd_osigtramp_end);
+gdb_static_assert (sizeof i386fbsd_sigtramp_start
+ == sizeof i386fbsd_freebsd4_sigtramp_start);
+gdb_static_assert (sizeof i386fbsd_sigtramp_start
+ == sizeof i386fbsd_osigtramp_start);
+gdb_static_assert (sizeof i386fbsd_sigtramp_middle
+ == sizeof i386fbsd_freebsd4_sigtramp_middle);
+gdb_static_assert (sizeof i386fbsd_sigtramp_middle
+ == sizeof i386fbsd_osigtramp_middle);
+gdb_static_assert (sizeof i386fbsd_sigtramp_end
+ == sizeof i386fbsd_freebsd4_sigtramp_end);
+gdb_static_assert (sizeof i386fbsd_sigtramp_end
+ == sizeof i386fbsd_osigtramp_end);
/* We assume that the middle is the largest chunk below. */
-gdb_static_assert (sizeof i386fbsd_sigtramp_middle >
- sizeof i386fbsd_sigtramp_start);
-gdb_static_assert (sizeof i386fbsd_sigtramp_middle >
- sizeof i386fbsd_sigtramp_end);
+gdb_static_assert (sizeof i386fbsd_sigtramp_middle
+ > sizeof i386fbsd_sigtramp_start);
+gdb_static_assert (sizeof i386fbsd_sigtramp_middle
+ > sizeof i386fbsd_sigtramp_end);
static int
i386fbsd_sigtramp_p (struct frame_info *this_frame)
@@ -135,19 +135,25 @@ i386fbsd_sigtramp_p (struct frame_info *this_frame)
if (!safe_frame_unwind_memory (this_frame, pc, buf,
sizeof i386fbsd_sigtramp_start))
return 0;
- if (memcmp (buf, i386fbsd_sigtramp_start, sizeof i386fbsd_sigtramp_start) ==
- 0) {
- middle = i386fbsd_sigtramp_middle;
- end = i386fbsd_sigtramp_end;
- } else if (memcmp (buf, i386fbsd_freebsd4_sigtramp_start,
- sizeof i386fbsd_freebsd4_sigtramp_start) == 0) {
- middle = i386fbsd_freebsd4_sigtramp_middle;
- end = i386fbsd_freebsd4_sigtramp_end;
- } else if (memcmp (buf, i386fbsd_osigtramp_start,
- sizeof i386fbsd_osigtramp_start) == 0) {
- middle = i386fbsd_osigtramp_middle;
- end = i386fbsd_osigtramp_end;
- } else
+ if (memcmp (buf, i386fbsd_sigtramp_start, sizeof i386fbsd_sigtramp_start)
+ == 0)
+ {
+ middle = i386fbsd_sigtramp_middle;
+ end = i386fbsd_sigtramp_end;
+ }
+ else if (memcmp (buf, i386fbsd_freebsd4_sigtramp_start,
+ sizeof i386fbsd_freebsd4_sigtramp_start) == 0)
+ {
+ middle = i386fbsd_freebsd4_sigtramp_middle;
+ end = i386fbsd_freebsd4_sigtramp_end;
+ }
+ else if (memcmp (buf, i386fbsd_osigtramp_start,
+ sizeof i386fbsd_osigtramp_start) == 0)
+ {
+ middle = i386fbsd_osigtramp_middle;
+ end = i386fbsd_osigtramp_end;
+ }
+ else
return 0;
/* Since the end is shorter than the middle, check for a matching end

View file

@ -1,8 +1,8 @@
diff --git a/bfd/elf.c b/bfd/elf.c
index 3f377d1..9481435 100644
diff --git bfd/elf.c bfd/elf.c
index a031b9e..41fb023 100644
--- bfd/elf.c
+++ bfd/elf.c
@@ -8609,6 +8609,9 @@ elfcore_grok_note (bfd *abfd, Elf_Internal_Note *note)
@@ -8737,6 +8737,9 @@ elfcore_grok_note (bfd *abfd, Elf_Internal_Note *note)
if (note->namesz == 6
&& strcmp (note->namedata, "LINUX") == 0)
return elfcore_grok_xstatereg (abfd, note);
@ -12,47 +12,103 @@ index 3f377d1..9481435 100644
else
return TRUE;
diff --git a/gdb/amd64-tdep.h b/gdb/amd64-tdep.h
index f1b039e..7a4c1dc 100644
@@ -9556,7 +9559,11 @@ char *
elfcore_write_xstatereg (bfd *abfd, char *buf, int *bufsiz,
const void *xfpregs, int size)
{
- char *note_name = "LINUX";
+ char *note_name;
+ if (get_elf_backend_data (abfd)->elf_osabi == ELFOSABI_FREEBSD)
+ note_name = "FreeBSD";
+ else
+ note_name = "LINUX";
return elfcore_write_note (abfd, buf, bufsiz,
note_name, NT_X86_XSTATE, xfpregs, size);
}
diff --git gdb/amd64-tdep.c gdb/amd64-tdep.c
index 3e5d1bd..461b701 100644
--- gdb/amd64-tdep.c
+++ gdb/amd64-tdep.c
@@ -39,6 +39,7 @@
#include "disasm.h"
#include "amd64-tdep.h"
#include "i387-tdep.h"
+#include "x86-xstate.h"
#include "features/i386/amd64.c"
#include "features/i386/amd64-avx.c"
@@ -3118,6 +3119,25 @@ amd64_x32_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_ptr_bit (gdbarch, 32);
}
+/* Return the target description for a specified XSAVE feature mask. */
+
+const struct target_desc *
+amd64_target_description (uint64_t xcr0)
+{
+ switch (xcr0 & X86_XSTATE_ALL_MASK)
+ {
+ case X86_XSTATE_MPX_AVX512_MASK:
+ case X86_XSTATE_AVX512_MASK:
+ return tdesc_amd64_avx512;
+ case X86_XSTATE_MPX_MASK:
+ return tdesc_amd64_mpx;
+ case X86_XSTATE_AVX_MASK:
+ return tdesc_amd64_avx;
+ default:
+ return tdesc_amd64;
+ }
+}
+
/* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_amd64_tdep (void);
diff --git gdb/amd64-tdep.h gdb/amd64-tdep.h
index 318fd43..704225e 100644
--- gdb/amd64-tdep.h
+++ gdb/amd64-tdep.h
@@ -84,6 +84,11 @@ enum amd64_regnum
@@ -84,6 +84,8 @@ enum amd64_regnum
#define AMD64_NUM_REGS (AMD64_ZMM31H_REGNUM + 1)
+extern struct target_desc *tdesc_amd64;
+extern struct target_desc *tdesc_amd64_avx;
+extern struct target_desc *tdesc_amd64_mpx;
+extern struct target_desc *tdesc_amd64_avx512;
+
extern struct displaced_step_closure *amd64_displaced_step_copy_insn
(struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to,
struct regcache *regs);
diff --git a/gdb/amd64bsd-nat.c b/gdb/amd64bsd-nat.c
index 4b0a231..9e6a0df 100644
@@ -95,6 +97,7 @@ extern void amd64_displaced_step_fixup (struct gdbarch *gdbarch,
extern void amd64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch);
extern void amd64_x32_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch);
+extern const struct target_desc *amd64_target_description (uint64_t xcr0);
/* Fill register REGNUM in REGCACHE with the appropriate
floating-point or SSE register value from *FXSAVE. If REGNUM is
diff --git gdb/amd64bsd-nat.c gdb/amd64bsd-nat.c
index 31060a123..66d4289 100644
--- gdb/amd64bsd-nat.c
+++ gdb/amd64bsd-nat.c
@@ -37,6 +37,10 @@
@@ -35,6 +35,10 @@
#include "inf-ptrace.h"
+#ifdef PT_GETXSTATE_INFO
+size_t x86_xsave_len;
+size_t amd64bsd_xsave_len;
+#endif
+
/* Fetch register REGNUM from the inferior. If REGNUM is -1, do this
for all registers (including the floating-point registers). */
@@ -62,6 +66,20 @@ amd64bsd_fetch_inferior_registers (struct target_ops *ops,
@@ -60,6 +64,20 @@ amd64bsd_fetch_inferior_registers (struct target_ops *ops,
if (regnum == -1 || !amd64_native_gregset_supplies_p (gdbarch, regnum))
{
struct fpreg fpregs;
+#ifdef PT_GETXSTATE_INFO
+ char *xstateregs;
+
+ if (x86_xsave_len != 0)
+ if (amd64bsd_xsave_len != 0)
+ {
+ xstateregs = alloca(x86_xsave_len);
+ xstateregs = alloca (amd64bsd_xsave_len);
+ if (ptrace (PT_GETXSTATE, ptid_get_pid (inferior_ptid),
+ (PTRACE_TYPE_ARG3) xstateregs, 0) == -1)
+ perror_with_name (_("Couldn't get extended state status"));
@ -64,16 +120,16 @@ index 4b0a231..9e6a0df 100644
if (ptrace (PT_GETFPREGS, ptid_get_pid (inferior_ptid),
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
@@ -111,6 +129,24 @@ amd64bsd_store_inferior_registers (struct target_ops *ops,
@@ -99,6 +117,24 @@ amd64bsd_store_inferior_registers (struct target_ops *ops,
if (regnum == -1 || !amd64_native_gregset_supplies_p (gdbarch, regnum))
{
struct fpreg fpregs;
+#ifdef PT_GETXSTATE_INFO
+ char *xstateregs;
+
+ if (x86_xsave_len != 0)
+ if (amd64bsd_xsave_len != 0)
+ {
+ xstateregs = alloca(x86_xsave_len);
+ xstateregs = alloca (amd64bsd_xsave_len);
+ if (ptrace (PT_GETXSTATE, ptid_get_pid (inferior_ptid),
+ (PTRACE_TYPE_ARG3) xstateregs, 0) == -1)
+ perror_with_name (_("Couldn't get extended state status"));
@ -81,7 +137,7 @@ index 4b0a231..9e6a0df 100644
+ amd64_collect_xsave (regcache, regnum, xstateregs, 0);
+
+ if (ptrace (PT_SETXSTATE, ptid_get_pid (inferior_ptid),
+ (PTRACE_TYPE_ARG3) xstateregs, x86_xsave_len) == -1)
+ (PTRACE_TYPE_ARG3) xstateregs, amd64bsd_xsave_len) == -1)
+ perror_with_name (_("Couldn't write extended state status"));
+ return;
+ }
@ -89,36 +145,30 @@ index 4b0a231..9e6a0df 100644
if (ptrace (PT_GETFPREGS, ptid_get_pid (inferior_ptid),
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
diff --git a/gdb/amd64bsd-nat.h b/gdb/amd64bsd-nat.h
index 7ff95f3..9d85a1f 100644
diff --git gdb/amd64bsd-nat.h gdb/amd64bsd-nat.h
index 167eb56..09776ee 100644
--- gdb/amd64bsd-nat.h
+++ gdb/amd64bsd-nat.h
@@ -20,6 +20,9 @@
#ifndef AMD64BSD_NAT_H
#define AMD64BSD_NAT_H
+/* Low level amd64 XSAVE info. */
+extern size_t x86_xsave_len;
+/* Low level amd64 XSAVE info. */
+extern size_t amd64bsd_xsave_len;
+
/* Low level amd64 debug register functions. */
extern void amd64bsd_dr_set_control (unsigned long control);
diff --git a/gdb/amd64fbsd-nat.c b/gdb/amd64fbsd-nat.c
index 08de9a1..eea2472 100644
diff --git gdb/amd64fbsd-nat.c gdb/amd64fbsd-nat.c
index b1b261c..a721f48 100644
--- gdb/amd64fbsd-nat.c
+++ gdb/amd64fbsd-nat.c
@@ -36,6 +36,7 @@
#include "amd64-nat.h"
#include "amd64bsd-nat.h"
#include "i386-nat.h"
+#include "i386-xstate.h"
/* Offset in `struct reg' where MEMBER is stored. */
@@ -153,6 +154,68 @@ amd64fbsd_mourn_inferior (struct target_ops *ops)
@@ -151,6 +151,50 @@ amd64fbsd_mourn_inferior (struct target_ops *ops)
super_mourn_inferior (ops);
}
+/* Implement the to_read_description method. */
+
+static const struct target_desc *
+amd64fbsd_read_description (struct target_ops *ops)
+{
@ -132,47 +182,27 @@ index 08de9a1..eea2472 100644
+ if (ptrace (PT_GETREGS, ptid_get_pid (inferior_ptid),
+ (PTRACE_TYPE_ARG3) &regs, 0) == -1)
+ perror_with_name (_("Couldn't get registers"));
+ is64 = (regs.r_cs == GSEL(GUCODE_SEL, SEL_UPL));
+ is64 = (regs.r_cs == GSEL (GUCODE_SEL, SEL_UPL));
+#ifdef PT_GETXSTATE_INFO
+ if (!xsave_probed)
+ {
+ struct ptrace_xstate_info info;
+
+ if (ptrace (PT_GETXSTATE_INFO, ptid_get_pid (inferior_ptid),
+ (PTRACE_TYPE_ARG3) &info, sizeof(info)) == 0)
+ (PTRACE_TYPE_ARG3) &info, sizeof (info)) == 0)
+ {
+ x86_xsave_len = info.xsave_len;
+ amd64bsd_xsave_len = info.xsave_len;
+ xcr0 = info.xsave_mask;
+ }
+ xsave_probed = 1;
+ }
+
+ if (x86_xsave_len != 0)
+ if (amd64bsd_xsave_len != 0)
+ {
+ switch (xcr0 & I386_XSTATE_ALL_MASK)
+ {
+ case I386_XSTATE_MPX_AVX512_MASK:
+ case I386_XSTATE_AVX512_MASK:
+ if (is64)
+ return tdesc_amd64_avx512;
+ else
+ return tdesc_i386_avx512;
+ case I386_XSTATE_MPX_MASK:
+ if (is64)
+ return tdesc_amd64_mpx;
+ else
+ return tdesc_i386_mpx;
+ case I386_XSTATE_AVX_MASK:
+ if (is64)
+ return tdesc_amd64_avx;
+ else
+ return tdesc_i386_avx;
+ default:
+ if (is64)
+ return tdesc_amd64;
+ else
+ return tdesc_i386;
+ }
+ if (is64)
+ return amd64_target_description (xcr0);
+ else
+ return i386_target_description (xcr0);
+ }
+#endif
+ if (is64)
@ -184,7 +214,7 @@ index 08de9a1..eea2472 100644
/* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_amd64fbsd_nat (void);
@@ -183,6 +246,7 @@ _initialize_amd64fbsd_nat (void)
@@ -181,6 +225,7 @@ _initialize_amd64fbsd_nat (void)
super_mourn_inferior = t->to_mourn_inferior;
t->to_mourn_inferior = amd64fbsd_mourn_inferior;
@ -192,8 +222,8 @@ index 08de9a1..eea2472 100644
t->to_pid_to_exec_file = fbsd_pid_to_exec_file;
t->to_find_memory_regions = fbsd_find_memory_regions;
diff --git a/gdb/amd64fbsd-tdep.c b/gdb/amd64fbsd-tdep.c
index 884fbc4..582ae50 100644
diff --git gdb/amd64fbsd-tdep.c gdb/amd64fbsd-tdep.c
index 62dcb83..52705d9 100644
--- gdb/amd64fbsd-tdep.c
+++ gdb/amd64fbsd-tdep.c
@@ -23,6 +23,9 @@
@ -202,62 +232,79 @@ index 884fbc4..582ae50 100644
#include "osabi.h"
+#include "regset.h"
+#include "i386fbsd-tdep.h"
+#include "i386-xstate.h"
+#include "x86-xstate.h"
#include "gdb_assert.h"
#include <string.h>
@@ -31,6 +34,15 @@
#include "amd64-tdep.h"
#include "bsd-uthread.h"
#include "solib-svr4.h"
+/* Supported register note sections. */
+static struct core_regset_section amd64fbsd_regset_sections[] =
+{
+ { ".reg", 22 * 8, "general-purpose" },
+ { ".reg2", 512, "floating-point" },
+ { ".reg-xstate", I386_XSTATE_MAX_SIZE, "XSAVE extended state" },
+ { NULL, 0 }
+};
+
/* Support for signal handlers. */
/* Assuming THIS_FRAME is for a BSD sigtramp routine, return the
@@ -144,6 +156,27 @@ static int amd64fbsd_jmp_buf_reg_offset[] =
@@ -169,6 +172,59 @@ static int amd64fbsd_jmp_buf_reg_offset[] =
0 * 8 /* %rip */
};
+/* Implement the core_read_description gdbarch method. */
+
+static const struct target_desc *
+amd64fbsd_core_read_description (struct gdbarch *gdbarch,
+ struct target_ops *target,
+ bfd *abfd)
+{
+ uint64_t xcr0 = i386fbsd_core_read_xcr0 (abfd);
+ return amd64_target_description (i386fbsd_core_read_xcr0 (abfd));
+}
+
+ switch (xcr0 & I386_XSTATE_ALL_MASK)
+ {
+ case I386_XSTATE_MPX_AVX512_MASK:
+ case I386_XSTATE_AVX512_MASK:
+ return tdesc_amd64_avx512;
+ case I386_XSTATE_MPX_MASK:
+ return tdesc_amd64_mpx;
+ case I386_XSTATE_AVX_MASK:
+ return tdesc_amd64_avx;
+ default:
+ return tdesc_amd64;
+ }
+/* Similar to amd64_supply_fpregset, but use XSAVE extended state. */
+
+static void
+amd64fbsd_supply_xstateregset (const struct regset *regset,
+ struct regcache *regcache, int regnum,
+ const void *xstateregs, size_t len)
+{
+ amd64_supply_xsave (regcache, regnum, xstateregs);
+}
+
+/* Similar to amd64_collect_fpregset, but use XSAVE extended state. */
+
+static void
+amd64fbsd_collect_xstateregset (const struct regset *regset,
+ const struct regcache *regcache,
+ int regnum, void *xstateregs, size_t len)
+{
+ amd64_collect_xsave (regcache, regnum, xstateregs, 1);
+}
+
+static const struct regset amd64fbsd_xstateregset =
+ {
+ NULL,
+ amd64fbsd_supply_xstateregset,
+ amd64fbsd_collect_xstateregset
+ };
+
+/* Iterate over core file register note sections. */
+
+static void
+amd64fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+ iterate_over_regset_sections_cb *cb,
+ void *cb_data,
+ const struct regcache *regcache)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+ cb (".reg", tdep->sizeof_gregset, &i386_gregset, NULL, cb_data);
+ cb (".reg2", tdep->sizeof_fpregset, &amd64_fpregset, NULL, cb_data);
+ cb (".reg-xstate", X86_XSTATE_SIZE(tdep->xcr0),
+ &amd64fbsd_xstateregset, "XSAVE extended state", cb_data);
+}
+
static void
amd64fbsd_supply_uthread (struct regcache *regcache,
int regnum, CORE_ADDR addr)
@@ -204,6 +237,14 @@ amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
@@ -233,6 +289,15 @@ amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->sc_reg_offset = amd64fbsd_sc_reg_offset;
tdep->sc_num_regs = ARRAY_SIZE (amd64fbsd_sc_reg_offset);
+ tdep->xsave_xcr0_offset = I386_FBSD_XSAVE_XCR0_OFFSET;
+
+ /* Install supported register note sections. */
+ set_gdbarch_core_regset_sections (gdbarch, amd64fbsd_regset_sections);
+ /* Iterate over core file register note sections. */
+ set_gdbarch_iterate_over_regset_sections
+ (gdbarch, amd64fbsd_iterate_over_regset_sections);
+
+ set_gdbarch_core_read_description (gdbarch,
+ amd64fbsd_core_read_description);
@ -265,49 +312,84 @@ index 884fbc4..582ae50 100644
/* FreeBSD provides a user-level threads implementation. */
bsd_uthread_set_supply_uthread (gdbarch, amd64fbsd_supply_uthread);
bsd_uthread_set_collect_uthread (gdbarch, amd64fbsd_collect_uthread);
diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h
index e0950a3..0498445 100644
diff --git gdb/i386-tdep.c gdb/i386-tdep.c
index 4d97915..0c7eb5a 100644
--- gdb/i386-tdep.c
+++ gdb/i386-tdep.c
@@ -8598,6 +8598,25 @@ i386_coff_osabi_sniffer (bfd *abfd)
}
+/* Return the target description for a specified XSAVE feature mask. */
+
+const struct target_desc *
+i386_target_description (uint64_t xcr0)
+{
+ switch (xcr0 & X86_XSTATE_ALL_MASK)
+ {
+ case X86_XSTATE_MPX_AVX512_MASK:
+ case X86_XSTATE_AVX512_MASK:
+ return tdesc_i386_avx512;
+ case X86_XSTATE_MPX_MASK:
+ return tdesc_i386_mpx;
+ case X86_XSTATE_AVX_MASK:
+ return tdesc_i386_avx;
+ default:
+ return tdesc_i386;
+ }
+}
+
/* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_i386_tdep (void);
diff --git gdb/i386-tdep.h gdb/i386-tdep.h
index 8bfd412..7880f6c 100644
--- gdb/i386-tdep.h
+++ gdb/i386-tdep.h
@@ -325,6 +325,11 @@ enum record_i386_regnum
@@ -328,6 +328,8 @@ enum record_i386_regnum
/* Size of the largest register. */
#define I386_MAX_REGISTER_SIZE 64
+extern struct target_desc *tdesc_i386;
+extern struct target_desc *tdesc_i386_avx;
+extern struct target_desc *tdesc_i386_mpx;
+extern struct target_desc *tdesc_i386_avx512;
+
/* Types for i386-specific registers. */
extern struct type *i387_ext_type (struct gdbarch *gdbarch);
diff --git a/gdb/i386bsd-nat.c b/gdb/i386bsd-nat.c
index acae6cb..c26e830 100644
@@ -416,6 +418,7 @@ extern void i386_svr4_init_abi (struct gdbarch_info, struct gdbarch *);
extern int i386_process_record (struct gdbarch *gdbarch,
struct regcache *regcache, CORE_ADDR addr);
+extern const struct target_desc *i386_target_description (uint64_t xcr0);
diff --git gdb/i386bsd-nat.c gdb/i386bsd-nat.c
index 16e0707..ac8a19b 100644
--- gdb/i386bsd-nat.c
+++ gdb/i386bsd-nat.c
@@ -83,6 +83,10 @@ static int i386bsd_r_reg_offset[] =
@@ -81,6 +81,10 @@ static int i386bsd_r_reg_offset[] =
so that we try PT_GETXMMREGS the first time around. */
static int have_ptrace_xmmregs = -1;
#endif
+
+#ifdef PT_GETXSTATE_INFO
+size_t x86_xsave_len;
+size_t i386bsd_xsave_len;
+#endif
/* Supply the general-purpose registers in GREGS, to REGCACHE. */
@@ -150,7 +154,25 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
@@ -148,7 +152,24 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
struct fpreg fpregs;
#ifdef HAVE_PT_GETXMMREGS
char xmmregs[512];
+#endif
+
+#ifdef PT_GETXSTATE_INFO
+ if (x86_xsave_len != 0)
+ if (i386bsd_xsave_len != 0)
+ {
+ char *xstateregs;
+
+ xstateregs = alloca(x86_xsave_len);
+ xstateregs = alloca (i386bsd_xsave_len);
+ if (ptrace (PT_GETXSTATE, ptid_get_pid (inferior_ptid),
+ (PTRACE_TYPE_ARG3) xstateregs, 0) == -1)
+ perror_with_name (_("Couldn't get extended state status"));
@ -315,14 +397,13 @@ index acae6cb..c26e830 100644
+ i387_supply_xsave (regcache, -1, xstateregs);
+ return;
+ }
+ else
+#endif
+
+#ifdef HAVE_PT_GETXMMREGS
if (have_ptrace_xmmregs != 0
&& ptrace(PT_GETXMMREGS, ptid_get_pid (inferior_ptid),
(PTRACE_TYPE_ARG3) xmmregs, 0) == 0)
@@ -160,18 +182,15 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
@@ -158,18 +179,15 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
}
else
{
@ -344,27 +425,28 @@ index acae6cb..c26e830 100644
#endif
}
}
@@ -206,7 +225,27 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
@@ -204,7 +222,28 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
struct fpreg fpregs;
#ifdef HAVE_PT_GETXMMREGS
char xmmregs[512];
+#endif
+
+#ifdef PT_GETXSTATE_INFO
+ if (x86_xsave_len != 0)
+ if (i386bsd_xsave_len != 0)
+ {
+ char *xstateregs;
+ xstateregs = alloca(x86_xsave_len);
+
+ xstateregs = alloca (i386bsd_xsave_len);
+ if (ptrace (PT_GETXSTATE, ptid_get_pid (inferior_ptid),
+ (PTRACE_TYPE_ARG3) xstateregs, 0) == -1)
+ perror_with_name (_("Couldn't get extended state status"));
+
+ i387_collect_xsave (regcache, -1, xstateregs, 0);
+
+ if (ptrace (PT_SETXSTATE, ptid_get_pid (inferior_ptid),
+ (PTRACE_TYPE_ARG3) xstateregs, x86_xsave_len) == -1)
+ (PTRACE_TYPE_ARG3) xstateregs, i386bsd_xsave_len) == -1)
+ perror_with_name (_("Couldn't write extended state status"));
+ return;
+ }
+#endif
+
@ -372,37 +454,31 @@ index acae6cb..c26e830 100644
if (have_ptrace_xmmregs != 0
&& ptrace(PT_GETXMMREGS, ptid_get_pid (inferior_ptid),
(PTRACE_TYPE_ARG3) xmmregs, 0) == 0)
diff --git a/gdb/i386bsd-nat.h b/gdb/i386bsd-nat.h
index a92fa56..044f530 100644
diff --git gdb/i386bsd-nat.h gdb/i386bsd-nat.h
index a11f554..2f50c32 100644
--- gdb/i386bsd-nat.h
+++ gdb/i386bsd-nat.h
@@ -25,6 +25,9 @@
extern struct target_ops *i386bsd_target (void);
+/* Low level i386 XSAVE info. */
+extern size_t x86_xsave_len;
+/* Low level i386 XSAVE info. */
+extern size_t i386bsd_xsave_len;
+
/* low level i386 debug register functions used in i386fbsd-nat.c. */
extern void i386bsd_dr_set_control (unsigned long control);
diff --git a/gdb/i386fbsd-nat.c b/gdb/i386fbsd-nat.c
index fb80991..b9620e1 100644
diff --git gdb/i386fbsd-nat.c gdb/i386fbsd-nat.c
index ad439e3..6c43f2c 100644
--- gdb/i386fbsd-nat.c
+++ gdb/i386fbsd-nat.c
@@ -31,6 +31,7 @@
#include "i386-tdep.h"
#include "i386-nat.h"
#include "i386bsd-nat.h"
+#include "i386-xstate.h"
/* Resume execution of the inferior process. If STEP is nonzero,
single-step it. If SIGNAL is nonzero, give it that signal. */
@@ -116,6 +117,46 @@ i386fbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
@@ -116,6 +116,37 @@ i386fbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
}
+#ifdef PT_GETXSTATE_INFO
+/* Implement the to_read_description method. */
+
+static const struct target_desc *
+i386fbsd_read_description (struct target_ops *ops)
+{
@ -414,28 +490,17 @@ index fb80991..b9620e1 100644
+ struct ptrace_xstate_info info;
+
+ if (ptrace (PT_GETXSTATE_INFO, ptid_get_pid (inferior_ptid),
+ (PTRACE_TYPE_ARG3) &info, sizeof(info)) == 0)
+ (PTRACE_TYPE_ARG3) &info, sizeof (info)) == 0)
+ {
+ x86_xsave_len = info.xsave_len;
+ i386bsd_xsave_len = info.xsave_len;
+ xcr0 = info.xsave_mask;
+ }
+ xsave_probed = 1;
+ }
+
+ if (x86_xsave_len != 0)
+ if (i386bsd_xsave_len != 0)
+ {
+ switch (xcr0 & I386_XSTATE_ALL_MASK)
+ {
+ case I386_XSTATE_MPX_AVX512_MASK:
+ case I386_XSTATE_AVX512_MASK:
+ return tdesc_i386_avx512;
+ case I386_XSTATE_MPX_MASK:
+ return tdesc_i386_mpx;
+ case I386_XSTATE_AVX_MASK:
+ return tdesc_i386_avx;
+ default:
+ return tdesc_i386;
+ }
+ return i386_target_description (xcr0);
+ }
+ else
+ return tdesc_i386;
@ -445,7 +510,7 @@ index fb80991..b9620e1 100644
/* Prevent warning from -Wmissing-prototypes. */
void _initialize_i386fbsd_nat (void);
@@ -140,6 +181,9 @@ _initialize_i386fbsd_nat (void)
@@ -140,6 +171,9 @@ _initialize_i386fbsd_nat (void)
#endif /* HAVE_PT_GETDBREGS */
@ -453,10 +518,10 @@ index fb80991..b9620e1 100644
+ t->to_read_description = i386fbsd_read_description;
+#endif
t->to_resume = i386fbsd_resume;
t->to_pid_to_exec_file = fbsd_pid_to_exec_file;
t->to_find_memory_regions = fbsd_find_memory_regions;
diff --git a/gdb/i386fbsd-tdep.c b/gdb/i386fbsd-tdep.c
index ed6df6b..8f7109f 100644
diff --git gdb/i386fbsd-tdep.c gdb/i386fbsd-tdep.c
index ed41706..99e08cb 100644
--- gdb/i386fbsd-tdep.c
+++ gdb/i386fbsd-tdep.c
@@ -22,6 +22,9 @@
@ -465,27 +530,11 @@ index ed6df6b..8f7109f 100644
#include "regcache.h"
+#include "regset.h"
+#include "i386fbsd-tdep.h"
+#include "i386-xstate.h"
+#include "x86-xstate.h"
#include "gdb_assert.h"
@@ -32,6 +35,15 @@
/* FreeBSD 3.0-RELEASE or later. */
+/* Supported register note sections. */
+static struct core_regset_section i386fbsd_regset_sections[] =
+{
+ { ".reg", 19 * 4, "general-purpose" },
+ { ".reg2", 512, "floating-point" },
+ { ".reg-xstate", I386_XSTATE_MAX_SIZE, "XSAVE extended state" },
+ { NULL, 0 }
+};
+
/* From <machine/reg.h>. */
static int i386fbsd_r_reg_offset[] =
{
@@ -82,6 +94,64 @@ static int i386fbsd_jmp_buf_reg_offset[] =
#include "i386-tdep.h"
#include "i387-tdep.h"
@@ -235,6 +238,100 @@ static int i386fbsd_jmp_buf_reg_offset[] =
0 * 4 /* %eip */
};
@ -502,8 +551,8 @@ index ed6df6b..8f7109f 100644
+ size_t size = bfd_section_size (abfd, xstate);
+
+ /* Check extended state size. */
+ if (size < I386_XSTATE_AVX_SIZE)
+ xcr0 = I386_XSTATE_SSE_MASK;
+ if (size < X86_XSTATE_AVX_SIZE)
+ xcr0 = X86_XSTATE_SSE_MASK;
+ else
+ {
+ char contents[8];
@ -526,54 +575,91 @@ index ed6df6b..8f7109f 100644
+ return xcr0;
+}
+
+/* Implement the core_read_description gdbarch method. */
+
+static const struct target_desc *
+i386fbsd_core_read_description (struct gdbarch *gdbarch,
+ struct target_ops *target,
+ bfd *abfd)
+{
+ uint64_t xcr0 = i386fbsd_core_read_xcr0 (abfd);
+ return i386_target_description (i386fbsd_core_read_xcr0 (abfd));
+}
+
+ switch (xcr0 & I386_XSTATE_ALL_MASK)
+ {
+ case I386_XSTATE_MPX_AVX512_MASK:
+ case I386_XSTATE_AVX512_MASK:
+ return tdesc_i386_avx512;
+ case I386_XSTATE_MPX_MASK:
+ return tdesc_i386_mpx;
+ case I386_XSTATE_AVX_MASK:
+ return tdesc_i386_avx;
+ default:
+ return tdesc_i386;
+ }
+/* Similar to i386_supply_fpregset, but use XSAVE extended state. */
+
+static void
+i386fbsd_supply_xstateregset (const struct regset *regset,
+ struct regcache *regcache, int regnum,
+ const void *xstateregs, size_t len)
+{
+ i387_supply_xsave (regcache, regnum, xstateregs);
+}
+
+/* Similar to i386_collect_fpregset, but use XSAVE extended state. */
+
+static void
+i386fbsd_collect_xstateregset (const struct regset *regset,
+ const struct regcache *regcache,
+ int regnum, void *xstateregs, size_t len)
+{
+ i387_collect_xsave (regcache, regnum, xstateregs, 1);
+}
+
+/* Register set definitions. */
+
+static const struct regset i386fbsd_xstateregset =
+ {
+ NULL,
+ i386fbsd_supply_xstateregset,
+ i386fbsd_collect_xstateregset
+ };
+
+/* Iterate over core file register note sections. */
+
+static void
+i386fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+ iterate_over_regset_sections_cb *cb,
+ void *cb_data,
+ const struct regcache *regcache)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+ cb (".reg", tdep->sizeof_gregset, &i386_gregset, NULL, cb_data);
+ cb (".reg2", tdep->sizeof_fpregset, &i386_fpregset, NULL, cb_data);
+
+ if (tdep->xcr0 & X86_XSTATE_AVX)
+ cb (".reg-xstate", X86_XSTATE_SIZE(tdep->xcr0),
+ &i386fbsd_xstateregset, "XSAVE extended state", cb_data);
+}
+
static void
i386fbsd_supply_uthread (struct regcache *regcache,
int regnum, CORE_ADDR addr)
@@ -218,6 +288,14 @@ i386fbsd4_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
@@ -376,6 +473,15 @@ i386fbsd4_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* FreeBSD 4.0 introduced a new `struct sigcontext'. */
tdep->sc_reg_offset = i386fbsd4_sc_reg_offset;
tdep->sc_num_regs = ARRAY_SIZE (i386fbsd4_sc_reg_offset);
+
+ tdep->xsave_xcr0_offset = I386_FBSD_XSAVE_XCR0_OFFSET;
+
+ /* Install supported register note sections. */
+ set_gdbarch_core_regset_sections (gdbarch, i386fbsd_regset_sections);
+ /* Iterate over core file register note sections. */
+ set_gdbarch_iterate_over_regset_sections
+ (gdbarch, i386fbsd_iterate_over_regset_sections);
+
+ set_gdbarch_core_read_description (gdbarch,
+ i386fbsd_core_read_description);
}
diff --git a/gdb/i386fbsd-tdep.h b/gdb/i386fbsd-tdep.h
diff --git gdb/i386fbsd-tdep.h gdb/i386fbsd-tdep.h
new file mode 100644
index 0000000..8935255
index 0000000..8d6f998
--- /dev/null
+++ gdb/i386fbsd-tdep.h
@@ -0,0 +1,33 @@
@@ -0,0 +1,31 @@
+/* Target-dependent code for FreeBSD x86.
+
+ Copyright (C) 2014 Free Software Foundation, Inc.
+ Copyright (C) 2015 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
@ -596,11 +682,9 @@ index 0000000..8935255
+/* Get XSAVE extended state xcr0 from core dump. */
+extern uint64_t i386fbsd_core_read_xcr0 (bfd *abfd);
+
+/*
+ * The format of the XSAVE extended area is determined by hardware.
+ * Cores store the XSAVE extended area in a NT_X86_XSTATE note that
+ * matches the layout on Linux.
+ */
+/* The format of the XSAVE extended area is determined by hardware.
+ Cores store the XSAVE extended area in a NT_X86_XSTATE note that
+ matches the layout on Linux. */
+#define I386_FBSD_XSAVE_XCR0_OFFSET 464
+
+#endif /* i386fbsd-tdep.h */

View file

@ -1,6 +1,8 @@
--- gdb/amd64fbsd-tdep.c.orig 2010-01-01 02:31:29.000000000 -0500
+++ gdb/amd64fbsd-tdep.c 2011-01-05 17:27:29.264869000 -0500
@@ -40,12 +39,16 @@
diff --git gdb/amd64fbsd-tdep.c gdb/amd64fbsd-tdep.c
index 2d49cdf..abb0cab 100644
--- gdb/amd64fbsd-tdep.c
+++ gdb/amd64fbsd-tdep.c
@@ -37,12 +37,16 @@
static CORE_ADDR
amd64fbsd_sigcontext_addr (struct frame_info *this_frame)
{

View file

@ -0,0 +1,348 @@
diff --git gdb/amd64fbsd-nat.c gdb/amd64fbsd-nat.c
index 1c396e2..b1b261c 100644
--- gdb/amd64fbsd-nat.c
+++ gdb/amd64fbsd-nat.c
@@ -26,6 +26,7 @@
#include <sys/types.h>
#include <sys/ptrace.h>
#include <sys/sysctl.h>
+#include <sys/user.h>
#include <machine/reg.h>
#include "fbsd-nat.h"
@@ -244,24 +245,31 @@ Please report this to <bug-gdb@gnu.org>."),
SC_RBP_OFFSET = offset;
- /* FreeBSD provides a kern.ps_strings sysctl that we can use to
- locate the sigtramp. That way we can still recognize a sigtramp
- if its location is changed in a new kernel. Of course this is
- still based on the assumption that the sigtramp is placed
- directly under the location where the program arguments and
- environment can be found. */
+#ifdef KERN_PROC_SIGTRAMP
+ /* Normally signal frames are detected via amd64fbsd_sigtramp_p.
+ However, FreeBSD 9.2 through 10.1 do not include the page holding
+ the signal code in core dumps. These releases do provide a
+ kern.proc.sigtramp.<pid> sysctl that returns the location of the
+ signal trampoline for a running process. We fetch the location
+ of the current (gdb) process and use this to identify signal
+ frames in core dumps from these releases. Note that this only
+ works for core dumps of 64-bit (FreeBSD/amd64) processes and does
+ not handle core dumps of 32-bit (FreeBSD/i386) processes. */
{
- int mib[2];
- long ps_strings;
+ int mib[4];
+ struct kinfo_sigtramp kst;
size_t len;
mib[0] = CTL_KERN;
- mib[1] = KERN_PS_STRINGS;
- len = sizeof (ps_strings);
- if (sysctl (mib, 2, &ps_strings, &len, NULL, 0) == 0)
+ mib[1] = KERN_PROC;
+ mib[2] = KERN_PROC_SIGTRAMP;
+ mib[3] = getpid ();
+ len = sizeof (kst);
+ if (sysctl (mib, 4, &kst, &len, NULL, 0) == 0)
{
- amd64fbsd_sigtramp_start_addr = ps_strings - 32;
- amd64fbsd_sigtramp_end_addr = ps_strings;
+ amd64fbsd_sigtramp_start_addr = (uintptr_t) kst.ksigtramp_start;
+ amd64fbsd_sigtramp_end_addr = (uintptr_t) kst.ksigtramp_end;
}
}
+#endif
}
diff --git gdb/amd64fbsd-tdep.c gdb/amd64fbsd-tdep.c
index abb0cab..e11b0f3 100644
--- gdb/amd64fbsd-tdep.c
+++ gdb/amd64fbsd-tdep.c
@@ -31,6 +31,33 @@
/* Support for signal handlers. */
+/* Return whether THIS_FRAME corresponds to a FreeBSD sigtramp
+ routine. */
+
+static const gdb_byte amd64fbsd_sigtramp_code[] =
+{
+ 0x48, 0x8d, 0x7c, 0x24, 0x10, /* lea SIGF_UC(%rsp),%rdi */
+ 0x6a, 0x00, /* pushq $0 */
+ 0x48, 0xc7, 0xc0, 0xa1, 0x01, 0x00, 0x00,
+ /* movq $SYS_sigreturn,%rax */
+ 0x0f, 0x05 /* syscall */
+};
+
+static int
+amd64fbsd_sigtramp_p (struct frame_info *this_frame)
+{
+ CORE_ADDR pc = get_frame_pc (this_frame);
+ gdb_byte buf[sizeof amd64fbsd_sigtramp_code];
+
+ if (!safe_frame_unwind_memory (this_frame, pc, buf, sizeof buf))
+ return 0;
+ if (memcmp (buf, amd64fbsd_sigtramp_code, sizeof amd64fbsd_sigtramp_code) !=
+ 0)
+ return 0;
+
+ return 1;
+}
+
/* Assuming THIS_FRAME is for a BSD sigtramp routine, return the
address of the associated sigcontext structure. */
@@ -88,8 +115,8 @@ static int amd64fbsd_r_reg_offset[] =
};
/* Location of the signal trampoline. */
-CORE_ADDR amd64fbsd_sigtramp_start_addr = 0x7fffffffffc0ULL;
-CORE_ADDR amd64fbsd_sigtramp_end_addr = 0x7fffffffffe0ULL;
+CORE_ADDR amd64fbsd_sigtramp_start_addr;
+CORE_ADDR amd64fbsd_sigtramp_end_addr;
/* From <machine/signal.h>. */
int amd64fbsd_sc_reg_offset[] =
@@ -199,6 +226,7 @@ amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
amd64_init_abi (info, gdbarch);
+ tdep->sigtramp_p = amd64fbsd_sigtramp_p;
tdep->sigtramp_start = amd64fbsd_sigtramp_start_addr;
tdep->sigtramp_end = amd64fbsd_sigtramp_end_addr;
tdep->sigcontext_addr = amd64fbsd_sigcontext_addr;
diff --git gdb/i386fbsd-nat.c gdb/i386fbsd-nat.c
index f4951d1..ad439e3 100644
--- gdb/i386fbsd-nat.c
+++ gdb/i386fbsd-nat.c
@@ -25,6 +25,7 @@
#include <sys/types.h>
#include <sys/ptrace.h>
#include <sys/sysctl.h>
+#include <sys/user.h>
#include "fbsd-nat.h"
#include "i386-tdep.h"
@@ -148,25 +149,28 @@ _initialize_i386fbsd_nat (void)
/* Support debugging kernel virtual memory images. */
bsd_kvm_add_target (i386fbsd_supply_pcb);
- /* FreeBSD provides a kern.ps_strings sysctl that we can use to
- locate the sigtramp. That way we can still recognize a sigtramp
- if its location is changed in a new kernel. Of course this is
- still based on the assumption that the sigtramp is placed
- directly under the location where the program arguments and
- environment can be found. */
-#ifdef KERN_PS_STRINGS
+#ifdef KERN_PROC_SIGTRAMP
+ /* Normally signal frames are detected via i386fbsd_sigtramp_p.
+ However, FreeBSD 9.2 through 10.1 do not include the page holding
+ the signal code in core dumps. These releases do provide a
+ kern.proc.sigtramp.<pid> sysctl that returns the location of the
+ signal trampoline for a running process. We fetch the location
+ of the current (gdb) process and use this to identify signal
+ frames in core dumps from these releases. */
{
- int mib[2];
- u_long ps_strings;
+ int mib[4];
+ struct kinfo_sigtramp kst;
size_t len;
mib[0] = CTL_KERN;
- mib[1] = KERN_PS_STRINGS;
- len = sizeof (ps_strings);
- if (sysctl (mib, 2, &ps_strings, &len, NULL, 0) == 0)
+ mib[1] = KERN_PROC;
+ mib[2] = KERN_PROC_SIGTRAMP;
+ mib[3] = getpid ();
+ len = sizeof (kst);
+ if (sysctl (mib, 4, &kst, &len, NULL, 0) == 0)
{
- i386fbsd_sigtramp_start_addr = ps_strings - 128;
- i386fbsd_sigtramp_end_addr = ps_strings;
+ i386fbsd_sigtramp_start_addr = (uintptr_t) kst.ksigtramp_start;
+ i386fbsd_sigtramp_end_addr = (uintptr_t) kst.ksigtramp_end;
}
}
#endif
diff --git gdb/i386fbsd-tdep.c gdb/i386fbsd-tdep.c
index 8d237f0..d4516ee 100644
--- gdb/i386fbsd-tdep.c
+++ gdb/i386fbsd-tdep.c
@@ -29,6 +29,154 @@
#include "fbsd-tdep.h"
#include "solib-svr4.h"
+/* Support for signal handlers. */
+
+/* Return whether THIS_FRAME corresponds to a FreeBSD sigtramp
+ routine. */
+
+/* FreeBSD/i386 supports three different signal trampolines, one for
+ versions before 4.0, a second for 4.x, and a third for 5.0 and
+ later. To complicate matters, FreeBSD/i386 binaries running under
+ an amd64 kernel use a different set of trampolines. These
+ trampolines differ from the i386 kernel trampolines in that they
+ omit a middle section that conditionally restores %gs. */
+
+static const gdb_byte i386fbsd_sigtramp_start[] =
+{
+ 0x8d, 0x44, 0x24, 0x20, /* lea SIGF_UC(%esp),%eax */
+ 0x50 /* pushl %eax */
+};
+
+static const gdb_byte i386fbsd_sigtramp_middle[] =
+{
+ 0xf7, 0x40, 0x54, 0x00, 0x00, 0x02, 0x00,
+ /* testl $PSL_VM,UC_EFLAGS(%eax) */
+ 0x75, 0x03, /* jne +3 */
+ 0x8e, 0x68, 0x14 /* mov UC_GS(%eax),%gs */
+};
+
+static const gdb_byte i386fbsd_sigtramp_end[] =
+{
+ 0xb8, 0xa1, 0x01, 0x00, 0x00, /* movl $SYS_sigreturn,%eax */
+ 0x50, /* pushl %eax */
+ 0xcd, 0x80 /* int $0x80 */
+};
+
+static const gdb_byte i386fbsd_freebsd4_sigtramp_start[] =
+{
+ 0x8d, 0x44, 0x24, 0x14, /* lea SIGF_UC4(%esp),%eax */
+ 0x50 /* pushl %eax */
+};
+
+static const gdb_byte i386fbsd_freebsd4_sigtramp_middle[] =
+{
+ 0xf7, 0x40, 0x54, 0x00, 0x00, 0x02, 0x00,
+ /* testl $PSL_VM,UC4_EFLAGS(%eax) */
+ 0x75, 0x03, /* jne +3 */
+ 0x8e, 0x68, 0x14 /* mov UC4_GS(%eax),%gs */
+};
+
+static const gdb_byte i386fbsd_freebsd4_sigtramp_end[] =
+{
+ 0xb8, 0x58, 0x01, 0x00, 0x00, /* movl $344,%eax */
+ 0x50, /* pushl %eax */
+ 0xcd, 0x80 /* int $0x80 */
+};
+
+static const gdb_byte i386fbsd_osigtramp_start[] =
+{
+ 0x8d, 0x44, 0x24, 0x14, /* lea SIGF_SC(%esp),%eax */
+ 0x50 /* pushl %eax */
+};
+
+static const gdb_byte i386fbsd_osigtramp_middle[] =
+{
+ 0xf7, 0x40, 0x18, 0x00, 0x00, 0x02, 0x00,
+ /* testl $PSL_VM,SC_PS(%eax) */
+ 0x75, 0x03, /* jne +3 */
+ 0x8e, 0x68, 0x44 /* mov SC_GS(%eax),%gs */
+};
+
+static const gdb_byte i386fbsd_osigtramp_end[] =
+{
+ 0xb8, 0x67, 0x00, 0x00, 0x00, /* movl $103,%eax */
+ 0x50, /* pushl %eax */
+ 0xcd, 0x80 /* int $0x80 */
+};
+
+/* The three different trampolines are all the same size. */
+gdb_static_assert (sizeof i386fbsd_sigtramp_start ==
+ sizeof i386fbsd_freebsd4_sigtramp_start);
+gdb_static_assert (sizeof i386fbsd_sigtramp_start ==
+ sizeof i386fbsd_osigtramp_start);
+gdb_static_assert (sizeof i386fbsd_sigtramp_middle ==
+ sizeof i386fbsd_freebsd4_sigtramp_middle);
+gdb_static_assert (sizeof i386fbsd_sigtramp_middle ==
+ sizeof i386fbsd_osigtramp_middle);
+gdb_static_assert (sizeof i386fbsd_sigtramp_end ==
+ sizeof i386fbsd_freebsd4_sigtramp_end);
+gdb_static_assert (sizeof i386fbsd_sigtramp_end ==
+ sizeof i386fbsd_osigtramp_end);
+
+/* We assume that the middle is the largest chunk below. */
+gdb_static_assert (sizeof i386fbsd_sigtramp_middle >
+ sizeof i386fbsd_sigtramp_start);
+gdb_static_assert (sizeof i386fbsd_sigtramp_middle >
+ sizeof i386fbsd_sigtramp_end);
+
+static int
+i386fbsd_sigtramp_p (struct frame_info *this_frame)
+{
+ CORE_ADDR pc = get_frame_pc (this_frame);
+ gdb_byte buf[sizeof i386fbsd_sigtramp_middle];
+ const gdb_byte *middle, *end;
+
+ /* Look for a matching start. */
+ if (!safe_frame_unwind_memory (this_frame, pc, buf,
+ sizeof i386fbsd_sigtramp_start))
+ return 0;
+ if (memcmp (buf, i386fbsd_sigtramp_start, sizeof i386fbsd_sigtramp_start) ==
+ 0) {
+ middle = i386fbsd_sigtramp_middle;
+ end = i386fbsd_sigtramp_end;
+ } else if (memcmp (buf, i386fbsd_freebsd4_sigtramp_start,
+ sizeof i386fbsd_freebsd4_sigtramp_start) == 0) {
+ middle = i386fbsd_freebsd4_sigtramp_middle;
+ end = i386fbsd_freebsd4_sigtramp_end;
+ } else if (memcmp (buf, i386fbsd_osigtramp_start,
+ sizeof i386fbsd_osigtramp_start) == 0) {
+ middle = i386fbsd_osigtramp_middle;
+ end = i386fbsd_osigtramp_end;
+ } else
+ return 0;
+
+ /* Since the end is shorter than the middle, check for a matching end
+ next. */
+ pc += sizeof i386fbsd_sigtramp_start;
+ if (!safe_frame_unwind_memory (this_frame, pc, buf,
+ sizeof i386fbsd_sigtramp_end))
+ return 0;
+ if (memcmp (buf, end, sizeof i386fbsd_sigtramp_end) == 0)
+ return 1;
+
+ /* If the end didn't match, check for a matching middle. */
+ if (!safe_frame_unwind_memory (this_frame, pc, buf,
+ sizeof i386fbsd_sigtramp_middle))
+ return 0;
+ if (memcmp (buf, middle, sizeof i386fbsd_sigtramp_middle) != 0)
+ return 0;
+
+ /* The middle matched, check for a matching end. */
+ pc += sizeof i386fbsd_sigtramp_middle;
+ if (!safe_frame_unwind_memory (this_frame, pc, buf,
+ sizeof i386fbsd_sigtramp_end))
+ return 0;
+ if (memcmp (buf, end, sizeof i386fbsd_sigtramp_end) != 0)
+ return 0;
+
+ return 1;
+}
+
/* FreeBSD 3.0-RELEASE or later. */
/* From <machine/reg.h>. */
@@ -43,8 +191,8 @@ static int i386fbsd_r_reg_offset[] =
};
/* Sigtramp routine location. */
-CORE_ADDR i386fbsd_sigtramp_start_addr = 0xbfbfdf20;
-CORE_ADDR i386fbsd_sigtramp_end_addr = 0xbfbfdff0;
+CORE_ADDR i386fbsd_sigtramp_start_addr;
+CORE_ADDR i386fbsd_sigtramp_end_addr;
/* From <machine/signal.h>. */
int i386fbsd_sc_reg_offset[] =
@@ -139,6 +287,8 @@ i386fbsdaout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* FreeBSD uses -freg-struct-return by default. */
tdep->struct_return = reg_struct_return;
+ tdep->sigtramp_p = i386fbsd_sigtramp_p;
+
/* FreeBSD uses a different memory layout. */
tdep->sigtramp_start = i386fbsd_sigtramp_start_addr;
tdep->sigtramp_end = i386fbsd_sigtramp_end_addr;

View file

@ -1,17 +0,0 @@
--- ./gdb/tui/tui-io.c.orig 2013-12-08 04:33:14.000000000 +0000
+++ ./gdb/tui/tui-io.c 2014-03-01 22:20:33.000000000 +0000
@@ -128,10 +128,10 @@
struct ui_out *tui_old_uiout;
/* Readline previous hooks. */
-static Function *tui_old_rl_getc_function;
-static VFunction *tui_old_rl_redisplay_function;
-static VFunction *tui_old_rl_prep_terminal;
-static VFunction *tui_old_rl_deprep_terminal;
+static rl_getc_func_t *tui_old_rl_getc_function;
+static rl_voidfunc_t *tui_old_rl_redisplay_function;
+static rl_voidfunc_t *tui_old_rl_prep_terminal;
+static rl_voidfunc_t *tui_old_rl_deprep_terminal;
static int tui_old_rl_echoing_p;
/* Readline output stream.

View file

@ -1,16 +1,16 @@
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index ea27cf5..d17752f 100644
diff --git gdb/Makefile.in gdb/Makefile.in
index 7937801..6122f16 100644
--- gdb/Makefile.in
+++ gdb/Makefile.in
@@ -668,6 +668,7 @@ ALL_TARGET_OBS = \
@@ -691,6 +691,7 @@ ALL_TARGET_OBS = \
xtensa-config.o xtensa-tdep.o xtensa-linux-tdep.o \
glibc-tdep.o \
bsd-uthread.o \
+ fbsd-threads.o \
nbsd-tdep.o obsd-tdep.o \
sol2-tdep.o \
solib-frv.o solib-irix.o solib-svr4.o \
@@ -1327,7 +1328,7 @@ libgdb.a: $(LIBGDB_OBS)
solib-frv.o solib-svr4.o \
@@ -1366,7 +1367,7 @@ libgdb.a: $(LIBGDB_OBS)
# Removing the old gdb first works better if it is running, at least on SunOS.
gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
rm -f gdb$(EXEEXT)
@ -19,7 +19,7 @@ index ea27cf5..d17752f 100644
-o gdb$(EXEEXT) gdb.o $(LIBGDB_OBS) \
$(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
@@ -1600,7 +1601,7 @@ ALLDEPFILES = \
@@ -1639,7 +1640,7 @@ ALLDEPFILES = \
armnbsd-nat.c armbsd-tdep.c armnbsd-tdep.c armobsd-tdep.c \
avr-tdep.c \
bfin-linux-tdep.c bfin-tdep.c \
@ -28,12 +28,12 @@ index ea27cf5..d17752f 100644
core-regset.c \
dcache.c dicos-tdep.c darwin-nat.c \
exec.c \
diff --git a/gdb/amd64bsd-nat.c b/gdb/amd64bsd-nat.c
index 9e6a0df..7aff6f0 100644
diff --git gdb/amd64bsd-nat.c gdb/amd64bsd-nat.c
index b1d4a0e..7f189f6 100644
--- gdb/amd64bsd-nat.c
+++ gdb/amd64bsd-nat.c
@@ -41,6 +41,19 @@
size_t x86_xsave_len;
@@ -40,6 +40,19 @@
size_t amd64bsd_xsave_len;
#endif
+static pid_t
@ -52,7 +52,7 @@ index 9e6a0df..7aff6f0 100644
/* Fetch register REGNUM from the inferior. If REGNUM is -1, do this
for all registers (including the floating-point registers). */
@@ -54,7 +67,7 @@ amd64bsd_fetch_inferior_registers (struct target_ops *ops,
@@ -53,7 +66,7 @@ amd64bsd_fetch_inferior_registers (struct target_ops *ops,
{
struct reg regs;
@ -61,16 +61,16 @@ index 9e6a0df..7aff6f0 100644
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
perror_with_name (_("Couldn't get registers"));
@@ -72,7 +85,7 @@ amd64bsd_fetch_inferior_registers (struct target_ops *ops,
if (x86_xsave_len != 0)
@@ -71,7 +84,7 @@ amd64bsd_fetch_inferior_registers (struct target_ops *ops,
if (amd64bsd_xsave_len != 0)
{
xstateregs = alloca(x86_xsave_len);
xstateregs = alloca (amd64bsd_xsave_len);
- if (ptrace (PT_GETXSTATE, ptid_get_pid (inferior_ptid),
+ if (ptrace (PT_GETXSTATE, ptrace_pid (inferior_ptid),
(PTRACE_TYPE_ARG3) xstateregs, 0) == -1)
perror_with_name (_("Couldn't get extended state status"));
@@ -81,7 +94,7 @@ amd64bsd_fetch_inferior_registers (struct target_ops *ops,
@@ -80,7 +93,7 @@ amd64bsd_fetch_inferior_registers (struct target_ops *ops,
}
#endif
@ -79,7 +79,7 @@ index 9e6a0df..7aff6f0 100644
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
perror_with_name (_("Couldn't get floating point status"));
@@ -104,11 +117,11 @@ amd64bsd_store_inferior_registers (struct target_ops *ops,
@@ -103,11 +116,11 @@ amd64bsd_store_inferior_registers (struct target_ops *ops,
memset( &regs, 0, sizeof(struct reg));
memset( &oldregs, 0, sizeof(struct reg));
@ -93,7 +93,7 @@ index 9e6a0df..7aff6f0 100644
(PTRACE_TYPE_ARG3) &oldregs, 0);
amd64_collect_native_gregset (regcache, &regs, regnum);
@@ -118,7 +131,7 @@ amd64bsd_store_inferior_registers (struct target_ops *ops,
@@ -117,7 +130,7 @@ amd64bsd_store_inferior_registers (struct target_ops *ops,
regs.r_rflags ^= (regs.r_rflags ^ oldregs.r_rflags ) & ~PSL_USERCHANGE;
//printf(" allowed regs.r_rflags = 0x%8.8X\n", regs.r_rflags );
}
@ -102,10 +102,10 @@ index 9e6a0df..7aff6f0 100644
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
perror_with_name (_("Couldn't write registers"));
@@ -135,26 +148,26 @@ amd64bsd_store_inferior_registers (struct target_ops *ops,
if (x86_xsave_len != 0)
@@ -134,26 +147,26 @@ amd64bsd_store_inferior_registers (struct target_ops *ops,
if (amd64bsd_xsave_len != 0)
{
xstateregs = alloca(x86_xsave_len);
xstateregs = alloca (amd64bsd_xsave_len);
- if (ptrace (PT_GETXSTATE, ptid_get_pid (inferior_ptid),
+ if (ptrace (PT_GETXSTATE, ptrace_pid (inferior_ptid),
(PTRACE_TYPE_ARG3) xstateregs, 0) == -1)
@ -115,7 +115,7 @@ index 9e6a0df..7aff6f0 100644
- if (ptrace (PT_SETXSTATE, ptid_get_pid (inferior_ptid),
+ if (ptrace (PT_SETXSTATE, ptrace_pid (inferior_ptid),
(PTRACE_TYPE_ARG3) xstateregs, x86_xsave_len) == -1)
(PTRACE_TYPE_ARG3) xstateregs, amd64bsd_xsave_len) == -1)
perror_with_name (_("Couldn't write extended state status"));
return;
}
@ -133,7 +133,7 @@ index 9e6a0df..7aff6f0 100644
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
perror_with_name (_("Couldn't write floating point status"));
}
@@ -184,7 +197,7 @@ amd64bsd_dr_get (ptid_t ptid, int regnum)
@@ -183,7 +196,7 @@ amd64bsd_dr_get (ptid_t ptid, int regnum)
{
struct dbreg dbregs;
@ -142,7 +142,7 @@ index 9e6a0df..7aff6f0 100644
(PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
perror_with_name (_("Couldn't read debug registers"));
@@ -196,7 +209,7 @@ amd64bsd_dr_set (int regnum, unsigned long value)
@@ -195,7 +208,7 @@ amd64bsd_dr_set (int regnum, unsigned long value)
{
struct dbreg dbregs;
@ -151,7 +151,7 @@ index 9e6a0df..7aff6f0 100644
(PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
perror_with_name (_("Couldn't get debug registers"));
@@ -207,7 +220,7 @@ amd64bsd_dr_set (int regnum, unsigned long value)
@@ -206,7 +219,7 @@ amd64bsd_dr_set (int regnum, unsigned long value)
DBREG_DRX ((&dbregs), regnum) = value;
@ -160,8 +160,8 @@ index 9e6a0df..7aff6f0 100644
(PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
perror_with_name (_("Couldn't write debug registers"));
}
diff --git a/gdb/amd64fbsd-nat.c b/gdb/amd64fbsd-nat.c
index eea2472..9ce6a54 100644
diff --git gdb/amd64fbsd-nat.c gdb/amd64fbsd-nat.c
index a721f48..2534360 100644
--- gdb/amd64fbsd-nat.c
+++ gdb/amd64fbsd-nat.c
@@ -18,6 +18,7 @@
@ -172,7 +172,7 @@ index eea2472..9ce6a54 100644
#include "inferior.h"
#include "regcache.h"
#include "target.h"
@@ -95,6 +96,46 @@ static int amd64fbsd32_r_reg_offset[I386_NUM_GREGS] =
@@ -92,6 +93,46 @@ static int amd64fbsd32_r_reg_offset[I386_NUM_GREGS] =
};
@ -219,19 +219,19 @@ index eea2472..9ce6a54 100644
/* Support for debugging kernel virtual memory images. */
#include <machine/pcb.h>
diff --git a/gdb/amd64fbsd-tdep.c b/gdb/amd64fbsd-tdep.c
index 582ae50..8e07369 100644
diff --git gdb/amd64fbsd-tdep.c gdb/amd64fbsd-tdep.c
index 52705d9..6d48d8f 100644
--- gdb/amd64fbsd-tdep.c
+++ gdb/amd64fbsd-tdep.c
@@ -31,7 +31,6 @@
#include <string.h>
@@ -28,7 +28,6 @@
#include "x86-xstate.h"
#include "amd64-tdep.h"
-#include "bsd-uthread.h"
#include "fbsd-tdep.h"
#include "solib-svr4.h"
/* Supported register note sections. */
@@ -178,46 +177,6 @@ amd64fbsd_core_read_description (struct gdbarch *gdbarch,
@@ -226,46 +225,6 @@ amd64fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
}
static void
@ -278,7 +278,7 @@ index 582ae50..8e07369 100644
amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -245,10 +204,6 @@ amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
@@ -298,10 +257,6 @@ amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_core_read_description (gdbarch,
amd64fbsd_core_read_description);
@ -289,42 +289,42 @@ index 582ae50..8e07369 100644
/* FreeBSD uses SVR4-style shared libraries. */
set_solib_svr4_fetch_link_map_offsets
(gdbarch, svr4_lp64_fetch_link_map_offsets);
diff --git a/gdb/configure.tgt b/gdb/configure.tgt
index 01311b2..0929a25 100644
diff --git gdb/configure.tgt gdb/configure.tgt
index 7fdd34e..64afacf 100644
--- gdb/configure.tgt
+++ gdb/configure.tgt
@@ -189,7 +189,7 @@ i[34567]86-*-dicos*)
@@ -187,7 +187,7 @@ i[34567]86-*-dicos*)
i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
# Target: FreeBSD/i386
gdb_target_obs="i386-tdep.o i387-tdep.o i386bsd-tdep.o i386fbsd-tdep.o \
- bsd-uthread.o solib-svr4.o"
+ fbsd-threads.o solib-svr4.o"
- bsd-uthread.o fbsd-tdep.o solib-svr4.o"
+ fbsd-threads.o fbsd-tdep.o solib-svr4.o"
;;
i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu)
# Target: NetBSD/i386
@@ -415,7 +415,7 @@ nios2*-*-*)
@@ -410,7 +410,7 @@ nios2*-*-*)
powerpc*-*-freebsd*)
# Target: FreeBSD/powerpc
gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc64-tdep.o \
- ppcfbsd-tdep.o solib-svr4.o \
+ ppcfbsd-tdep.o solib-svr4.o fbsd-threads.o \
- ppcfbsd-tdep.o fbsd-tdep.o solib-svr4.o \
+ ppcfbsd-tdep.o fbsd-threads.o fbsd-tdep.o solib-svr4.o \
ravenscar-thread.o ppc-ravenscar-thread.o"
;;
@@ -667,7 +667,7 @@ x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
@@ -663,7 +663,7 @@ x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
# Target: FreeBSD/amd64
gdb_target_obs="amd64-tdep.o amd64fbsd-tdep.o i386-tdep.o \
i387-tdep.o i386bsd-tdep.o i386fbsd-tdep.o \
- bsd-uthread.o solib-svr4.o"
+ fbsd-threads.o solib-svr4.o"
- bsd-uthread.o fbsd-tdep.o solib-svr4.o"
+ fbsd-threads.o fbsd-tdep.o solib-svr4.o"
;;
x86_64-*-mingw* | x86_64-*-cygwin*)
# Target: MingW/amd64
diff --git a/gdb/i386bsd-nat.c b/gdb/i386bsd-nat.c
index c26e830..246acdd 100644
diff --git gdb/i386bsd-nat.c gdb/i386bsd-nat.c
index ac8a19b..cb2d50e 100644
--- gdb/i386bsd-nat.c
+++ gdb/i386bsd-nat.c
@@ -89,9 +89,22 @@ size_t x86_xsave_len;
@@ -87,9 +87,22 @@ size_t i386bsd_xsave_len;
#endif
@ -348,7 +348,7 @@ index c26e830..246acdd 100644
i386bsd_supply_gregset (struct regcache *regcache, const void *gregs)
{
const char *regs = gregs;
@@ -110,7 +123,7 @@ i386bsd_supply_gregset (struct regcache *regcache, const void *gregs)
@@ -108,7 +121,7 @@ i386bsd_supply_gregset (struct regcache *regcache, const void *gregs)
GREGS. If REGNUM is -1, collect and store all appropriate
registers. */
@ -357,7 +357,7 @@ index c26e830..246acdd 100644
i386bsd_collect_gregset (const struct regcache *regcache,
void *gregs, int regnum)
{
@@ -140,7 +153,7 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
@@ -138,7 +151,7 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
{
struct reg regs;
@ -366,16 +366,16 @@ index c26e830..246acdd 100644
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
perror_with_name (_("Couldn't get registers"));
@@ -162,7 +175,7 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
@@ -160,7 +173,7 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
char *xstateregs;
xstateregs = alloca(x86_xsave_len);
xstateregs = alloca (i386bsd_xsave_len);
- if (ptrace (PT_GETXSTATE, ptid_get_pid (inferior_ptid),
+ if (ptrace (PT_GETXSTATE, ptrace_pid (inferior_ptid),
(PTRACE_TYPE_ARG3) xstateregs, 0) == -1)
perror_with_name (_("Couldn't get extended state status"));
@@ -174,7 +187,7 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
@@ -171,7 +184,7 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
#ifdef HAVE_PT_GETXMMREGS
if (have_ptrace_xmmregs != 0
@ -384,7 +384,7 @@ index c26e830..246acdd 100644
(PTRACE_TYPE_ARG3) xmmregs, 0) == 0)
{
have_ptrace_xmmregs = 1;
@@ -184,7 +197,7 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
@@ -181,7 +194,7 @@ i386bsd_fetch_inferior_registers (struct target_ops *ops,
{
have_ptrace_xmmregs = 0;
#endif
@ -393,7 +393,7 @@ index c26e830..246acdd 100644
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
perror_with_name (_("Couldn't get floating point status"));
@@ -206,13 +219,13 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
@@ -203,13 +216,13 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
{
struct reg regs;
@ -409,10 +409,10 @@ index c26e830..246acdd 100644
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
perror_with_name (_("Couldn't write registers"));
@@ -233,13 +246,13 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
@@ -230,13 +243,13 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
char *xstateregs;
xstateregs = alloca(x86_xsave_len);
xstateregs = alloca (i386bsd_xsave_len);
- if (ptrace (PT_GETXSTATE, ptid_get_pid (inferior_ptid),
+ if (ptrace (PT_GETXSTATE, ptrace_pid (inferior_ptid),
(PTRACE_TYPE_ARG3) xstateregs, 0) == -1)
@ -422,10 +422,10 @@ index c26e830..246acdd 100644
- if (ptrace (PT_SETXSTATE, ptid_get_pid (inferior_ptid),
+ if (ptrace (PT_SETXSTATE, ptrace_pid (inferior_ptid),
(PTRACE_TYPE_ARG3) xstateregs, x86_xsave_len) == -1)
(PTRACE_TYPE_ARG3) xstateregs, i386bsd_xsave_len) == -1)
perror_with_name (_("Couldn't write extended state status"));
}
@@ -247,14 +260,14 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
return;
@@ -245,14 +258,14 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
#ifdef HAVE_PT_GETXMMREGS
if (have_ptrace_xmmregs != 0
@ -442,7 +442,7 @@ index c26e830..246acdd 100644
(PTRACE_TYPE_ARG3) xmmregs, 0) == -1)
perror_with_name (_("Couldn't write XMM registers"));
}
@@ -262,13 +275,13 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
@@ -260,13 +273,13 @@ i386bsd_store_inferior_registers (struct target_ops *ops,
{
have_ptrace_xmmregs = 0;
#endif
@ -458,7 +458,7 @@ index c26e830..246acdd 100644
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
perror_with_name (_("Couldn't write floating point status"));
#ifdef HAVE_PT_GETXMMREGS
@@ -307,7 +320,7 @@ i386bsd_dr_get (ptid_t ptid, int regnum)
@@ -305,7 +318,7 @@ i386bsd_dr_get (ptid_t ptid, int regnum)
{
struct dbreg dbregs;
@ -467,7 +467,7 @@ index c26e830..246acdd 100644
(PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
perror_with_name (_("Couldn't read debug registers"));
@@ -319,7 +332,7 @@ i386bsd_dr_set (int regnum, unsigned int value)
@@ -317,7 +330,7 @@ i386bsd_dr_set (int regnum, unsigned int value)
{
struct dbreg dbregs;
@ -476,7 +476,7 @@ index c26e830..246acdd 100644
(PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
perror_with_name (_("Couldn't get debug registers"));
@@ -330,7 +343,7 @@ i386bsd_dr_set (int regnum, unsigned int value)
@@ -328,7 +341,7 @@ i386bsd_dr_set (int regnum, unsigned int value)
DBREG_DRX ((&dbregs), regnum) = value;
@ -485,8 +485,8 @@ index c26e830..246acdd 100644
(PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
perror_with_name (_("Couldn't write debug registers"));
}
diff --git a/gdb/i386bsd-nat.h b/gdb/i386bsd-nat.h
index 044f530..2fca773 100644
diff --git gdb/i386bsd-nat.h gdb/i386bsd-nat.h
index 2f50c32..bf7f2ff 100644
--- gdb/i386bsd-nat.h
+++ gdb/i386bsd-nat.h
@@ -38,6 +38,14 @@ extern CORE_ADDR i386bsd_dr_get_addr (int regnum);
@ -504,8 +504,8 @@ index 044f530..2fca773 100644
extern unsigned long i386bsd_dr_get_control (void);
#endif /* i386bsd-nat.h */
diff --git a/gdb/i386fbsd-nat.c b/gdb/i386fbsd-nat.c
index b9620e1..71abcdf 100644
diff --git gdb/i386fbsd-nat.c gdb/i386fbsd-nat.c
index a205a26..29b9444 100644
--- gdb/i386fbsd-nat.c
+++ gdb/i386fbsd-nat.c
@@ -21,6 +21,7 @@
@ -516,7 +516,7 @@ index b9620e1..71abcdf 100644
#include <sys/types.h>
#include <sys/ptrace.h>
@@ -82,6 +83,49 @@ i386fbsd_resume (struct target_ops *ops,
@@ -81,6 +82,49 @@ i386fbsd_resume (struct target_ops *ops,
}
@ -566,19 +566,19 @@ index b9620e1..71abcdf 100644
/* Support for debugging kernel virtual memory images. */
#include <machine/pcb.h>
diff --git a/gdb/i386fbsd-tdep.c b/gdb/i386fbsd-tdep.c
index 8f7109f..fcb85d8 100644
diff --git gdb/i386fbsd-tdep.c gdb/i386fbsd-tdep.c
index 99e08cb..5bb15f6 100644
--- gdb/i386fbsd-tdep.c
+++ gdb/i386fbsd-tdep.c
@@ -30,7 +30,6 @@
@@ -28,7 +28,6 @@
#include "i386-tdep.h"
#include "i387-tdep.h"
-#include "bsd-uthread.h"
#include "fbsd-tdep.h"
#include "solib-svr4.h"
/* FreeBSD 3.0-RELEASE or later. */
@@ -153,46 +152,6 @@ i386fbsd_core_read_description (struct gdbarch *gdbarch,
@@ -333,46 +332,6 @@ i386fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
}
static void
@ -625,7 +625,7 @@ index 8f7109f..fcb85d8 100644
i386fbsdaout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -217,10 +176,6 @@ i386fbsdaout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
@@ -399,10 +358,6 @@ i386fbsdaout_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* FreeBSD has a more complete `struct sigcontext'. */
tdep->sc_reg_offset = i386fbsd_sc_reg_offset;
tdep->sc_num_regs = ARRAY_SIZE (i386fbsd_sc_reg_offset);
@ -636,11 +636,11 @@ index 8f7109f..fcb85d8 100644
}
static void
diff --git a/gdb/ppcfbsd-nat.c b/gdb/ppcfbsd-nat.c
index 079bd12..74922f2 100644
diff --git gdb/ppcfbsd-nat.c gdb/ppcfbsd-nat.c
index 778b4bb..fa9285f 100644
--- gdb/ppcfbsd-nat.c
+++ gdb/ppcfbsd-nat.c
@@ -39,6 +39,19 @@
@@ -37,6 +37,19 @@
#include "inf-ptrace.h"
#include "bsd-kvm.h"
@ -660,7 +660,7 @@ index 079bd12..74922f2 100644
/* Fill GDB's register array with the general-purpose register values
in *GREGSETP. */
@@ -123,7 +136,7 @@ ppcfbsd_fetch_inferior_registers (struct target_ops *ops,
@@ -121,7 +134,7 @@ ppcfbsd_fetch_inferior_registers (struct target_ops *ops,
{
gdb_gregset_t regs;
@ -669,7 +669,7 @@ index 079bd12..74922f2 100644
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
perror_with_name (_("Couldn't get registers"));
@@ -134,7 +147,7 @@ ppcfbsd_fetch_inferior_registers (struct target_ops *ops,
@@ -132,7 +145,7 @@ ppcfbsd_fetch_inferior_registers (struct target_ops *ops,
const struct regset *fpregset = ppc_fbsd_fpregset ();
gdb_fpregset_t fpregs;
@ -678,7 +678,7 @@ index 079bd12..74922f2 100644
(PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
perror_with_name (_("Couldn't get FP registers"));
@@ -151,13 +164,13 @@ ppcfbsd_store_inferior_registers (struct target_ops *ops,
@@ -149,13 +162,13 @@ ppcfbsd_store_inferior_registers (struct target_ops *ops,
{
gdb_gregset_t regs;
@ -694,7 +694,7 @@ index 079bd12..74922f2 100644
(PTRACE_TYPE_ARG3) &regs, 0) == -1)
perror_with_name (_("Couldn't write registers"));
@@ -165,13 +178,13 @@ ppcfbsd_store_inferior_registers (struct target_ops *ops,
@@ -163,13 +176,13 @@ ppcfbsd_store_inferior_registers (struct target_ops *ops,
{
gdb_fpregset_t fpregs;

View file

@ -18,11 +18,6 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <err.h>
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/user.h>
@ -151,7 +146,7 @@ static CORE_ADDR td_death_bp_addr;
/* Prototypes for local functions. */
static void fbsd_find_lwp_name(long lwpid, struct private_thread_info *info);
static void fbsd_thread_find_new_threads (struct target_ops *ops);
static void fbsd_thread_update_thread_list (struct target_ops *ops);
static int fbsd_thread_alive (struct target_ops *ops, ptid_t ptid);
static void attach_thread (ptid_t ptid, const td_thrhandle_t *th_p,
const td_thrinfo_t *ti_p, int verbose);
@ -446,7 +441,7 @@ fbsd_thread_activate (void)
fbsd_thread_active = 1;
if (target_has_execution)
enable_thread_event_reporting ();
fbsd_thread_find_new_threads (NULL);
fbsd_thread_update_thread_list (NULL);
get_current_thread ();
}
@ -809,6 +804,7 @@ fbsd_thread_fetch_registers (struct target_ops *ops,
prgregset_t gregset;
prfpregset_t fpregset;
td_thrhandle_t th;
td_thrinfo_t ti;
td_err_e err;
#ifdef PT_GETXMMREGS
char xmmregs[512];
@ -828,6 +824,25 @@ fbsd_thread_fetch_registers (struct target_ops *ops,
pid_to_thread_id (inferior_ptid),
GET_THREAD (inferior_ptid), thread_db_err_str (err));
err = td_thr_get_info_p (&th, &ti);
if (err != TD_OK)
error ("Cannot get thread info, Thread ID=%ld, %s",
GET_THREAD (inferior_ptid), thread_db_err_str (err));
if (ti.ti_lid != 0)
{
struct target_ops *beneath = find_target_beneath (ops);
struct cleanup *old_chain;
old_chain = save_inferior_ptid ();
inferior_ptid = BUILD_LWP (ti.ti_lid, GET_PID (inferior_ptid));
beneath->to_fetch_registers (ops, regcache, regnum);
do_cleanups (old_chain);
return;
}
err = td_thr_getgregs_p (&th, gregset);
if (err != TD_OK)
error ("Cannot fetch general-purpose registers for thread %d: Thread ID=%ld, %s",
@ -862,6 +877,7 @@ fbsd_thread_store_registers (struct target_ops *ops,
prgregset_t gregset;
prfpregset_t fpregset;
td_thrhandle_t th;
td_thrinfo_t ti;
td_err_e err;
#ifdef PT_GETXMMREGS
char xmmregs[512];
@ -882,6 +898,25 @@ fbsd_thread_store_registers (struct target_ops *ops,
GET_THREAD (inferior_ptid),
thread_db_err_str (err));
err = td_thr_get_info_p (&th, &ti);
if (err != TD_OK)
error ("Cannot get thread info, Thread ID=%ld, %s",
GET_THREAD (inferior_ptid), thread_db_err_str (err));
if (ti.ti_lid != 0)
{
struct target_ops *beneath = find_target_beneath (ops);
struct cleanup *old_chain;
old_chain = save_inferior_ptid ();
inferior_ptid = BUILD_LWP (ti.ti_lid, GET_PID (inferior_ptid));
beneath->to_store_registers (ops, regcache, regnum);
do_cleanups (old_chain);
return;
}
if (regnum != -1)
{
char old_value[MAX_REGISTER_SIZE];
@ -1013,7 +1048,7 @@ fbsd_thread_alive (struct target_ops *ops, ptid_t ptid)
}
static int
find_new_threads_callback (const td_thrhandle_t *th_p, void *data)
update_thread_list_callback (const td_thrhandle_t *th_p, void *data)
{
td_thrinfo_t ti;
td_err_e err;
@ -1033,12 +1068,15 @@ find_new_threads_callback (const td_thrhandle_t *th_p, void *data)
}
static void
fbsd_thread_find_new_threads (struct target_ops *ops)
fbsd_thread_update_thread_list (struct target_ops *ops)
{
td_err_e err;
/* Delete dead threads. */
prune_threads();
/* Iterate over all user-space threads to discover new threads. */
err = td_ta_thr_iter_p (thread_agent, find_new_threads_callback, NULL,
err = td_ta_thr_iter_p (thread_agent, update_thread_list_callback, NULL,
TD_THR_ANY_STATE, TD_THR_LOWEST_PRIORITY,
TD_SIGNO_MASK, TD_THR_ANY_USER_FLAGS);
if (err != TD_OK)
@ -1048,6 +1086,7 @@ fbsd_thread_find_new_threads (struct target_ops *ops)
static void
fbsd_find_lwp_name(long lwpid, struct private_thread_info *info)
{
struct cleanup *old_chain;
int error, name[4];
unsigned int i;
struct kinfo_proc *kipp, *kip;
@ -1061,21 +1100,22 @@ fbsd_find_lwp_name(long lwpid, struct private_thread_info *info)
name[3] = pid;
error = sysctl(name, 4, NULL, &len, NULL, 0);
if (error < 0 && errno != ESRCH) {
warn("sysctl: kern.proc.pid: %d", pid);
return;
}
if (error < 0)
if (error < 0) {
if (errno != ESRCH)
warning (_("sysctl: kern.proc.pid: %d: %s"), pid,
safe_strerror (errno));
return;
}
kip = malloc(len);
kip = xmalloc(len);
if (kip == NULL)
err(-1, "malloc");
return;
old_chain = make_cleanup(xfree, kip);
if (sysctl(name, 4, kip, &len, NULL, 0) < 0) {
warn("sysctl: kern.proc.pid: %d", pid);
free(kip);
return;
warning (_("sysctl: kern.proc.pid: %d: %s"), pid, safe_strerror(errno));
do_cleanups(old_chain);
return;
}
for (i = 0; i < len / sizeof(*kipp); i++) {
@ -1097,15 +1137,13 @@ fbsd_find_lwp_name(long lwpid, struct private_thread_info *info)
}
}
len = strlen(kipp->ki_ocomm) + 1;
lwpstr = xmalloc(len);
strncpy(lwpstr, kipp->ki_ocomm, len);
lwpstr = xstrdup(kipp->ki_ocomm);
info->lwp_name = lwpstr;
break;
}
}
free(kip);
do_cleanups(old_chain);
}
static char *
@ -1316,7 +1354,7 @@ init_fbsd_thread_ops (void)
fbsd_thread_ops.to_store_registers = fbsd_thread_store_registers;
fbsd_thread_ops.to_mourn_inferior = fbsd_thread_mourn_inferior;
fbsd_thread_ops.to_thread_alive = fbsd_thread_alive;
fbsd_thread_ops.to_find_new_threads = fbsd_thread_find_new_threads;
fbsd_thread_ops.to_update_thread_list = fbsd_thread_update_thread_list;
fbsd_thread_ops.to_pid_to_str = fbsd_thread_pid_to_str;
fbsd_thread_ops.to_stratum = thread_stratum;
fbsd_thread_ops.to_get_thread_local_address = fbsd_thread_get_local_address;

View file

@ -1,6 +1,8 @@
--- gdb/amd64bsd-nat.c.orig 2013-04-09 16:45:15.000000000 +0200
+++ gdb/amd64bsd-nat.c 2013-04-09 18:53:22.000000000 +0200
@@ -29,6 +29,7 @@
diff --git gdb/amd64bsd-nat.c gdb/amd64bsd-nat.c
index 66d4289..b1d4a0e 100644
--- gdb/amd64bsd-nat.c
+++ gdb/amd64bsd-nat.c
@@ -28,6 +28,7 @@
#include <sys/types.h>
#include <sys/ptrace.h>
#include <machine/reg.h>
@ -8,7 +10,7 @@
#include "amd64-tdep.h"
#include "amd64-nat.h"
@@ -81,14 +82,24 @@
@@ -98,14 +99,24 @@ amd64bsd_store_inferior_registers (struct target_ops *ops,
if (regnum == -1 || amd64_native_gregset_supplies_p (gdbarch, regnum))
{

View file

@ -1,56 +0,0 @@
--- gdb/amd64fbsd-nat.c.orig 2014-06-11 18:34:41.000000000 +0200
+++ gdb/amd64fbsd-nat.c 2014-09-24 18:27:50.618458853 +0200
@@ -21,13 +21,16 @@
#include "inferior.h"
#include "regcache.h"
#include "target.h"
#include "gdb_assert.h"
#include <signal.h>
#include <stddef.h>
#include <sys/types.h>
+#include <sys/procfs.h>
#include <sys/ptrace.h>
#include <sys/sysctl.h>
+#include <sys/user.h>
+#include <sys/param.h>
#include <machine/reg.h>
#include "fbsd-nat.h"
@@ -247,6 +291,10 @@
SC_RBP_OFFSET = offset;
+// Newer versions of FreeBSD provide a better way to locate the signtramp
+#if ( __FreeBSD_version/100000 < 9 ) \
+ || ( ( __FreeBSD_version/100000 == 9 ) && ( __FreeBSD_version < 902505 ) ) \
+ || ( ( __FreeBSD_version/100000 == 10 ) && ( __FreeBSD_version < 1000700 ) )
/* FreeBSD provides a kern.ps_strings sysctl that we can use to
locate the sigtramp. That way we can still recognize a sigtramp
if its location is changed in a new kernel. Of course this is
@@ -267,4 +315,25 @@
amd64fbsd_sigtramp_end_addr = ps_strings;
}
}
+#else
+ /* FreeBSD provides a kern.proc.sigtramp sysctl that we can use to
+ locate the sigtramp. That way we can still recognize a sigtramp
+ if its location is changed in a new kernel. */
+ {
+ int mib[4];
+ struct kinfo_sigtramp kst;
+ size_t len;
+
+ mib[0] = CTL_KERN;
+ mib[1] = KERN_PROC;
+ mib[2] = KERN_PROC_SIGTRAMP;
+ mib[3] = getpid();
+ len = sizeof (kst);
+ if (sysctl (mib, sizeof(mib)/sizeof(mib[0]), &kst, &len, NULL, 0) == 0)
+ {
+ amd64fbsd_sigtramp_start_addr = kst.ksigtramp_start;
+ amd64fbsd_sigtramp_end_addr = kst.ksigtramp_end;
+ }
+ }
+#endif
}

View file

@ -1,6 +1,8 @@
--- gdb/configure.orig 2014-07-29 14:37:42.000000000 +0200
+++ gdb/configure 2014-10-01 14:21:14.902231511 +0200
@@ -11485,7 +11485,8 @@
diff --git gdb/configure gdb/configure
index 355f190..9c60e01 100755
--- gdb/configure
+++ gdb/configure
@@ -11423,7 +11423,8 @@ fi
# See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
@ -10,7 +12,7 @@
"
if test "x$ac_cv_member_struct_reg_r_fs" = x""yes; then :
@@ -11495,7 +11496,8 @@
@@ -11433,7 +11434,8 @@ _ACEOF
fi
@ -20,7 +22,7 @@
"
if test "x$ac_cv_member_struct_reg_r_gs" = x""yes; then :
@@ -13007,10 +13009,9 @@
@@ -12945,10 +12947,9 @@ fi
build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
-Wpointer-sign \

View file

@ -1,15 +1,17 @@
--- gdb/gdb_wchar.h.orig 2014-06-05 10:44:18.914279516 +0200
+++ gdb/gdb_wchar.h 2014-06-05 10:46:07.264279306 +0200
@@ -56,7 +56,7 @@
diff --git gdb/gdb_wchar.h gdb/gdb_wchar.h
index 868fe04..1311080 100644
--- gdb/gdb_wchar.h
+++ gdb/gdb_wchar.h
@@ -59,7 +59,7 @@
iconvlist. */
#if defined (HAVE_ICONV) && defined (HAVE_WCHAR_H) && defined (HAVE_BTOWC) \
#if defined (HAVE_ICONV) && defined (HAVE_BTOWC) \
&& (defined (__STDC_ISO_10646__) \
- || (defined (_LIBICONV_VERSION) && _LIBICONV_VERSION >= 0x108))
+ || (!defined (LIBICONV_PLUG) && defined (_LIBICONV_VERSION) && _LIBICONV_VERSION >= 0x108))
#include <wchar.h>
#include <wctype.h>
@@ -82,7 +82,7 @@
typedef wchar_t gdb_wchar_t;
typedef wint_t gdb_wint_t;
@@ -82,7 +82,7 @@ typedef wint_t gdb_wint_t;
#define INTERMEDIATE_ENCODING intermediate_encoding ()
const char *intermediate_encoding (void);

View file

@ -1,58 +1,12 @@
--- gdb/i386fbsd-nat.c.orig 2012-05-24 18:39:09.000000000 +0200
+++ gdb/i386fbsd-nat.c 2012-08-29 17:19:57.000000000 +0200
@@ -21,10 +21,12 @@
#include "inferior.h"
#include "regcache.h"
#include "target.h"
#include <sys/types.h>
+#include <sys/procfs.h>
#include <sys/ptrace.h>
#include <sys/sysctl.h>
+#include <sys/user.h>
#include "fbsd-nat.h"
#include "i386-tdep.h"
@@ -140,7 +141,6 @@
#endif /* HAVE_PT_GETDBREGS */
diff --git gdb/i386fbsd-nat.c gdb/i386fbsd-nat.c
index 6c43f2c..a205a26 100644
--- gdb/i386fbsd-nat.c
+++ gdb/i386fbsd-nat.c
@@ -175,7 +175,6 @@ _initialize_i386fbsd_nat (void)
t->to_read_description = i386fbsd_read_description;
#endif
- t->to_resume = i386fbsd_resume;
t->to_pid_to_exec_file = fbsd_pid_to_exec_file;
t->to_find_memory_regions = fbsd_find_memory_regions;
t->to_make_corefile_notes = fbsd_make_corefile_notes;
@@ -149,13 +149,33 @@ _initialize_i386fbsd_nat (void)
/* Support debugging kernel virtual memory images. */
bsd_kvm_add_target (i386fbsd_supply_pcb);
+#ifdef KERN_PROC_SIGTRAMP
+ /* FreeBSD provides a kern.proc.sigtramp sysctl that we can use to
+ locate the sigtramp. That way we can still recognize a sigtramp
+ if its location is changed in a new kernel. */
+ {
+ int mib[4];
+ struct kinfo_sigtramp kst;
+ size_t len;
+
+ mib[0] = CTL_KERN;
+ mib[1] = KERN_PROC;
+ mib[2] = KERN_PROC_SIGTRAMP;
+ mib[3] = getpid();
+ len = sizeof (kst);
+ if (sysctl (mib, sizeof(mib)/sizeof(mib[0]), &kst, &len, NULL, 0) == 0)
+ {
+ i386fbsd_sigtramp_start_addr = (uintptr_t)kst.ksigtramp_start;
+ i386fbsd_sigtramp_end_addr = (uintptr_t)kst.ksigtramp_end;
+ }
+ }
+#elif defined(KERN_PS_STRINGS)
/* FreeBSD provides a kern.ps_strings sysctl that we can use to
locate the sigtramp. That way we can still recognize a sigtramp
if its location is changed in a new kernel. Of course this is
still based on the assumption that the sigtramp is placed
directly under the location where the program arguments and
environment can be found. */
-#ifdef KERN_PS_STRINGS
{
int mib[2];
u_long ps_strings;
add_target (t);

View file

@ -1,6 +1,8 @@
--- gdb/python/python-config.py.orig 2013-10-17 11:24:52.000000000 +0200
+++ gdb/python/python-config.py 2013-10-17 11:25:04.000000000 +0200
@@ -59,6 +59,8 @@
diff --git gdb/python/python-config.py gdb/python/python-config.py
index c2b2969..39af8d9 100644
--- gdb/python/python-config.py
+++ gdb/python/python-config.py
@@ -59,6 +59,8 @@ for opt in opt_flags:
elif opt in ('--libs', '--ldflags'):
libs = []

View file

@ -1,6 +1,8 @@
--- gdb/common/signals.c.orig 2013-01-01 07:32:54.000000000 +0100
+++ gdb/common/signals.c 2013-11-25 16:12:56.000000000 +0100
@@ -46,6 +46,12 @@
diff --git gdb/common/signals.c gdb/common/signals.c
index d4cf953..019371e 100644
--- gdb/common/signals.c
+++ gdb/common/signals.c
@@ -41,6 +41,12 @@ struct gdbarch;
# endif
#endif
@ -13,7 +15,7 @@
/* This table must match in order and size the signals in enum
gdb_signal. */
@@ -334,6 +340,11 @@
@@ -332,6 +338,11 @@ gdb_signal_from_host (int hostsig)
return GDB_SIGNAL_INFO;
#endif
@ -25,7 +27,7 @@
#if defined (REALTIME_LO)
if (hostsig >= REALTIME_LO && hostsig < REALTIME_HI)
{
@@ -591,6 +602,11 @@
@@ -585,6 +596,11 @@ do_gdb_signal_to_host (enum gdb_signal oursig,
return SIGINFO;
#endif
@ -37,9 +39,11 @@
default:
#if defined (REALTIME_LO)
retsig = 0;
--- gdb/infrun.c.orig 2013-08-30 17:58:55.000000000 +0200
+++ gdb/infrun.c 2013-11-22 16:12:58.000000000 +0100
@@ -7291,6 +7291,8 @@
diff --git gdb/infrun.c gdb/infrun.c
index 11dcc0e..6ec4d0b 100644
--- gdb/infrun.c
+++ gdb/infrun.c
@@ -7715,6 +7715,8 @@ leave it stopped or free to run as needed."),
signal_print[GDB_SIGNAL_WINCH] = 0;
signal_stop[GDB_SIGNAL_PRIO] = 0;
signal_print[GDB_SIGNAL_PRIO] = 0;
@ -48,12 +52,14 @@
/* These signals are used internally by user-level thread
implementations. (See signal(5) on Solaris.) Like the above
--- include/gdb/signals.def.orig 2013-01-01 07:41:30.000000000 +0100
+++ include/gdb/signals.def 2013-11-25 16:13:42.000000000 +0100
@@ -197,4 +197,5 @@
diff --git include/gdb/signals.def include/gdb/signals.def
index 3f49980..857c69d 100644
--- include/gdb/signals.def
+++ include/gdb/signals.def
@@ -197,4 +197,5 @@ SET (GDB_EXC_BREAKPOINT, 150, "EXC_BREAKPOINT", "Breakpoint")
/* If you are adding a new signal, add it just above this comment. */
/* Last and unused enum value, for sizing arrays, etc. */
-SET (GDB_SIGNAL_LAST, 151, NULL, "GDB_SIGNAL_MAGIC")
-SET (GDB_SIGNAL_LAST, 151, NULL, "GDB_SIGNAL_LAST")
+SET (GDB_SIGNAL_FBSD_LIBRT, 151, "SIGLIBRT", "GDB_SIGNAL_FBSD_LIBRT")
+SET (GDB_SIGNAL_LAST, 152, NULL, "GDB_SIGNAL_MAGIC")

View file

@ -1,6 +1,9 @@
--- gdb/gdb.c Thu Feb 13 13:07:24 2003
+++ gdb/gdb.c Wed May 17 00:24:39 2006
@@ -31,5 +32,11 @@
diff --git gdb/gdb.c gdb/gdb.c
index e554015..dcb9925 100644
--- gdb/gdb.c
+++ gdb/gdb.c
@@ -28,6 +28,12 @@ main (int argc, char **argv)
memset (&args, 0, sizeof args);
args.argc = argc;
args.argv = argv;
- args.interpreter_p = INTERP_CONSOLE;

View file

@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= jenkins
PORTVERSION= 1.609
PORTVERSION= 1.611
CATEGORIES= devel java
MASTER_SITES= http://mirrors.jenkins-ci.org/war/${PORTVERSION}/
DISTNAME= jenkins

View file

@ -1,2 +1,2 @@
SHA256 (jenkins/1.609/jenkins.war) = 022d31ed0e105049968854a75039eae27c6fa7f10e75a97199d79c5632d03e89
SIZE (jenkins/1.609/jenkins.war) = 68907772
SHA256 (jenkins/1.611/jenkins.war) = 12157975cd8c5bf54bbafdc16d826fd384d7eea5e3816c2c28f82002ad866e42
SIZE (jenkins/1.611/jenkins.war) = 68914127

View file

@ -2,59 +2,33 @@
# $FreeBSD$
PORTNAME= opam
PORTVERSION= 1.2.0
PORTVERSION= 1.2.1
CATEGORIES= devel
MASTER_SITES= http://ocaml-extlib.googlecode.com/files/:extlib \
https://github.com/ocaml/ocaml-re/archive/:ocamlre \
http://erratique.ch/software/cmdliner/releases/:cmdliner \
http://ocamlgraph.lri.fr/download/:ocamlgraph \
https://gforge.inria.fr/frs/download.php/file/33593/:cudf \
https://gforge.inria.fr/frs/download.php/file/33677/:dose \
http://erratique.ch/software/uutf/releases/:uutf \
http://erratique.ch/software/jsonm/releases/:jsonm \
GHL:gh
MASTER_SITES= https://github.com/ocaml/opam/releases/download/${DISTVERSION}/ \
http://github.com/ocaml/opam/releases/download/${DISTVERSION}/
PKGNAMEPREFIX= ocaml-
DISTFILES= ${OPAM_EXT_DIST} \
${GH_ACCOUNT}-${GH_PROJECT}-${GH_COMMIT}.tar.gz:gh
EXTRACT_ONLY= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_COMMIT}.tar.gz
DISTNAME= opam-full-${DISTVERSION}
MAINTAINER= joris@giovannangeli.fr
COMMENT= Source-based package manager for OCaml
LICENSE= GPLv3
BUILD_DEPENDS= curl:${PORTSDIR}/ftp/curl
USE_GITHUB= yes
GH_ACCOUNT= ocaml
GH_PROJECT= opam
GH_TAGNAME= 1.2.0
GH_COMMIT= cbe460b
USES= gmake
USE_OCAML= yes
GNU_CONFIGURE= yes
MAKE_ENV+= TERM=xterm
ALL_TARGET= lib-ext all man
OPAM_EXT_DIST= extlib-1.5.3.tar.gz:extlib \
ocaml-re-1.2.0.tar.gz:ocamlre \
cmdliner-0.9.4.tbz:cmdliner \
ocamlgraph-1.8.5.tar.gz:ocamlgraph \
cudf-0.7.tar.gz:cudf \
dose3-3.2.2.tar.gz:dose \
uutf-0.9.3.tbz:uutf \
jsonm-0.9.1.tbz:jsonm \
OPTIONS_DEFINE= RSYNC GIT WGET HG DARCS ASPCUD
OPTIONS_DEFAULT= RSYNC GIT WGET
RSYNC_DESC= "Support remote repository synchronized with Rsync"
WGET_DESC= "Support remote repository synchronized with git"
GIT_DESC= "Support remote repository synchronized with HTTP"
HG_DESC= "Support remote repository synchronized with mercurial"
DARCS_DESC= "Support remote repository synchronized with darcs"
ASPCUD_DESC= "Use aspcud as an external dependencies solver"
RSYNC_DESC= Remote repository synchronized with Rsync
WGET_DESC= Remote repository synchronized with git
GIT_DESC= Remote repository synchronized with HTTP
HG_DESC= Remote repository synchronized with mercurial
DARCS_DESC= Remote repository synchronized with darcs
ASPCUD_DESC= Use aspcud as an external dependencies solver
WGET_RUN_DEPENDS:= wget:${PORTSDIR}/ftp/wget
RSYNC_RUN_DEPENDS:= rsync:${PORTSDIR}/net/rsync
@ -65,8 +39,4 @@ ASPCUD_RUN_DEPENDS:= aspcud:${PORTSDIR}/math/aspcud
MAKE_JOBS_UNSAFE= yes
post-extract:
${INSTALL} ${OPAM_EXT_DIST:C/:.*$//:S/^/${DISTDIR}\//} \
${WRKSRC}/src_ext/
.include <bsd.port.mk>

View file

@ -1,18 +1,2 @@
SHA256 (extlib-1.5.3.tar.gz) = c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021
SIZE (extlib-1.5.3.tar.gz) = 70897
SHA256 (ocaml-re-1.2.0.tar.gz) = a34dd9d6136731436a963bbab5c4bbb16e5d4e21b3b851d34887a3dec451999f
SIZE (ocaml-re-1.2.0.tar.gz) = 82965
SHA256 (cmdliner-0.9.4.tbz) = ecb65e2cfd984ec07e97a78f334a80cda41fb8f8bb5e37c41fd33e6a0e2e69ef
SIZE (cmdliner-0.9.4.tbz) = 43984
SHA256 (ocamlgraph-1.8.5.tar.gz) = d167466435a155c779d5ec25b2db83ad851feb42ebc37dca8ffa345ddaefb82f
SIZE (ocamlgraph-1.8.5.tar.gz) = 269438
SHA256 (cudf-0.7.tar.gz) = 92c8a9ed730bbac73f3513abab41127d966c9b9202ab2aaffcd02358c030a701
SIZE (cudf-0.7.tar.gz) = 54821
SHA256 (dose3-3.2.2.tar.gz) = a30a189f9f298ed1de96d7098440c951f3df2c8da626f7f37f38cbfddefc909c
SIZE (dose3-3.2.2.tar.gz) = 254091
SHA256 (uutf-0.9.3.tbz) = 1f364f89b1179e5182a4d3ad8975f57389d45548735d19054845e06a27107877
SIZE (uutf-0.9.3.tbz) = 31734
SHA256 (jsonm-0.9.1.tbz) = 3fd4dca045d82332da847e65e981d8b504883571d299a3f7e71447d46bc65f73
SIZE (jsonm-0.9.1.tbz) = 64843
SHA256 (ocaml-opam-cbe460b.tar.gz) = d5d8941d7795660f2a78f918e98bd2e827193c6e2ba9874574507a79814fda8d
SIZE (ocaml-opam-cbe460b.tar.gz) = 596559
SHA256 (opam-full-1.2.1.tar.gz) = f210ece7a2def34b486c9ccfb75de8febd64487b2ea4a14a7fa0358f37eacc3b
SIZE (opam-full-1.2.1.tar.gz) = 1519602

View file

@ -0,0 +1,104 @@
--- configure 2015-04-29 20:23:39.092132000 +0200
+++ configure 2015-04-29 20:24:39.312802000 +0200
@@ -599,8 +599,6 @@
OCAML_PKG_re
OCAML_PKG_extlib
OCAML_PKG_unix
-fetch
-FETCH
OCAMLFIND
OCAMLYACC
OCAMLLEXDOTOPT
@@ -671,7 +669,6 @@
ac_user_opts='
enable_option_checking
enable_version_check
-enable_certificate_check
'
ac_precious_vars='build_alias
host_alias
@@ -1292,10 +1289,6 @@
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-version-check Do not check OCaml version
- --disable-certificate-check
- Do not check the certificate of OPAM's dependency
- archives
-
Some influential environment variables:
CC C compiler command
@@ -4156,73 +4149,6 @@
-# Check whether --enable-certificate_check was given.
-if test "${enable_certificate_check+set}" = set; then :
- enableval=$enable_certificate_check;
-fi
-
-
-if test "x${enable_certificate_check}" = "xno"; then :
-
- curl_certificate_check=--insecure
- wget_certificate_check=--no-check-certificate
-
-fi
-
-for ac_prog in curl wget
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_FETCH+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$FETCH"; then
- ac_cv_prog_FETCH="$FETCH" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_FETCH="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-FETCH=$ac_cv_prog_FETCH
-if test -n "$FETCH"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FETCH" >&5
-$as_echo "$FETCH" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$FETCH" && break
-done
-test -n "$FETCH" || FETCH="no"
-
-
-if test x"$FETCH" = x"curl" ; then
- fetch="curl $curl_certificate_check -OL"
-
-elif test x"$FETCH" = x"wget" ; then
- fetch="wget $wget_certificate_check"
-
-else
- as_fn_error $? "You must have either curl or wget installed." "$LINENO" 5
-fi
-
echo

View file

@ -46,6 +46,8 @@ post-patch:
.endif
@${REINPLACE_CMD} -e 's/$$(LIBS)/$$(LDFLAGS) &/' \
${WRKSRC}/Makefile.onscripter
@${REINPLACE_CMD} -e 's/luaL_checkint/(int)&eger/' \
${WRKSRC}/LUAHandler.cpp
.if !target(do-install)
do-install:

View file

@ -8,7 +8,7 @@ CATEGORIES= devel
MAINTAINER= amdmi3@FreeBSD.org
COMMENT= Command Line Interface to work with an openSUSE Build Service
LICENSE= GPLv2
LICENSE= GPLv2 # or later
LICENSE_FILE= ${WRKSRC}/COPYING
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}m2crypto>0:${PORTSDIR}/security/py-m2crypto \

View file

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= p4
PORTVERSION= 2014.2.1033284
PORTVERSION= 2014.2.1045032
CATEGORIES= devel
MASTER_SITES= ftp://ftp.perforce.com/perforce/${P4VERSION}/bin.${PLATFORM}/ \
http://filehost.perforce.com/perforce/${P4VERSION}/bin.${PLATFORM}/

View file

@ -1,2 +1,2 @@
SHA256 (perforce/2014.2.1033284/bin.freebsd100x86/p4) = fdca0878416a9bec5ee2552e4b803883468c454fb8eb9ea7b9cdaa06b0f829a5
SIZE (perforce/2014.2.1033284/bin.freebsd100x86/p4) = 2474416
SHA256 (perforce/2014.2.1045032/bin.freebsd100x86/p4) = 1261bacd887cb09bcf79004a427784e3428ebef8ef7f8cd527e8f446feb3efb4
SIZE (perforce/2014.2.1045032/bin.freebsd100x86/p4) = 2474416

View file

@ -1,2 +1,2 @@
SHA256 (perforce/2014.2.1033284/bin.freebsd100x86_64/p4) = 2a0f1e290b3938a3dfc8d40129f635afb14eb98a6305b6da9192b534395d34bb
SIZE (perforce/2014.2.1033284/bin.freebsd100x86_64/p4) = 2732720
SHA256 (perforce/2014.2.1045032/bin.freebsd100x86_64/p4) = 676c424b485e90817e63592fc5f14ea151b489128078053989f2e85080d485c2
SIZE (perforce/2014.2.1045032/bin.freebsd100x86_64/p4) = 2732720

View file

@ -1,2 +1,2 @@
SHA256 (perforce/2014.2.1033284/bin.freebsd70x86/p4) = 5bcde41d8b74f0d04ef840e2006dfabd08ae1a68b9855492a4921d42f47993ed
SIZE (perforce/2014.2.1033284/bin.freebsd70x86/p4) = 2555504
SHA256 (perforce/2014.2.1045032/bin.freebsd70x86/p4) = 0c48532af152ba9ef187fd3a098ec0be0c5f8b9312becea4a27fe63ddec427ac
SIZE (perforce/2014.2.1045032/bin.freebsd70x86/p4) = 2555504

View file

@ -1,2 +1,2 @@
SHA256 (perforce/2014.2.1033284/bin.freebsd70x86_64/p4) = b93538622cfd4101526959c571b172843326771ef4fd200cd1c22bfe8ce672da
SIZE (perforce/2014.2.1033284/bin.freebsd70x86_64/p4) = 2716456
SHA256 (perforce/2014.2.1045032/bin.freebsd70x86_64/p4) = 3fbf5e0203bf4c2bc9b6107c8111c28e9d2f88372f6330fcff32057addf6c069
SIZE (perforce/2014.2.1045032/bin.freebsd70x86_64/p4) = 2716456

View file

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= p4d
PORTVERSION= 2014.2.1033284
PORTVERSION= 2014.2.1045032
CATEGORIES= devel
MASTER_SITES= ftp://ftp.perforce.com/perforce/${P4VERSION}/bin.${PLATFORM}/ \
http://filehost.perforce.com/perforce/${P4VERSION}/bin.${PLATFORM}/

View file

@ -1,2 +1,2 @@
SHA256 (perforce/2014.2.1033284/bin.freebsd100x86/p4d) = 8d4866fa1aa640e5f1914d41d72f85226dd1620bdb2edc8057fff229c8906371
SIZE (perforce/2014.2.1033284/bin.freebsd100x86/p4d) = 4715188
SHA256 (perforce/2014.2.1045032/bin.freebsd100x86/p4d) = 7be673ffd8099882476d6502e9155d37ed4d55168be6df9f8935b0afefb6d238
SIZE (perforce/2014.2.1045032/bin.freebsd100x86/p4d) = 4715188

View file

@ -1,2 +1,2 @@
SHA256 (perforce/2014.2.1033284/bin.freebsd100x86_64/p4d) = 8ba490e1d65915dbe5a94ca65225a5b1aeca680468665fbbc6e643b7bb5b2a84
SIZE (perforce/2014.2.1033284/bin.freebsd100x86_64/p4d) = 4878544
SHA256 (perforce/2014.2.1045032/bin.freebsd100x86_64/p4d) = 0c2fcfd58a90ca84d008c011235a731421092503ce73eee9b31d666f6cfc299f
SIZE (perforce/2014.2.1045032/bin.freebsd100x86_64/p4d) = 4878976

View file

@ -1,2 +1,2 @@
SHA256 (perforce/2014.2.1033284/bin.freebsd70x86/p4d) = 7f27cdf630d2fc94e7740944dee23f76893f2be344f6bd9ae4dcc29f724f8cf4
SIZE (perforce/2014.2.1033284/bin.freebsd70x86/p4d) = 5071040
SHA256 (perforce/2014.2.1045032/bin.freebsd70x86/p4d) = 40d1cb49c1edbe7886e7b18feed1cfbefc7a594271fc6658a806b022f833e1b5
SIZE (perforce/2014.2.1045032/bin.freebsd70x86/p4d) = 5071328

View file

@ -1,2 +1,2 @@
SHA256 (perforce/2014.2.1033284/bin.freebsd70x86_64/p4d) = 32d07370bf34f07a8e1d83dce66970ba2b6659e7b7eccc8b517456c48d8ca749
SIZE (perforce/2014.2.1033284/bin.freebsd70x86_64/p4d) = 5243488
SHA256 (perforce/2014.2.1045032/bin.freebsd70x86_64/p4d) = cf918faed8cca2e02ccc342cf1cf4d7d3dd99b83c8d6b11020ad2033dd5e9c4b
SIZE (perforce/2014.2.1045032/bin.freebsd70x86_64/p4d) = 5243776

View file

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= B-Flags
PORTVERSION= 0.11
PORTVERSION= 0.13
CATEGORIES= devel perl5
MASTER_SITES= CPAN
MASTER_SITE_SUBDIR= CPAN:RURBAN
@ -18,9 +18,9 @@ USES= perl5
USE_PERL5= configure
NO_ARCH= yes
#pre-install: test
post-install:
${CHMOD} u+w ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/B/Flags/Flags.so
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/B/Flags/Flags.so
${CHMOD} u-w ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/B/Flags/Flags.so
.include <bsd.port.mk>

View file

@ -1,2 +1,2 @@
SHA256 (B-Flags-0.11.tar.gz) = 24e51e83175bd0928abf4ad78e916a9cb2b7c975702d740d4565e7ef323dcf6a
SIZE (B-Flags-0.11.tar.gz) = 7568
SHA256 (B-Flags-0.13.tar.gz) = 6d00f08681772d0abec3aeedb5584910a6df5ced230c1525403a1c7da42f1352
SIZE (B-Flags-0.13.tar.gz) = 9161

View file

@ -1,16 +0,0 @@
--- Flags.xs.orig 2014-12-03 12:04:54 UTC
+++ Flags.xs
@@ -66,8 +66,13 @@ flagspv(o)
if (o->op_folded)
sv_catpv(RETVAL, ",FOLDED");
#if (PERL_VERSION == 21 && PERL_SUBVERSION > 1) || PERL_VERSION >= 22
+#if (PERL_VERSION == 21 && PERL_SUBVERSION < 11)
if (o->op_lastsib)
sv_catpv(RETVAL, ",LASTSIB");
+#else
+ if (o->op_moresib)
+ sv_catpv(RETVAL, ",MORESIB");
+#endif
#endif
#endif
#endif

View file

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= Want
PORTVERSION= 0.25
PORTVERSION= 0.26
CATEGORIES= devel perl5
MASTER_SITES= CPAN
MASTER_SITE_SUBDIR= CPAN:ROBIN

View file

@ -1,2 +1,2 @@
SHA256 (Want-0.25.tar.gz) = f8345ec6b74877fc1ef2a2fb91dc356592d569f97ed795e8b2452790d22d3853
SIZE (Want-0.25.tar.gz) = 19400
SHA256 (Want-0.26.tar.gz) = 4951675e13de2b0b9792be2827b8ef46ef25a0b9a2d3e9132143444dac28e17c
SIZE (Want-0.26.tar.gz) = 19866

35
devel/py-pathlib/Makefile Normal file
View file

@ -0,0 +1,35 @@
# $FreeBSD$
PORTNAME= pathlib
PORTVERSION= 1.0.1
CATEGORIES= devel python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= stiginge@pvv.org
COMMENT= Python 3.4 pathlib backported to 3.3, 3.2, 3.1, 2.7, 2.6
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
USES= python:2.7-3.3
USE_PYTHON= distutils autoplist
OPTIONS_DEFINE= DOCS
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0:${PORTSDIR}/textproc/py-sphinx
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MDOCS}
DOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME}
PORTDOCS= *
PYDISTUTILS_BUILD_TARGET+= build_sphinx
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/build/sphinx/html && \
${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} "! -name .buildinfo -and ! -name objects.inv")
.endif
.include <bsd.port.mk>

View file

@ -0,0 +1,2 @@
SHA256 (pathlib-1.0.1.tar.gz) = 6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f
SIZE (pathlib-1.0.1.tar.gz) = 49298

View file

@ -0,0 +1,4 @@
Backport of pathlib from Python 3.4. Offers a set of classes featuring all the
common operations on paths in an easy, object-oriented way.
WWW: https://pypi.python.org/pypi/pathlib

View file

@ -2,7 +2,8 @@
# $FreeBSD$
PORTNAME= rapidjson
PORTVERSION= 0.150310
PORTVERSION= 1.0.1
DISTVERSIONPREFIX= v
CATEGORIES= devel textproc
MAINTAINER= yuri@rawbw.com
@ -15,8 +16,7 @@ LICENSE_PERMS= ${_LICENSE_PERMS_DEFAULT}
USE_GITHUB= yes
GH_ACCOUNT= miloyip
GH_COMMIT= c745c95
GH_TAGNAME= ${GH_COMMIT}
GH_PROJECT= rapidjson
USES= cmake compiler:c++11-lang gmake

View file

@ -1,2 +1,2 @@
SHA256 (rapidjson-0.150310.tar.gz) = c1ea1694b32fe33466b90ab70e80105823286a9f1332431d1f6f0fc15ceac43e
SIZE (rapidjson-0.150310.tar.gz) = 582317
SHA256 (miloyip-rapidjson-v1.0.1_GH0.tar.gz) = a9003ad5c6384896ed4fd1f4a42af108e88e1b582261766df32d717ba744ee73
SIZE (miloyip-rapidjson-v1.0.1_GH0.tar.gz) = 724863

View file

@ -5,7 +5,6 @@ include/rapidjson/encodings.h
include/rapidjson/error/en.h
include/rapidjson/error/error.h
include/rapidjson/filereadstream.h
include/rapidjson/filestream.h
include/rapidjson/filewritestream.h
include/rapidjson/internal/biginteger.h
include/rapidjson/internal/diyfp.h
@ -31,9 +30,7 @@ lib/cmake/RapidJSON/RapidJSONConfigVersion.cmake
libdata/pkgconfig/RapidJSON.pc
%%DOCS%%share/doc/RapidJSON/readme.md
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/CMakeLists.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/capitalize/capitalize.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cmake_install.cmake
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/condense/condense.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/messagereader/messagereader.cpp
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pretty/pretty.cpp

View file

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= apipie-bindings
PORTVERSION= 0.0.12
PORTVERSION= 0.0.13
CATEGORIES= devel rubygems
MASTER_SITES= RG

View file

@ -1,2 +1,2 @@
SHA256 (rubygem/apipie-bindings-0.0.12.gem) = 4c47898d8a6b7da145e632a486b94ec76084b7215e95b677b442b23a1be875fe
SIZE (rubygem/apipie-bindings-0.0.12.gem) = 24064
SHA256 (rubygem/apipie-bindings-0.0.13.gem) = a1a08b484865a33e8466fa20e960ca91eb2e69a48df096ad49ef65ff6e729caa
SIZE (rubygem/apipie-bindings-0.0.13.gem) = 25088

View file

@ -15,6 +15,7 @@
SUBDIR += bundy
SUBDIR += c-ares
SUBDIR += checkdns
SUBDIR += cli53
SUBDIR += credns
SUBDIR += crossip
SUBDIR += curvedns

20
dns/cli53/Makefile Normal file
View file

@ -0,0 +1,20 @@
# Created by: Ryan Steinmetz <zi@FreeBSD.org>
# $FreeBSD$
PORTNAME= cli53
PORTVERSION= 0.4.4
CATEGORIES= dns
MAINTAINER= zi@FreeBSD.org
COMMENT= Command line management of Route53 domains
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boto>0:${PORTSDIR}/devel/py-boto \
${PYTHON_PKGNAMEPREFIX}argparse>0:${PORTSDIR}/devel/py-argparse \
${PYTHON_PKGNAMEPREFIX}dnspython>0:${PORTSDIR}/dns/py-dnspython
USES= python
USE_PYTHON= distutils autoplist
USE_GITHUB= yes
GH_ACCOUNT= barnybug
.include <bsd.port.mk>

2
dns/cli53/distinfo Normal file
View file

@ -0,0 +1,2 @@
SHA256 (barnybug-cli53-0.4.4_GH0.tar.gz) = a6aff40f917febadd467e754b755d0cfa94e6329b7eee9ffb4df0c132fc1a5af
SIZE (barnybug-cli53-0.4.4_GH0.tar.gz) = 15868

4
dns/cli53/pkg-descr Normal file
View file

@ -0,0 +1,4 @@
cli53 provides import and export from BIND format and simple command
line management of Route 53 domains.
WWW: https://github.com/barnybug/cli53/

13
dns/cli53/pkg-message Normal file
View file

@ -0,0 +1,13 @@
Please configure your AWS credentials, either through environment variables or
~/.boto config file.
For example:
export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
or in ~/.boto (make sure you chmod 600 ~/.boto):
[Credentials]
aws_access_key_id = XXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

View file

@ -2,10 +2,9 @@
# $FreeBSD$
PORTNAME= slime
PORTVERSION= 2.12
PORTREVISION= 1
PORTVERSION= 2.13
DISTVERSIONPREFIX=v
CATEGORIES= editors elisp
MASTER_SITES= https://codeload.github.com/slime/slime/legacy.tar.gz/v${PORTVERSION}?dummy=/
MAINTAINER= joe@thrallingpenguin.com
COMMENT= Superior Lisp Interaction Mode for Emacs
@ -19,9 +18,9 @@ BUILD_DEPENDS= texinfo>=5.2:${PORTSDIR}/print/texinfo
USES= gmake
USE_EMACS= yes
USE_GITHUB= yes
SLIME_LISPDIR= ${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/slime
WRKSRC= ${WRKDIR}/slime-slime-69e6eb2
SUB_FILES= pkg-message
SUB_LIST= SLIME_LISPDIR="${SLIME_LISPDIR}"
@ -38,15 +37,16 @@ do-build:
-f batch-byte-compile *.el
do-install:
@${MKDIR} ${STAGEDIR}${SLIME_LISPDIR}/contrib
@${MKDIR} ${STAGEDIR}${SLIME_LISPDIR}/contrib/test
@${MKDIR} ${STAGEDIR}${SLIME_LISPDIR}/lib
@${MKDIR} ${STAGEDIR}${SLIME_LISPDIR}/swank
cd ${WRKSRC} && ${INSTALL_DATA} *.elc *.el *.lisp ${STAGEDIR}${SLIME_LISPDIR}
cd ${WRKSRC} && ${INSTALL_DATA} *.asd *.elc *.el *.lisp ${STAGEDIR}${SLIME_LISPDIR}
cd ${WRKSRC}/lib && ${INSTALL_DATA} *.el ${STAGEDIR}${SLIME_LISPDIR}/lib
cd ${WRKSRC}/contrib && ${INSTALL_DATA} \
*.el *.lisp *.scm *.sml *.ss \
*.el *.lisp *.ss *.scm *.sml \
${STAGEDIR}${SLIME_LISPDIR}/contrib
cd ${WRKSRC}/contrib/test && ${INSTALL_DATA} *.el *.txt \
cd ${WRKSRC}/contrib/test && ${INSTALL_DATA} *.txt *.el \
${STAGEDIR}${SLIME_LISPDIR}/contrib/test
cd ${WRKSRC}/swank && ${INSTALL_DATA} *.lisp \
${STAGEDIR}${SLIME_LISPDIR}/swank

View file

@ -1,2 +1,2 @@
SHA256 (slime-2.12.tar.gz) = 0bf54258df9768a3085c09f6b27da13587bfbf6d8e5f09854142329c7a6bd199
SIZE (slime-2.12.tar.gz) = 1057378
SHA256 (slime-slime-v2.13_GH0.tar.gz) = 6bbc1627b371a28b1a7d22fd9dbf633b8fdeb4085d441a26e3fa600324e22397
SIZE (slime-slime-v2.13_GH0.tar.gz) = 1068800

View file

@ -2,6 +2,16 @@
%%PORTDOCS%%%%DOCSDIR%%/slime-refcard.pdf
%%PORTDOCS%%%%DOCSDIR%%/slime-small.pdf
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/ChangeLog
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-autodoc-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-c-p-c-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-cl-indent-test.txt
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-enclosing-context-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-fontifying-fu-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-indentation-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-mdot-fu-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-parse-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-presentations-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-repl-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/bridge.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/inferior-slime.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/slime-asdf.el
@ -14,8 +24,8 @@
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/slime-editing-commands.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/slime-enclosing-context.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/slime-fancy-inspector.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/slime-fancy.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/slime-fancy-trace.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/slime-fancy.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/slime-fontifying-fu.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/slime-fuzzy.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/slime-highlight-edits.el
@ -67,16 +77,6 @@
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/swank-sprof.lisp
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/swank-trace-dialog.lisp
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/swank-util.lisp
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-autodoc-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-c-p-c-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-cl-indent-test.txt
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-enclosing-context-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-fontifying-fu-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-indentation-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-mdot-fu-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-parse-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-presentations-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test/slime-repl-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/swank/abcl.lisp
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/swank/allegro.lisp
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/swank/backend.lisp
@ -103,6 +103,7 @@
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/slime-tests.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/slime-tests.elc
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/start-swank.lisp
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/swank.asd
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/swank.lisp
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/swank-loader.lisp
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/xref.lisp
@ -110,7 +111,10 @@
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/lib/ert-x.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/lib/ert.el
%%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/lib/hyperspec.el
%%EMACS_VERSION_SITE_LISPDIR%%/slime/swank/clasp.lisp
@dir %%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib/test
@dir %%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/contrib
@dir %%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/swank
@dir %%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime/lib
@dir %%EMACS_LIBDIR%%/%%EMACS_VER%%/site-lisp/slime
%%PORTDOCS%%@dir %%DOCSDIR%%

View file

@ -167,7 +167,7 @@ LIB_DEPENDS+= libcurl.so:${PORTSDIR}/ftp/curl
.endif
.if empty(PORT_OPTIONS:MOPENGL)
CONFIGURE_ARGS+= --disable-glx
CONFIGURE_ARGS+= --disable-opengl
.else
USE_GL= yes
.endif

View file

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= RCurl
DISTVERSION= 1.95-4.3
DISTVERSION= 1.95-4.6
CATEGORIES= ftp
DISTNAME= ${PORTNAME}_${DISTVERSION}

View file

@ -1,2 +1,2 @@
SHA256 (RCurl_1.95-4.3.tar.gz) = cf791471a88ba6ed02cdf043ed8fded918aa8ca609f31dea6d747cde6d56d2bf
SIZE (RCurl_1.95-4.3.tar.gz) = 879143
SHA256 (RCurl_1.95-4.6.tar.gz) = 9a442f09db797973b2e2725e0641fe234f699a52bfacbf063f40e1191088b490
SIZE (RCurl_1.95-4.6.tar.gz) = 878616

View file

@ -1,6 +1,6 @@
--- build/premake/extern_libs4.lua.orig 2014-09-24 10:05:27 UTC
--- build/premake/extern_libs4.lua.orig 2015-02-20 05:52:18 UTC
+++ build/premake/extern_libs4.lua
@@ -237,7 +237,7 @@
@@ -237,7 +237,7 @@ extern_lib_defs = {
end
-- TODO: This actually applies to most libraries we use on BSDs, make this a global setting.
if os.is("bsd") then
@ -9,3 +9,12 @@
end
end,
link_settings = function()
@@ -346,8 +346,6 @@ extern_lib_defs = {
elseif os.is("macosx") then
add_default_include_paths("iconv")
defines { "LIBICONV_STATIC" }
- elseif os.getversion().description == "FreeBSD" then
- defines { "HAVE_ICONV_CONST" }
end
end,
link_settings = function()

View file

@ -1,7 +1,7 @@
# Created by: TAOKA Fumiyoshi
# $FreeBSD$
PORTREVISION= 14
PORTREVISION= 0
CATEGORIES= japanese mail perl5
PKGNAMEPREFIX= ja-
@ -25,6 +25,8 @@ TOKENIZER_PRE= tokenizer.pre
PLIST_SUB+= TOKENIZER_PRE=${TOKENIZER_PRE}
BROKEN= Requires update for 3.4.1
pre-install:
@${CAT} ${EXTRA_PATCHES:S/.patch/.plist/} > ${PLIST}
@${CAT} ${PKGDIR}/pkg-plist >> ${PLIST}

View file

@ -4,8 +4,7 @@
PORTNAME= gcc-ecj
PORTVERSION= 4.5
CATEGORIES= lang java
MASTER_SITES= ${MASTER_SITE_SOURCEWARE}
MASTER_SITE_SUBDIR+= java/
MASTER_SITES= SOURCEWARE/java/
DISTNAME= ecj-${PORTVERSION}.jar
EXTRACT_SUFX=
EXTRACT_ONLY=

View file

@ -6,8 +6,7 @@ PORTVERSION= 4.6.4
PORTREVISION= 5
PORTEPOCH= 1
CATEGORIES= lang java
MASTER_SITES= ${MASTER_SITE_GCC}
MASTER_SITE_SUBDIR= releases/gcc-${DISTVERSION}
MASTER_SITES= GCC/releases/gcc-${DISTVERSION}
PKGNAMESUFFIX= ${SUFFIX}
MAINTAINER= gerald@FreeBSD.org

View file

@ -6,8 +6,7 @@ PORTVERSION= 4.7.4
PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= lang java
MASTER_SITES= ${MASTER_SITE_GCC}
MASTER_SITE_SUBDIR= releases/gcc-${DISTVERSION}
MASTER_SITES= GCC/releases/gcc-${DISTVERSION}
PKGNAMESUFFIX= ${SUFFIX}
MAINTAINER= gerald@FreeBSD.org

View file

@ -2,11 +2,9 @@
# $FreeBSD$
PORTNAME= gcc
PORTVERSION= 4.8.5.s20150402
PORTREVISION= 1
PORTVERSION= 4.8.5.s20150423
CATEGORIES= lang java
MASTER_SITES= ${MASTER_SITE_GCC}
MASTER_SITE_SUBDIR= snapshots/${DISTVERSION}
MASTER_SITES= GCC/snapshots/${DISTVERSION}
PKGNAMESUFFIX= ${SUFFIX}
MAINTAINER= gerald@FreeBSD.org

View file

@ -1,2 +1,2 @@
SHA256 (gcc-4.8-20150402.tar.bz2) = 0ea7eda8c694ca3a76cd07c2b1f865312a4cb9e09da59b4d87285a1fdfab45a0
SIZE (gcc-4.8-20150402.tar.bz2) = 82121010
SHA256 (gcc-4.8-20150423.tar.bz2) = 6eb7080f54f27394407c925b8bc873cf8ba64a821cdcf54971b4b5dd60df06bb
SIZE (gcc-4.8-20150423.tar.bz2) = 82128617

View file

@ -5,7 +5,7 @@ PORTNAME= gcc
PORTVERSION= 5.0.1.s20150421
CATEGORIES= lang java
MASTER_SITES= GCC/snapshots/${DISTVERSION}
PKGNAMESUFFIX= ${SUFFIX}
PKGNAMESUFFIX= ${SUFFIX}-devel
MAINTAINER= gerald@FreeBSD.org
COMMENT= GNU Compiler Collection 5

View file

@ -1,9 +0,0 @@
# $FreeBSD$
# The following modification to CXXFLAGS is needed in the case of DragonFly
# 4.1+ building lang/gcc5 with the gcc50 base compiler when the system
# libraries were built by the gcc47 base compiler. The sys.mk file
# automatically adds -D_GLIBCXX_USE_CXX11_ABI=0 to CXXFLAGS in that case,
# which will break the build.
CXXFLAGS:= ${CXXFLAGS:N-D_GLIBCXX_USE_CXX11_ABI*}

View file

@ -4,6 +4,7 @@
PORTNAME= gjs
PORTVERSION= 1.42.0
PORTREVISION= 1
CATEGORIES= lang gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome3
@ -14,7 +15,7 @@ COMMENT= GNOME Javascript binding
LIB_DEPENDS= libdbus-glib-1.so:${PORTSDIR}/devel/dbus-glib \
libmozjs-24.so:${PORTSDIR}/lang/spidermonkey24
USES= compiler:c11 gettext gmake libtool pathfix pkgconfig \
USES= compiler:c++11-lib gettext gmake libtool pathfix pkgconfig \
python:build tar:xz
USE_GNOME= cairo glib20 gnomeprefix introspection:build \
intlhack

View file

@ -1,20 +1,17 @@
# Created by: Kiriyama Kazuhiko <kiri@kiri.toba-cmt.ac.jp>
# $FreeBSD$
# for committer: bump PORTREVISION for math/facile whenever ocaml gets updated
PORTNAME= ocaml
PORTVERSION= 4.01.0
PORTREVISION= 4
PORTVERSION= 4.02.1
CATEGORIES= lang
MASTER_SITES= http://caml.inria.fr/pub/distrib/${DISTNAME:R}/ \
${MASTER_SITE_GENTOO}
MASTER_SITES= http://caml.inria.fr/pub/distrib/${DISTNAME:R}/ GENTOO \
http://caml.inria.fr/pub/distrib/${DISTNAME:R}/:docs
MASTER_SITE_SUBDIR= distfiles
PKGNAMESUFFIX= ${SFX}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= michipili@gmail.com
COMMENT= The Objective Caml compiler and programming environment
COMMENT= Objective Caml compiler and programming environment
LICENSE= QPL10 LGPL20
LICENSE_COMB= multi
@ -22,7 +19,7 @@ LICENSE_NAME_QPL10= Q Public License, Version 1.0
LICENSE_FILE_QPL10= ${WRKSRC}/LICENSE
LICENSE_PERMS_QPL10= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
USES= cpe gmake tar:bzip2
USES= cpe gmake tar:xz
CPE_VENDOR= inria
REINPLACE_ARGS= -i ""
HAS_CONFIGURE= yes
@ -38,9 +35,8 @@ CONFIGURE_ARGS= -verbose -prefix "${PREFIX}" \
-aspp "${CC} -c" \
-partialld "${LD} -r"
OPTIONS_DEFINE= X11 TK THREADS DOCS EXAMPLES
OPTIONS_DEFAULT=X11 TK THREADS
TK_DESC= LablTk library (requires X11 support)
OPTIONS_DEFINE= X11 THREADS DOCS EXAMPLES
OPTIONS_DEFAULT=X11 THREADS
CMP_LIB_DESC= Install compiler libraries
PORTDOCS= htmlman ${DOCSDISTNAME}-refman.ps.gz \
${DOCSDISTNAME}-refman.pdf
@ -54,10 +50,12 @@ CONFLICTS= metaocaml-[0-9]*
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MDOCS}
DISTFILES+= ${DOCSDISTNAME}-refman-html.tar.gz \
${DOCSDISTNAME}-refman.ps.gz \
${DOCSDISTNAME}-refman.pdf
EXTRACT_ONLY+= ${DOCSDISTNAME}-refman-html.tar.gz
DISTFILES:= ${DISTNAME}${EXTRACT_SUFX} \
${DOCSDISTNAME}-refman-html.tar.gz:docs \
${DOCSDISTNAME}-refman.ps.gz:docs \
${DOCSDISTNAME}-refman.pdf:docs
EXTRACT_ONLY:= ${DISTNAME}${EXTRACT_SUFX} \
${DOCSDISTNAME}-refman-html.tar.gz
PLIST_SUB+= DOC=""
PORTDOCS= htmlman ${DOCSDISTNAME}-refman.ps.gz ${DOCSDISTNAME}-refman.pdf
.else
@ -91,30 +89,12 @@ CONFLICTS+= ocaml-[0-9]*
CONFIGURE_ARGS+=-no-graph
.endif
.if ${PORT_OPTIONS:MTK}
. if ${PORT_OPTIONS:MEXAMPLES}
PORTEXAMPLES= examples_camltk examples_labltk
.endif
. if ! ${PORT_OPTIONS:MX11}
IGNORE=requires X11 support to build TK bindings
. endif
USES+= tk:84+
PLIST_SUB+= TK=""
CONFIGURE_ARGS+= -tkdefs \
"-I${TCL_INCLUDEDIR} -I${TK_INCLUDEDIR}" \
-tklibs "-L${LOCALBASE}/lib -ltk${TK_VER:S|.||} \
-ltcl${TCL_VER:S|.||} ${THR_LD}"
.else
PLIST_SUB+= TK="@comment "
CONFIGURE_ARGS+=-no-tk
.endif
.include <bsd.port.pre.mk>
.include "${FILESDIR}/manfiles"
OCAML_ARCH= ${ARCH:S/x86_64/amd64/:S/powerpc/power/:S/armv6/arm/}
.if defined(NO_PROFILE) || ${OCAML_ARCH} == power
.if defined(NO_PROFILE) || ${OCAML_ARCH} == power || ${OCAML_ARCH} == amd64
PLIST_SUB+= PROF="@comment "
.else
PLIST_SUB+= PROF=""
@ -144,16 +124,6 @@ post-patch:
-e 's|-lbfd -ldl|-lbfd $$dllib|' \
${WRKSRC}/configure
# don't hardcode gcc for depend target
# be aware of staging
@${REINPLACE_CMD} -E \
-e 's|gcc|$$(CC)|' \
-e '/^install/,/^$$/s@\$$\(((INSTALL_)?(BIN|LIB|STUBLIB|COMPLIB|MANO?|INSTALL|INSTALL_CUSTOM)DIR)\)@$$(STAGEDIR)$$(\1)@g' \
`find ${WRKSRC} -name 'Makefile*'`
@${REINPLACE_CMD} -E -e 's/^DIR=/DIR=$$(STAGEDIR)/' ${WRKSRC}/man/Makefile
.if ${PORT_OPTIONS:MTK}
@${REINPLACE_CMD} -e 's|/usr/bin/wish|${WISH}|' \
${WRKSRC}/otherlibs/labltk/examples_labltk/hello.tcl
.endif
post-configure:
# CFLAGS safeness
@ -173,23 +143,13 @@ post-configure:
-e 's,^(${PATTERN}+.*LIBDIR),\1\$${BSD_INSTALL_DATA} \4,' \
-e 's,(${PATTERN}+.*(MANDIR|MANODIR|MANEXT)),\1\$${BSD_INSTALL_MAN} \4,'
check test: install
check-test: do-install
@cd ${WRKSRC}/testsuite; ${RM} -f _log; for d in tests/* ; do \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} one DIR=$${d} \
2>&1 | tee -a _log || ${TRUE} ; done ; \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} report
post-install:
${RMDIR} ${STAGEDIR}${PREFIX}/lib/ocaml/ocamldoc/custom
@${CHMOD} 755 ${STAGEDIR}${PREFIX}/lib/ocaml/expunge
.if ${PORT_OPTIONS:MTK}
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/otherlibs/labltk && \
${COPYTREE_SHARE} examples_labltk ${STAGEDIR}${EXAMPLESDIR} \
"! -name .ignore" && \
${COPYTREE_SHARE} examples_camltk ${STAGEDIR}${EXAMPLESDIR} \
"! -name .ignore")
.endif
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKDIR} && ${COPYTREE_SHARE} htmlman ${STAGEDIR}${DOCSDIR})

View file

@ -1,8 +1,8 @@
SHA256 (ocaml-4.01.0.tar.bz2) = b1ca708994180236917ae79e17606da5bd334ca6acd6873a550027e1c0ec874a
SIZE (ocaml-4.01.0.tar.bz2) = 3691090
SHA256 (ocaml-4.01-refman-html.tar.gz) = 01019c8f8a29a8a7f422e090704b666ade2a007d57ea9412285f88f716656001
SIZE (ocaml-4.01-refman-html.tar.gz) = 571422
SHA256 (ocaml-4.01-refman.ps.gz) = 4de67ef967b8b39a6f030df258087239d6f7dee869a3973d7a782b7986b809c6
SIZE (ocaml-4.01-refman.ps.gz) = 1089703
SHA256 (ocaml-4.01-refman.pdf) = 389e434f534153530ba234299d0f3a0e4271d18b091b9216e4a37335ebd33424
SIZE (ocaml-4.01-refman.pdf) = 1478900
SHA256 (ocaml-4.02.1.tar.xz) = 68c4b01be54c23bc20fc0a8beaa5c7433b8483f8950490129cfe7662e0c6f4dc
SIZE (ocaml-4.02.1.tar.xz) = 2031244
SHA256 (ocaml-4.02-refman-html.tar.gz) = 1d3b7e5494c075d86c760f6320acba086d686e7409cb75f8267bccfb6ad5f3a8
SIZE (ocaml-4.02-refman-html.tar.gz) = 612839
SHA256 (ocaml-4.02-refman.ps.gz) = b14b5aec1e4e1aded2d36e78ceeedfc3c19c3369b257ab507f6a0755651e8f4a
SIZE (ocaml-4.02-refman.ps.gz) = 1111960
SHA256 (ocaml-4.02-refman.pdf) = 5575824bf0c94b07d3c618c378e02ea0d5341b9e319b4e8c5b331d0ff51898d8
SIZE (ocaml-4.02-refman.pdf) = 1519190

View file

@ -1,9 +0,0 @@
/\.p\.cmx$/s@^@%%PROF%%@
/examples_labeltk/{
s@share/examples@%%EXAMPLESDIR%%@
s@^@%%TK%%@
}
/graphics/s@^@%%X11%%@
/labltk/s@^@%%TK%%@
/ocamlbrowser/s@^@%%TK%%@
/dlllabltk.so/s@^@%%TK%%@

View file

@ -1,28 +0,0 @@
--- Makefile.orig 2013-06-17 15:15:18.000000000 +0200
+++ Makefile 2014-04-01 08:23:13.000000000 +0200
@@ -298,7 +298,7 @@
if test -f debugger/ocamldebug; then (cd debugger; $(MAKE) install); \
else :; fi
cp config/Makefile $(LIBDIR)/Makefile.config
- BINDIR=$(BINDIR) LIBDIR=$(LIBDIR) PREFIX=$(PREFIX) \
+ BINDIR=$(BINDIR) LIBDIR=$(LIBDIR) MANDIR=$(MANDIR) PREFIX=$(PREFIX) \
./build/partial-install.sh
# Installation of the native-code compiler
@@ -318,14 +318,14 @@
cp ocamlc.opt $(BINDIR)/ocamlc.opt$(EXE)
cp ocamlopt.opt $(BINDIR)/ocamlopt.opt$(EXE)
cp lex/ocamllex.opt $(BINDIR)/ocamllex.opt$(EXE)
+ $(RANLIB) compilerlibs/ocamlcommon.a compilerlibs/ocamlbytecomp.a \
+ compilerlibs/ocamloptcomp.a
cp compilerlibs/ocamlcommon.cmxa compilerlibs/ocamlcommon.a \
compilerlibs/ocamlbytecomp.cmxa compilerlibs/ocamlbytecomp.a \
compilerlibs/ocamloptcomp.cmxa compilerlibs/ocamloptcomp.a \
$(BYTESTART:.cmo=.cmx) $(BYTESTART:.cmo=.o) \
$(OPTSTART:.cmo=.cmx) $(OPTSTART:.cmo=.o) \
$(COMPLIBDIR)
- cd $(COMPLIBDIR) && $(RANLIB) ocamlcommon.a ocamlbytecomp.a \
- ocamloptcomp.a
clean:: partialclean

View file

@ -1,11 +0,0 @@
--- ./asmcomp/arm/arch.ml.orig 2014-04-28 13:12:11.000000000 +0100
+++ ./asmcomp/arm/arch.ml 2014-04-28 13:12:36.000000000 +0100
@@ -21,7 +21,7 @@
let abi =
match Config.system with
- "linux_eabi" -> EABI
+ "linux_eabi" | "freebsd" -> EABI
| "linux_eabihf" -> EABI_HF
| _ -> assert false

View file

@ -1,25 +0,0 @@
--- asmrun/Makefile.orig 2013-06-24 10:16:27.000000000 +0200
+++ asmrun/Makefile 2014-04-01 07:12:29.000000000 +0200
@@ -64,14 +64,12 @@
install-default:
cp libasmrun.a $(LIBDIR)/libasmrun.a
- cd $(LIBDIR); $(RANLIB) libasmrun.a
install-noruntimed:
.PHONY: install-noruntimed
install-runtimed:
cp libasmrund.a $(LIBDIR)/libasmrund.a
- cd $(LIBDIR); $(RANLIB) libasmrund.a
.PHONY: install-runtimed
install-noprof:
@@ -79,7 +77,6 @@
install-prof:
cp libasmrunp.a $(LIBDIR)/libasmrunp.a
- cd $(LIBDIR); $(RANLIB) libasmrunp.a
power-bsd_elf.S: power-elf.S
cp power-elf.S power-bsd_elf.S

View file

@ -1,18 +0,0 @@
--- ./asmrun/arm.S.orig 2014-04-28 13:10:19.000000000 +0100
+++ ./asmrun/arm.S 2014-04-28 13:10:42.000000000 +0100
@@ -44,6 +44,15 @@
cmp \reg, #0
beq \lbl
.endm
+#elif defined(SYS_freebsd)
+ .arch armv6
+ .arm
+
+ /* Compatibility macros */
+ .macro cbz reg, lbl
+ cmp \reg, #0
+ beq \lbl
+ .endm
#endif
trap_ptr .req r8

View file

@ -1,10 +0,0 @@
--- byterun/Makefile.common.orig 2014-04-01 07:13:45.000000000 +0200
+++ byterun/Makefile.common 2014-04-01 07:13:58.000000000 +0200
@@ -51,7 +51,6 @@
install::
cp ocamlrun$(EXE) $(BINDIR)/ocamlrun$(EXE)
cp libcamlrun.$(A) $(LIBDIR)/libcamlrun.$(A)
- cd $(LIBDIR); $(RANLIB) libcamlrun.$(A)
if test -d $(LIBDIR)/caml; then : ; else mkdir $(LIBDIR)/caml; fi
for i in $(PUBLIC_INCLUDES); do \
sed -f ../tools/cleanup-header $$i > $(LIBDIR)/caml/$$i; \

View file

@ -1,21 +0,0 @@
--- camlp4/man/Makefile.orig 2012-07-17 11:31:12.000000000 -0400
+++ camlp4/man/Makefile 2013-11-21 03:16:26.000000000 -0500
@@ -14,7 +14,6 @@
include ../config/Makefile.cnf
TARGET=camlp4.1
-ALIASES=camlp4o.1 camlp4r.1 mkcamlp4.1 ocpp.1 camlp4o.opt.1 camlp4r.opt.1
include ../config/Makefile.base
@@ -22,10 +21,6 @@
if test -n '$(MANDIR)'; then \
$(MKDIR) $(MANDIR)/man1 ; \
cp $(TARGET) $(MANDIR)/man1/. ; \
- for i in $(ALIASES); do \
- rm -f $(MANDIR)/man1/$$i; \
- echo '.so man1/$(TARGET)' > $(MANDIR)/man1/$$i; \
- done; \
fi
camlp4.1: camlp4.1.tpl

View file

@ -1,10 +0,0 @@
--- config/auto-aux/async_io.c 2012-11-01 17:36:02.000000000 +0100
+++ config/auto-aux/async_io.c.orig 2012-11-01 17:35:46.000000000 +0100
@@ -13,7 +13,8 @@
/* $Id: async_io.c 11156 2011-07-27 14:17:02Z doligez $ */
+#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <signal.h>

View file

@ -1,202 +1,54 @@
--- configure.orig 2014-05-08 09:28:26.000000000 +0200
+++ configure 2014-05-08 09:31:54.000000000 +0200
@@ -545,9 +545,10 @@ if test $withsharedlibs = "yes"; then
--- configure.orig 2014-10-03 19:25:46 UTC
+++ configure
@@ -659,7 +659,8 @@ if test $with_sharedlibs = "yes"; then
mksharedlib="$flexlink"
mkmaindll="$flexlink -maindll"
shared_libraries_supported=true;;
- *-*-linux-gnu|*-*-linux|*-*-freebsd[3-9]*|*-*-freebsd[1-9][0-9]*|*-*-openbsd*|*-*-netbsd*|*-*-gnu*)
- *-*-linux-gnu|*-*-linux|*-*-freebsd[3-9]*|*-*-freebsd[1-9][0-9]*|*-*-openbsd*|*-*-netbsd*|*-*-gnu*|*-*-haiku*)
+ *-*-linux-gnu|*-*-linux|*-*-freebsd[3-9]*|*-*-freebsd[1-9][0-9]*| \
+ *-*-dragonfly*|*-*-openbsd*|*-*-netbsd*|*-*-gnu*)
+ *-*-dragonfly*|*-*-openbsd*|*-*-netbsd*|*-*-gnu*|*-*-haiku*)
sharedcccompopts="-fPIC"
- mksharedlib="$bytecc -shared"
+ mksharedlib="$bytecc $bytecclinkopts -shared"
mksharedlib="$bytecc -shared"
bytecclinkopts="$bytecclinkopts -Wl,-E"
byteccrpath="-Wl,-rpath,"
mksharedlibrpath="-Wl,-rpath,"
@@ -557,7 +558,7 @@ if test $withsharedlibs = "yes"; then
case "$bytecc" in
gcc*)
sharedcccompopts="-fPIC"
- mksharedlib="$bytecc -shared"
+ mksharedlib="$bytecc $bytecclinkopts -shared"
byteccrpath="-Wl,-rpath,"
mksharedlibrpath="-Wl,-rpath,"
shared_libraries_supported=true;;
@@ -573,11 +574,11 @@ if test $withsharedlibs = "yes"; then
gcc*)
sharedcccompopts="-fPIC"
if sh ./solaris-ld; then
- mksharedlib="$bytecc -shared"
+ mksharedlib="$bytecc $bytecclinkopts -shared"
byteccrpath="-R"
mksharedlibrpath="-R"
else
- mksharedlib="$bytecc -shared"
+ mksharedlib="$bytecc $bytecclinkopts -shared"
bytecclinkopts="$bytecclinkopts -Wl,-E"
natdynlinkopts="-Wl,-E"
byteccrpath="-Wl,-rpath,"
@@ -601,12 +602,12 @@ if test $withsharedlibs = "yes"; then
mksharedlibrpath="-rpath "
shared_libraries_supported=true;;
i[3456]86-*-darwin[89].*)
- mksharedlib="$bytecc -bundle -flat_namespace -undefined suppress -read_only_relocs suppress"
+ mksharedlib="$bytecc $bytecclinkopts -bundle -flat_namespace -undefined suppress -read_only_relocs suppress"
bytecccompopts="$dl_defs $bytecccompopts"
dl_needs_underscore=false
shared_libraries_supported=true;;
*-apple-darwin*)
- mksharedlib="$bytecc -bundle -flat_namespace -undefined suppress -Wl,-no_compact_unwind"
+ mksharedlib="$bytecc $bytecclinkopts -bundle -flat_namespace -undefined suppress -Wl,-no_compact_unwind"
bytecccompopts="$dl_defs $bytecccompopts"
dl_needs_underscore=false
shared_libraries_supported=true;;
@@ -616,7 +617,7 @@ if test $withsharedlibs = "yes"; then
shared_libraries_supported=false;;
*-*-openbsd*)
sharedcccompopts="-fPIC"
- mksharedlib="$bytecc -shared"
+ mksharedlib="$bytecc $bytecclinkopts -shared"
bytecclinkopts="$bytecclinkopts -Wl,-E"
natdynlinkopts="-Wl,-E"
byteccrpath="-Wl,-rpath,"
@@ -651,12 +652,16 @@ if test $withsharedlibs = "yes"; then
@@ -766,6 +767,7 @@ if test $with_sharedlibs = "yes"; then
x86_64-*-kfreebsd*) natdynlink=true;;
i[345]86-*-freebsd*) natdynlink=true;;
i[3456]86-*-freebsd*) natdynlink=true;;
x86_64-*-freebsd*) natdynlink=true;;
+ i[345]86-*-dragonfly*) natdynlink=true;;
+ x86_64-*-dragonfly*) natdynlink=true;;
i[345]86-*-openbsd*) natdynlink=true;;
i[3456]86-*-openbsd*) natdynlink=true;;
x86_64-*-openbsd*) natdynlink=true;;
i[345]86-*-netbsd*) natdynlink=true;;
x86_64-*-netbsd*) natdynlink=true;;
i386-*-gnu0.3) natdynlink=true;;
arm*-*-linux*) natdynlink=true;;
+ arm*-*-freebsd*) natdynlink=true;;
+ powerpc*-*-freebsd*) natdynlink=true;;
esac
fi
@@ -680,6 +685,7 @@ case "$host" in
sparc*-*-gnu*) arch=sparc; system=gnu;;
i[3456]86-*-linux*) arch=i386; system=linux_`sh ./runtest elf.c`;;
i[3456]86-*-*bsd*) arch=i386; system=bsd_`sh ./runtest elf.c`;;
+ i[3456]86-*-dragonfly*) arch=i386; system=bsd_elf;;
i[3456]86-*-nextstep*) arch=i386; system=nextstep;;
i[3456]86-*-solaris*) if $arch64; then
arch=amd64; system=solaris
@@ -695,6 +701,7 @@ case "$host" in
fi;;
i[3456]86-*-gnu*) arch=i386; system=gnu;;
powerpc*-*-linux*) arch=power; model=ppc; system=elf;;
+ powerpc*-*-freebsd*) arch=power; model=ppc; system=bsd_elf;;
powerpc-*-netbsd*) arch=power; model=ppc; system=elf;;
powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;;
powerpc-*-rhapsody*) arch=power; model=ppc; system=rhapsody;;
@@ -708,12 +715,14 @@ case "$host" in
armv5te*-*-linux-gnueabi) arch=arm; model=armv5te; system=linux_eabi;;
armv5*-*-linux-gnueabi) arch=arm; model=armv5; system=linux_eabi;;
arm*-*-linux-gnueabi) arch=arm; system=linux_eabi;;
+ armv6*-*-freebsd*) arch=arm; model=armv6; system=freebsd;;
i[3456]86-*-netbsd*) natdynlink=true;;
@@ -833,6 +835,7 @@ case "$target" in
zaurus*-*-openbsd*) arch=arm; system=bsd;;
x86_64-*-linux*) arch=amd64; system=linux;;
x86_64-*-gnu*) arch=amd64; system=gnu;;
+ x86_64-*-dragonfly*) arch=amd64; system=dragonfly;;
x86_64-*-freebsd*) arch=amd64; system=freebsd;;
x86_64-*-netbsd*) arch=amd64; system=netbsd;;
x86_64-*-openbsd*) arch=amd64; system=openbsd;;
x86_64-*-darwin*) arch=amd64; system=macosx;;
+ x86_64-*-dragonfly*) arch=amd64; system=dragonfly;;
esac
# Some platforms exist both in 32-bit and 64-bit variants, not distinguished
@@ -734,7 +743,7 @@ else
fi
nativecccompopts=''
-nativecclinkopts=''
+nativecclinkopts=""
# FIXME the naming of nativecclinkopts is broken: these are options for
# ld (for shared libs), not for cc
nativeccrpath="$byteccrpath"
@@ -766,6 +775,8 @@ case "$arch,$model,$system" in
aspp='gcc -m64 -c';;
amd64,*,*) as='as'
aspp='gcc -c';;
+ arm,*,freebsd*) as='cc -c';
+ aspp='cc -c';;
arm,*,*) as='as';
aspp='gcc -c';;
i386,*,solaris) as='as'
@@ -803,6 +814,8 @@ case "$arch,$model,$system" in
amd64,*,linux) profiling='prof';;
amd64,*,gnu) profiling='prof';;
arm,*,linux*) profiling='prof';;
+ *,*,freebsd) profiling='prof';;
+ *,*,dragonfly) profiling='prof';;
*) profiling='noprof';;
esac
@@ -1204,7 +1217,7 @@ if test "$pthread_wanted" = "yes"; then
case "$host" in
*-*-solaris*) pthread_link="-lpthread -lposix4"
pthread_caml_link="-cclib -lpthread -cclib -lposix4";;
- *-*-freebsd*) pthread_link="-pthread"
+ *-*-freebsd*|*-*-dragonfly*) pthread_link="-pthread"
pthread_caml_link="-cclib -pthread";;
*-*-openbsd*) pthread_link="-pthread"
pthread_caml_link="-cclib -pthread";;
@@ -1218,7 +1231,7 @@ if test "$pthread_wanted" = "yes"; then
@@ -905,6 +908,8 @@ case "$arch,$system" in
aspp="${TOOLPREF}cc -c";;
*,freebsd) as="${TOOLPREF}as"
aspp="${TOOLPREF}cc -c";;
+ *,dragonfly) as="as"
+ aspp="cc -c";;
amd64,*|arm,*|arm64,*|i386,*|power,bsd*|sparc,*)
as="${TOOLPREF}as"
aspp="${TOOLPREF}gcc -c";;
@@ -1390,7 +1395,7 @@ if test "$pthread_wanted" = "yes"; then
bytecccompopts="$bytecccompopts -D_REENTRANT"
nativecccompopts="$nativecccompopts -D_REENTRANT"
case "$host" in
case "$target" in
- *-*-freebsd*)
+ *-*-freebsd*|*-*-dragonfly*)
bytecccompopts="$bytecccompopts -D_THREAD_SAFE"
nativecccompopts="$nativecccompopts -D_THREAD_SAFE";;
*-*-openbsd*)
@@ -1388,7 +1401,6 @@ if test "$x11_include" = "not found"; th
@@ -1560,6 +1565,7 @@ if test "$x11_include" = "not found"; th
else
x11_libs="-L$dir"
case "$host" in
case "$target" in
+ *-*-freebsd*|*-*-dragonfly*) x11_link="-L$dir -lX11";;
*-kfreebsd*-gnu) x11_link="-L$dir -lX11";;
- *-*-*bsd*) x11_link="-R$dir -L$dir -lX11";;
*-*-*bsd*) x11_link="-R$dir -L$dir -lX11";;
*) x11_link="-L$dir -lX11";;
esac
fi
@@ -1514,7 +1526,7 @@ if test $has_tk = true; then
Tcl_DoOneEvent
then
case "$host" in
- *-*-*bsd*) tk_libs="-R/usr/pkg/lib -L/usr/pkg/lib $tk_libs $tk_x11_libs -ltk$tkmaj$tkmin -ltcl$tclmaj$tclmin -lpthread $tkauxlibs";;
+ *-*-*bsd*|*-*-dragonfly*) tk_libs="-R/usr/pkg/lib -L/usr/pkg/lib $tk_libs $tk_x11_libs -ltk$tkmaj$tkmin -ltcl$tclmaj$tclmin -lpthread $tkauxlibs";;
*) tk_libs="-L/usr/pkg/lib $tk_libs $tk_x11_libs -ltk$tkmaj$tkmin -ltcl$tclmaj$tclmin -lpthread $tkauxlibs";;
esac
else
@@ -1528,14 +1540,14 @@ if test $has_tk = true; then
echo "Tcl/Tk libraries found."
elif sh ./hasgot -L/sw/lib $tk_libs $tk_x11_libs $tkauxlibs Tk_SetGrid; then
case "$host" in
- *-*-*bsd*) tk_libs="-R/sw/lib -L/sw/lib $tk_libs";;
+ *-*-*bsd*|*-*-dragonfly*) tk_libs="-R/sw/lib -L/sw/lib $tk_libs";;
*) tk_libs="-L/sw/lib $tk_libs";;
esac
echo "Tcl/Tk libraries found."
elif sh ./hasgot -L/usr/pkg/lib $tk_libs $tk_x11_libs $tkauxlibs \
Tk_SetGrid; then
case "$host" in
- *-*-*bsd*) tk_libs="-R/usr/pkg/lib -L/usr/pkg/lib $tk_libs";;
+ *-*-*bsd*|*-*-dragonfly*) tk_libs="-R/usr/pkg/lib -L/usr/pkg/lib $tk_libs";;
*) tk_libs="-L/usr/pkg/lib $tk_libs";;
esac
echo "Tcl/Tk libraries found."
@@ -1564,10 +1576,10 @@ fi
# Look for BFD library
if ./hasgot -i bfd.h && \
- ./hasgot -lbfd -ldl -liberty -lz bfd_openr; then
+ ./hasgot -lbfd $dllib -liberty -lz bfd_openr; then
echo "BFD library found."
echo "#define HAS_LIBBFD" >> s.h
- echo "LIBBFD_LINK=-lbfd -ldl -liberty -lz" >> Makefile
+ echo "LIBBFD_LINK=-lbfd $dllib -liberty -lz" >> Makefile
else
echo "BFD library not found, 'objinfo' will be unable to display info on .cmxs files"
echo "LIBBFD_LINK=" >> Makefile

View file

@ -1,24 +0,0 @@
--- ocamlbuild/ocamlbuild_executor.ml.orig 2011-10-06 11:39:50.358159931 +0300
+++ ocamlbuild/ocamlbuild_executor.ml 2011-10-06 12:48:32.966029354 +0300
@@ -200,7 +200,11 @@
try
read fd u 0 (String.length u)
with
- | Unix.Unix_error(_,_,_) -> 0
+ | Unix.Unix_error(e,_,_) ->
+ let msg = error_message e in
+ display (fun oc -> fp oc
+ "Error while reading stdout/stderr: %s\n" msg);
+ 0
in
if m = 0 then
if job.job_dying then
@@ -236,6 +240,8 @@
(*display begin fun oc -> fp oc "Terminating job %a\n%!" print_job_id job.job_id; end;*)
decr jobs_active;
+ clear_nonblock (doi job.job_stdout);
+ clear_nonblock (doi job.job_stderr); (* we would get EAGAIN below otherwise *)
do_read ~loop:true (doi job.job_stdout) job;
do_read ~loop:true (doi job.job_stderr) job;
outputs := FDM.remove (doi job.job_stdout) (FDM.remove (doi job.job_stderr) !outputs);

View file

@ -1,11 +0,0 @@
--- ocamldoc/Makefile.orig 2007-12-21 00:32:44.000000000 +0300
+++ ocamldoc/Makefile 2007-12-21 00:33:26.000000000 +0300
@@ -40,7 +40,7 @@
INSTALL_LIBDIR=$(OCAMLLIB)/ocamldoc
INSTALL_CUSTOMDIR=$(INSTALL_LIBDIR)/custom
INSTALL_BINDIR=$(OCAMLBIN)
-INSTALL_MANODIR=$(MANDIR)/man3
+INSTALL_MANODIR=$(MANDIR)/mann
INSTALL_MLIS=odoc_info.mli
INSTALL_CMIS=$(INSTALL_MLIS:.mli=.cmi)

View file

@ -1,19 +0,0 @@
--- otherlibs/Makefile.shared.orig 2013-07-23 16:48:47.000000000 +0200
+++ otherlibs/Makefile.shared 2014-04-01 07:24:57.000000000 +0200
@@ -59,14 +59,14 @@
install::
if test -f dll$(CLIBNAME)$(EXT_DLL); then \
cp dll$(CLIBNAME)$(EXT_DLL) $(STUBLIBDIR)/; fi
+ $(RANLIB) lib$(CLIBNAME).$(A)
cp lib$(CLIBNAME).$(A) $(LIBDIR)/
- cd $(LIBDIR); $(RANLIB) lib$(CLIBNAME).$(A)
cp $(LIBNAME).cma $(CMIFILES) $(CMIFILES:.cmi=.mli) $(LIBDIR)/
if test -n "$(HEADERS)"; then cp $(HEADERS) $(LIBDIR)/caml/; fi
installopt:
+ $(RANLIB) $(LIBNAME).a
cp $(CAMLOBJS_NAT) $(LIBNAME).cmxa $(LIBNAME).$(A) $(LIBDIR)/
- cd $(LIBDIR); $(RANLIB) $(LIBNAME).a
if test -f $(LIBNAME).cmxs; then cp $(LIBNAME).cmxs $(LIBDIR)/; fi
partialclean:

View file

@ -1,13 +0,0 @@
--- otherlibs/dynlink/Makefile.orig 2013-07-23 16:48:47.000000000 +0200
+++ otherlibs/dynlink/Makefile 2014-04-01 07:44:36.000000000 +0200
@@ -71,8 +71,8 @@
installopt:
if $(NATDYNLINK); then \
- cp $(NATOBJS) dynlink.cmxa dynlink.$(A) $(LIBDIR) && \
- cd $(LIBDIR) && $(RANLIB) dynlink.$(A); \
+ $(RANLIB) dynlink.$(A); \
+ cp $(NATOBJS) dynlink.cmxa dynlink.$(A) $(LIBDIR); \
fi
partialclean:

View file

@ -1,11 +0,0 @@
--- otherlibs/labltk/lib/Makefile.orig 2012-09-30 14:31:27.000000000 +0200
+++ otherlibs/labltk/lib/Makefile 2014-04-01 07:22:17.000000000 +0200
@@ -99,7 +99,7 @@
installopt:
@if test -d $(INSTALLDIR); then : ; else mkdir $(INSTALLDIR); fi
+ $(RANLIB) $(LIBNAME).$(A)
cp $(LIBNAME).cmxa $(LIBNAME).$(A) $(INSTALLDIR)
- cd $(INSTALLDIR); $(RANLIB) $(LIBNAME).$(A)
chmod 644 $(INSTALLDIR)/$(LIBNAME).cmxa
chmod 644 $(INSTALLDIR)/$(LIBNAME).$(A)

View file

@ -1,12 +0,0 @@
--- otherlibs/labltk/support/Makefile.orig 2012-07-17 17:31:12.000000000 +0200
+++ otherlibs/labltk/support/Makefile 2014-04-01 07:23:59.000000000 +0200
@@ -43,8 +43,8 @@
install:
if test -d $(INSTALLDIR); then : ; else mkdir $(INSTALLDIR); fi
+ $(RANLIB) lib$(LIBNAME).$(A)
cp $(PUB) lib$(LIBNAME).$(A) $(INSTALLDIR)
- cd $(INSTALLDIR); $(RANLIB) lib$(LIBNAME).$(A)
cd $(INSTALLDIR); chmod 644 $(PUB) lib$(LIBNAME).$(A)
if test -f dll$(LIBNAME)$(EXT_DLL); then \
cp dll$(LIBNAME)$(EXT_DLL) $(STUBLIBDIR)/; fi

View file

@ -1,25 +0,0 @@
--- otherlibs/systhreads/Makefile.orig 2013-07-23 16:48:47.000000000 +0200
+++ otherlibs/systhreads/Makefile 2014-04-01 07:26:11.000000000 +0200
@@ -71,8 +71,8 @@
install:
if test -f dllthreads.so; then cp dllthreads.so $(STUBLIBDIR)/dllthreads.so; fi
+ $(RANLIB) libthreads.a
cp libthreads.a $(LIBDIR)/libthreads.a
- cd $(LIBDIR); $(RANLIB) libthreads.a
if test -d $(LIBDIR)/threads; then :; else mkdir $(LIBDIR)/threads; fi
cp $(THREAD_OBJS:.cmo=.cmi) threads.cma $(LIBDIR)/threads
rm -f $(LIBDIR)/threads/stdlib.cma
@@ -80,10 +80,10 @@
cp threads.h $(LIBDIR)/caml/threads.h
installopt:
+ $(RANLIB) libthreadsnat.a
cp libthreadsnat.a $(LIBDIR)/libthreadsnat.a
- cd $(LIBDIR); $(RANLIB) libthreadsnat.a
+ $(RANLIB) threads.a
cp $(THREAD_OBJS:.cmo=.cmx) threads.cmxa threads.a $(LIBDIR)/threads
- cd $(LIBDIR)/threads; $(RANLIB) threads.a
.SUFFIXES: .ml .mli .cmo .cmi .cmx

View file

@ -1,12 +0,0 @@
--- otherlibs/threads/Makefile.orig 2013-07-23 16:48:47.000000000 +0200
+++ otherlibs/threads/Makefile 2014-04-01 07:27:02.000000000 +0200
@@ -98,8 +98,8 @@
install:
if test -f dllvmthreads.so; then cp dllvmthreads.so $(STUBLIBDIR)/.; fi
mkdir -p $(LIBDIR)/vmthreads
+ $(RANLIB) libvmthreads.a
cp libvmthreads.a $(LIBDIR)/vmthreads/libvmthreads.a
- cd $(LIBDIR)/vmthreads; $(RANLIB) libvmthreads.a
cp thread.cmi mutex.cmi condition.cmi event.cmi threadUnix.cmi \
threads.cma stdlib.cma unix.cma $(LIBDIR)/vmthreads
cp thread.mli mutex.mli condition.mli event.mli threadUnix.mli \

View file

@ -1,22 +0,0 @@
--- stdlib/Makefile.orig 2012-10-15 19:50:56.000000000 +0200
+++ stdlib/Makefile 2014-04-01 07:27:40.000000000 +0200
@@ -23,8 +23,8 @@
installopt: installopt-default installopt-$(PROFILING)
installopt-default:
+ $(RANLIB) stdlib.a
cp stdlib.cmxa stdlib.a std_exit.o *.cmx $(LIBDIR)
- cd $(LIBDIR); $(RANLIB) stdlib.a
installopt-noprof:
rm -f $(LIBDIR)/stdlib.p.cmxa; ln -s stdlib.cmxa $(LIBDIR)/stdlib.p.cmxa
@@ -34,8 +34,8 @@
rm -f $(LIBDIR)/std_exit.p.o; ln -s std_exit.o $(LIBDIR)/std_exit.p.o
installopt-prof:
+ $(RANLIB) stdlib.p.a
cp stdlib.p.cmxa stdlib.p.a std_exit.p.cmx std_exit.p.o $(LIBDIR)
- cd $(LIBDIR); $(RANLIB) stdlib.p.a
stdlib.p.cmxa: $(OBJS:.cmo=.p.cmx)
$(CAMLOPT) -a -o stdlib.p.cmxa $(OBJS:.cmo=.p.cmx)

Some files were not shown because too many files have changed in this diff Show more