aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/tracebak.c
diff options
context:
space:
mode:
authorJohn Marino <gnugcc@marino.st>2015-06-08 07:27:56 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2015-06-08 07:27:56 +0000
commit90af599007327974978d9eac58996e71e0f24663 (patch)
tree140536a75e83c90805df0c8fccec94af3a96c835 /gcc/ada/tracebak.c
parent1dbb8d2d3dd1fcf93b4fe0f6f26771ea586abb73 (diff)
downloadgcc-90af599007327974978d9eac58996e71e0f24663.zip
gcc-90af599007327974978d9eac58996e71e0f24663.tar.gz
gcc-90af599007327974978d9eac58996e71e0f24663.tar.bz2
configure.ac (*-*-dragonfly*): New configuration.
gnattools/ * configure.ac (*-*-dragonfly*): New configuration. * configure: Regenerate. gcc/ada/ * a-intnam-dragonfly.ads: New. * s-osinte-dragonfly.adb: Likewise. * s-osinte-dragonfly.ads: Likewise. * system-dragonfly-x86_64.ads: Likewise. * adaint.c: Add BSD macros. * cstreams.c: Likewise. * gsocket.h: Likewise. * link.c: Likewise. * socket.c: Likewise. * env.c: Add __DragonFly__, remove __FreeBSD__ macro. * init.c: Add __DragonFly__, change __gnat_install_handler prototype from empty to void. * initialize.c: Add __DragonFly__. * sysdep.c: Likewise. * s-osinte-freebsd.adb: Use __get_errno instead of __error. * tracebak.c: Set unwinder for i386 BSD. * gcc-interface/Makefile.in: Add x86_64 DragonFly, tweak x86_64 FreeBSD and x86 FreeBSD. From-SVN: r224207
Diffstat (limited to 'gcc/ada/tracebak.c')
-rw-r--r--gcc/ada/tracebak.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/gcc/ada/tracebak.c b/gcc/ada/tracebak.c
index 31579f5..1e53ab5 100644
--- a/gcc/ada/tracebak.c
+++ b/gcc/ada/tracebak.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 2000-2014, Free Software Foundation, Inc. *
+ * Copyright (C) 2000-2015, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -278,6 +278,20 @@ __gnat_backtrace (void **array,
#error Unhandled darwin architecture.
#endif
+/*---------------------------- x86 *BSD --------------------------------*/
+
+#elif defined (__i386__) && \
+ ( defined (__NetBSD__) || defined (__FreeBSD__) || defined (__OpenBSD__) )
+
+#define USE_GCC_UNWINDER
+/* The generic unwinder is not used for this target because the default
+ implementation doesn't unwind on the BSD platforms. AMD64 targets use the
+ gcc unwinder for all platforms, so let's keep i386 consistent with that.
+*/
+
+#define PC_ADJUST -2
+/* The minimum size of call instructions on this architecture is 2 bytes */
+
/*---------------------- PPC AIX/PPC Lynx 178/Older Darwin ------------------*/
#elif ((defined (_POWER) && defined (_AIX)) || \
(defined (__powerpc__) && defined (__Lynx__) && !defined(__ELF__)) || \