diff options
author | Harald van Dijk <truedfx@gentoo.org> | 2007-05-12 11:27:30 +0000 |
---|---|---|
committer | Harald van Dijk <truedfx@gentoo.org> | 2007-05-12 11:27:30 +0000 |
commit | 13a647909121a375bbb3a3c11ff7d3f615fe0aa6 (patch) | |
tree | d92e4132df827301ec778443162004f86b60a5ca /dev-lang/tcc | |
parent | Version bump. (diff) | |
download | gentoo-2-13a647909121a375bbb3a3c11ff7d3f615fe0aa6.tar.gz gentoo-2-13a647909121a375bbb3a3c11ff7d3f615fe0aa6.tar.bz2 gentoo-2-13a647909121a375bbb3a3c11ff7d3f615fe0aa6.zip |
Fix crash on nxbit-enabled CPUs (#178168), remove older versions
(Portage version: 2.1.2.7)
Diffstat (limited to 'dev-lang/tcc')
-rw-r--r-- | dev-lang/tcc/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/tcc/files/digest-tcc-0.9.19 | 3 | ||||
-rw-r--r-- | dev-lang/tcc/files/digest-tcc-0.9.20 | 3 | ||||
-rw-r--r-- | dev-lang/tcc/files/digest-tcc-0.9.22 | 3 | ||||
-rw-r--r-- | dev-lang/tcc/files/tcc-0.9.20-gcc34.patch | 75 | ||||
-rw-r--r-- | dev-lang/tcc/files/tcc-0.9.23-nxbit.patch | 68 | ||||
-rw-r--r-- | dev-lang/tcc/tcc-0.9.19.ebuild | 45 | ||||
-rw-r--r-- | dev-lang/tcc/tcc-0.9.20.ebuild | 54 | ||||
-rw-r--r-- | dev-lang/tcc/tcc-0.9.22.ebuild | 46 | ||||
-rw-r--r-- | dev-lang/tcc/tcc-0.9.23-r1.ebuild | 3 |
10 files changed, 77 insertions, 231 deletions
diff --git a/dev-lang/tcc/ChangeLog b/dev-lang/tcc/ChangeLog index da22b58a9611..6d2e427f2dd6 100644 --- a/dev-lang/tcc/ChangeLog +++ b/dev-lang/tcc/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/tcc # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcc/ChangeLog,v 1.25 2007/04/27 11:25:23 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcc/ChangeLog,v 1.26 2007/05/12 11:27:30 truedfx Exp $ + + 12 May 2007; Harald van Dijk <truedfx@gentoo.org> + -files/tcc-0.9.20-gcc34.patch, +files/tcc-0.9.23-nxbit.patch, + -tcc-0.9.19.ebuild, -tcc-0.9.20.ebuild, -tcc-0.9.22.ebuild, + tcc-0.9.23-r1.ebuild: + Fix crash on nxbit-enabled CPUs (#178168), remove older versions 27 Apr 2007; Raúl Porcel <armin76@gentoo.org> tcc-0.9.23-r1.ebuild: x86 stable wrt #176070 diff --git a/dev-lang/tcc/files/digest-tcc-0.9.19 b/dev-lang/tcc/files/digest-tcc-0.9.19 deleted file mode 100644 index f7fa2a0096bd..000000000000 --- a/dev-lang/tcc/files/digest-tcc-0.9.19 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 d911db33292021af32349f5afc6afb4e tcc-0.9.19.tar.gz 197848 -RMD160 8730dc2502b2c6a3468695292454b04fc1339e8a tcc-0.9.19.tar.gz 197848 -SHA256 e33b9346cc5e278e25cea1bc6736242236d5fd4e39629d5e2925ee80e327bbe5 tcc-0.9.19.tar.gz 197848 diff --git a/dev-lang/tcc/files/digest-tcc-0.9.20 b/dev-lang/tcc/files/digest-tcc-0.9.20 deleted file mode 100644 index f52446bec214..000000000000 --- a/dev-lang/tcc/files/digest-tcc-0.9.20 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 c883b88e874a9bb9163eb14dc43b178c tcc-0.9.20.tar.gz 199391 -RMD160 3418804c23f692f9cd80889b6ed886ea20ff10c3 tcc-0.9.20.tar.gz 199391 -SHA256 d74bd4230b7f9895890976b8a3fbcab960817fc18c16b4a83eda293a260c742f tcc-0.9.20.tar.gz 199391 diff --git a/dev-lang/tcc/files/digest-tcc-0.9.22 b/dev-lang/tcc/files/digest-tcc-0.9.22 deleted file mode 100644 index 9025377b6308..000000000000 --- a/dev-lang/tcc/files/digest-tcc-0.9.22 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 62869f2cbf1d8a9b4ea1603311426228 tcc-0.9.22.tar.gz 237210 -RMD160 20fd93561c5a86f0676b2e38b632b4a139a2a25d tcc-0.9.22.tar.gz 237210 -SHA256 00efbc13462d6df07ef9caeeb8a39fbce1ca985e4721f93fb477cdc4e8859af1 tcc-0.9.22.tar.gz 237210 diff --git a/dev-lang/tcc/files/tcc-0.9.20-gcc34.patch b/dev-lang/tcc/files/tcc-0.9.20-gcc34.patch deleted file mode 100644 index a703f5a4d105..000000000000 --- a/dev-lang/tcc/files/tcc-0.9.20-gcc34.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- tcc-0.9.20.orig/bcheck.c -+++ tcc-0.9.20/bcheck.c -@@ -76,7 +76,9 @@ - - /* currently, tcc cannot compile that because we use unsupported GNU C - extensions */ --#if !defined(__TINYC__) -+#if defined(__TINYC__) -+#define __attribute__(ignore) -+#endif - void *__bound_ptr_add(void *p, int offset) __attribute__((regparm(2))); - void *__bound_ptr_indir1(void *p, int offset) __attribute__((regparm(2))); - void *__bound_ptr_indir2(void *p, int offset) __attribute__((regparm(2))); -@@ -86,7 +88,6 @@ - void *__bound_ptr_indir16(void *p, int offset) __attribute__((regparm(2))); - void __bound_local_new(void *p) __attribute__((regparm(1))); - void __bound_local_delete(void *p) __attribute__((regparm(1))); --#endif - - void *__bound_malloc(size_t size, const void *caller); - void *__bound_memalign(size_t size, size_t align, const void *caller); -@@ -168,7 +169,7 @@ - - /* return '(p + offset)' for pointer arithmetic (a pointer can reach - the end of a region in this case */ --void *__bound_ptr_add(void *p, int offset) -+void * __attribute__((regparm(2))) __bound_ptr_add(void *p, int offset) - { - unsigned long addr = (unsigned long)p; - BoundEntry *e; -@@ -194,7 +195,8 @@ - /* return '(p + offset)' for pointer indirection (the resulting must - be strictly inside the region */ - #define BOUND_PTR_INDIR(dsize) \ --void *__bound_ptr_indir ## dsize (void *p, int offset) \ -+void * __attribute__((regparm(2))) __bound_ptr_indir ## dsize \ -+ (void *p, int offset) \ - { \ - unsigned long addr = (unsigned long)p; \ - BoundEntry *e; \ -@@ -227,7 +229,7 @@ - #endif - - /* called when entering a function to add all the local regions */ --void __bound_local_new(void *p1) -+void __attribute__((regparm(1))) __bound_local_new(void *p1) - { - unsigned long addr, size, fp, *p = p1; - GET_CALLER_FP(fp); -@@ -243,7 +245,7 @@ - } - - /* called when leaving a function to delete all the local regions */ --void __bound_local_delete(void *p1) -+void __attribute__((regparm(1))) __bound_local_delete(void *p1) - { - unsigned long addr, fp, *p = p1; - GET_CALLER_FP(fp); -@@ -266,13 +268,14 @@ - { - } - --void *__bound_ptr_add(void *p, int offset) -+void * __attribute__((regparm(2))) __bound_ptr_add(void *p, int offset) - { - return p + offset; - } - - #define BOUND_PTR_INDIR(dsize) \ --void *__bound_ptr_indir ## dsize (void *p, int offset) \ -+void * __attribute__((regparm(2))) __bound_ptr_indir ## dsize\ -+ (void *p, int offset)\ - { \ - return p + offset; \ - } diff --git a/dev-lang/tcc/files/tcc-0.9.23-nxbit.patch b/dev-lang/tcc/files/tcc-0.9.23-nxbit.patch new file mode 100644 index 000000000000..c64dd4047bb8 --- /dev/null +++ b/dev-lang/tcc/files/tcc-0.9.23-nxbit.patch @@ -0,0 +1,68 @@ +=================================================================== +RCS file: /sources/tinycc/tinycc/tcc.c,v +retrieving revision 1.172 +retrieving revision 1.173 +diff -u -r1.172 -r1.173 +--- tinycc/tcc.c 2005/06/17 22:05:58 1.172 ++++ tinycc/tcc.c 2005/09/03 18:31:43 1.173 +@@ -40,14 +40,20 @@ + #include <time.h> + #ifdef WIN32 + #include <sys/timeb.h> ++#include <windows.h> + #endif + #ifndef WIN32 + #include <sys/time.h> + #include <sys/ucontext.h> ++#include <sys/mman.h> + #endif + + #endif /* !CONFIG_TCCBOOT */ + ++#ifndef PAGESIZE ++#define PAGESIZE 4096 ++#endif ++ + #include "elf.h" + #include "stab.h" + +@@ -199,7 +205,7 @@ + int sh_entsize; /* elf entry size */ + unsigned long sh_size; /* section size (only used during output) */ + unsigned long sh_addr; /* address at which the section is relocated */ +- unsigned long sh_offset; /* address at which the section is relocated */ ++ unsigned long sh_offset; /* file offset */ + int nb_hashed_syms; /* used to resize the hash table */ + struct Section *link; /* link to another section */ + struct Section *reloc; /* corresponding section for relocation, if any */ +@@ -9615,6 +9621,30 @@ + if (s->reloc) + relocate_section(s1, s); + } ++ ++ /* mark executable sections as executable in memory */ ++ for(i = 1; i < s1->nb_sections; i++) { ++ s = s1->sections[i]; ++ if ((s->sh_flags & (SHF_ALLOC | SHF_EXECINSTR)) == ++ (SHF_ALLOC | SHF_EXECINSTR)) { ++#ifdef WIN32 ++ { ++ DWORD old_protect; ++ VirtualProtect(s->data, s->data_offset, ++ PAGE_EXECUTE_READWRITE, &old_protect); ++ } ++#else ++ { ++ unsigned long start, end; ++ start = (unsigned long)(s->data) & ~(PAGESIZE - 1); ++ end = (unsigned long)(s->data + s->data_offset); ++ end = (end + PAGESIZE - 1) & ~(PAGESIZE - 1); ++ mprotect((void *)start, end - start, ++ PROT_READ | PROT_WRITE | PROT_EXEC); ++ } ++#endif ++ } ++ } + return 0; + } + diff --git a/dev-lang/tcc/tcc-0.9.19.ebuild b/dev-lang/tcc/tcc-0.9.19.ebuild deleted file mode 100644 index 7bb262b4a467..000000000000 --- a/dev-lang/tcc/tcc-0.9.19.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcc/tcc-0.9.19.ebuild,v 1.8 2005/06/02 06:22:45 wormo Exp $ - -IUSE="" - -DESCRIPTION="A very small C compiler for ix86" -HOMEPAGE="http://www.tinycc.org/" -SRC_URI="http://fabrice.bellard.free.fr/tcc/${P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="-* x86" - -DEPEND="virtual/libc" - -src_compile() { - econf || die "configure failed" - emake || die - - # Fix examples - for example in ex*.c; do - tail -n +2 $example >$example.temp - echo '#! /usr/bin/env tcc' >$example - cat $example.temp >>$example - chmod 755 $example - done -} - -src_install() { - #autoconf for the package does not create dirs if they are missing for some reason - dodir /usr/bin - dodir /usr/lib/tcc - dodir /usr/share/man/man1 - dodir /usr/include - make prefix=${D}/usr \ - bindir=${D}/usr/bin/ \ - libdir=${D}/usr/lib/ \ - includedir=${D}/usr/include/ \ - mandir=${D}/usr/share/man/ install || die - dodoc Changelog README TODO VERSION COPYING - dohtml tcc-doc.html - mkdir ${D}/usr/share/doc/${PF}/examples - cp ex*.c ${D}/usr/share/doc/${PF}/examples/ -} diff --git a/dev-lang/tcc/tcc-0.9.20.ebuild b/dev-lang/tcc/tcc-0.9.20.ebuild deleted file mode 100644 index 903a1af2cd4e..000000000000 --- a/dev-lang/tcc/tcc-0.9.20.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcc/tcc-0.9.20.ebuild,v 1.8 2005/07/14 21:22:27 agriffis Exp $ - -inherit eutils - -IUSE="" - -DESCRIPTION="A very small C compiler for ix86" -HOMEPAGE="http://www.tinycc.org/" -SRC_URI="http://fabrice.bellard.free.fr/tcc/${P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="-* ~x86" - -DEPEND="virtual/libc" - -src_unpack() { - unpack ${A} - cd ${S} - - epatch ${FILESDIR}/${P}-gcc34.patch -} - -src_compile() { - econf || die "configure failed" - emake || die - - # Fix examples - for example in ex*.c; do - tail -n +2 $example >$example.temp - echo '#! /usr/bin/env tcc' >$example - cat $example.temp >>$example - chmod 755 $example - done -} - -src_install() { - #autoconf for the package does not create dirs if they are missing for some reason - dodir /usr/bin - dodir /usr/lib/tcc - dodir /usr/share/man/man1 - dodir /usr/include - make prefix=${D}/usr \ - bindir=${D}/usr/bin/ \ - libdir=${D}/usr/lib/ \ - includedir=${D}/usr/include/ \ - mandir=${D}/usr/share/man/ install || die - dodoc Changelog README TODO VERSION COPYING - dohtml tcc-doc.html - mkdir ${D}/usr/share/doc/${PF}/examples - cp ex*.c ${D}/usr/share/doc/${PF}/examples/ -} diff --git a/dev-lang/tcc/tcc-0.9.22.ebuild b/dev-lang/tcc/tcc-0.9.22.ebuild deleted file mode 100644 index 185296c142d5..000000000000 --- a/dev-lang/tcc/tcc-0.9.22.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcc/tcc-0.9.22.ebuild,v 1.3 2006/01/08 21:29:21 halcy0n Exp $ - -IUSE="" -DESCRIPTION="A very small C compiler for ix86" -HOMEPAGE="http://www.tinycc.org/" -SRC_URI="http://fabrice.bellard.free.fr/tcc/${P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="-* x86" - -DEPEND="virtual/libc" - -src_compile() { - econf || die "configure failed" - emake || die - - # Fix examples - for example in ex*.c; do - tail -n +2 $example >$example.temp - echo '#! /usr/bin/env tcc' >$example - cat $example.temp >>$example - chmod 755 $example - done -} - -src_install() { - #autoconf for the package does not create dirs if they are missing for some reason - dodir /usr/bin - dodir /usr/lib/tcc - dodir /usr/share/man/man1 - dodir /usr/include - dodir /usr/share/doc/${PF} - make prefix=${D}/usr \ - bindir=${D}/usr/bin/ \ - libdir=${D}/usr/lib/ \ - includedir=${D}/usr/include/ \ - docdir=${D}/usr/share/doc/${PF} \ - mandir=${D}/usr/share/man/ install || die - dodoc Changelog README TODO VERSION COPYING - dohtml tcc-doc.html - dodir /usr/share/doc/${PF}/examples/ - insinto /usr/share/doc/${PF}/examples ; doins ex*.c -} diff --git a/dev-lang/tcc/tcc-0.9.23-r1.ebuild b/dev-lang/tcc/tcc-0.9.23-r1.ebuild index 22134e61da33..0bee517e83b4 100644 --- a/dev-lang/tcc/tcc-0.9.23-r1.ebuild +++ b/dev-lang/tcc/tcc-0.9.23-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcc/tcc-0.9.23-r1.ebuild,v 1.3 2007/04/27 11:25:23 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcc/tcc-0.9.23-r1.ebuild,v 1.4 2007/05/12 11:27:30 truedfx Exp $ inherit eutils @@ -26,6 +26,7 @@ src_unpack() { cd "${S}" epatch "${FILESDIR}"/${P}-anonunion.patch epatch "${FILESDIR}"/${P}-asneeded.patch + epatch "${FILESDIR}"/${P}-nxbit.patch # Don't strip sed -i -e 's|$(INSTALL) -s|$(INSTALL)|' Makefile |