summaryrefslogtreecommitdiff
path: root/lang/tcc/files/patch-libtcc.c
diff options
context:
space:
mode:
authorDirk Meyer <dinoex@FreeBSD.org>2009-08-21 04:39:28 +0000
committerDirk Meyer <dinoex@FreeBSD.org>2009-08-21 04:39:28 +0000
commitba5c69b381a6e3a1c744f5dbe1e26f2a5dc90252 (patch)
treee8b24e7f1ca30d33ba6b20c9d590503be81c4ece /lang/tcc/files/patch-libtcc.c
parentUpdate for version 2.10 (diff)
- add experimetal support for new archs
Notes
Notes: svn path=/head/; revision=240007
Diffstat (limited to '')
-rw-r--r--lang/tcc/files/patch-libtcc.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/lang/tcc/files/patch-libtcc.c b/lang/tcc/files/patch-libtcc.c
new file mode 100644
index 000000000000..9c514b3dcfc7
--- /dev/null
+++ b/lang/tcc/files/patch-libtcc.c
@@ -0,0 +1,21 @@
+--- libtcc.c.orig 2009-05-18 16:27:06.000000000 +0200
++++ libtcc.c 2009-07-03 07:51:05.000000000 +0200
+@@ -1509,10 +1509,18 @@
+
+ if (level == 0) {
+ /* XXX: only support linux */
++#if defined(__FreeBSD__)
++ *paddr = uc->uc_mcontext.mc_rip;
++#else
+ *paddr = uc->uc_mcontext.gregs[REG_RIP];
++#endif
+ return 0;
+ } else {
++#if defined(__FreeBSD__)
++ fp = uc->uc_mcontext.mc_rbp;
++#else
+ fp = uc->uc_mcontext.gregs[REG_RBP];
++#endif
+ for(i=1;i<level;i++) {
+ /* XXX: check address validity with program info */
+ if (fp <= 0x1000)