diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-12-20 00:45:48 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-12-20 00:45:48 +0000 |
commit | eda7bcc9cb334bb5522e55a6c3f9c5959da4880c (patch) | |
tree | 8c0cfa0a1a256b9eae610cf634e44bfab0332026 /dev-lang/nasm | |
parent | Added ~x86 keyword. (diff) | |
download | historical-eda7bcc9cb334bb5522e55a6c3f9c5959da4880c.tar.gz historical-eda7bcc9cb334bb5522e55a6c3f9c5959da4880c.tar.bz2 historical-eda7bcc9cb334bb5522e55a6c3f9c5959da4880c.zip |
update patch
Package-Manager: portage-2.0.53
Diffstat (limited to 'dev-lang/nasm')
-rw-r--r-- | dev-lang/nasm/Manifest | 8 | ||||
-rw-r--r-- | dev-lang/nasm/files/nasm-0.98.39-elf-visibility.patch | 42 |
2 files changed, 26 insertions, 24 deletions
diff --git a/dev-lang/nasm/Manifest b/dev-lang/nasm/Manifest index 4c5ea99b1975..1093c688bf09 100644 --- a/dev-lang/nasm/Manifest +++ b/dev-lang/nasm/Manifest @@ -4,14 +4,14 @@ Hash: SHA1 MD5 9a65245dbc1043b4515ce4509d393a21 ChangeLog 5552 MD5 98c253856c4823fdfe9095d900744ff6 files/digest-nasm-0.98.39-r1 65 MD5 98c253856c4823fdfe9095d900744ff6 files/digest-nasm-0.98.39-r2 65 -MD5 36f21b0b4be51fba4321ed1bdc9a9ba9 files/nasm-0.98.39-elf-visibility.patch 4261 +MD5 db4edfe802f41cb10b89e8e6a2cfd714 files/nasm-0.98.39-elf-visibility.patch 4311 MD5 8524fffd916a234a0fa40149506746ee metadata.xml 738 MD5 3300e0a51446776ab370d1c2f855d883 nasm-0.98.39-r1.ebuild 1472 MD5 a7049de2fd13f498b77cbdd25e3973f3 nasm-0.98.39-r2.ebuild 1529 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) -iD8DBQFDo2Ug2+ySkm8kpY0RAmzoAJ9liYEUKE+E/edrv0x2OuIq5gBiIACcCS7e -r5wR1uSIA42cyJtytnqUbJc= -=x6M1 +iD8DBQFDp1Rn2+ySkm8kpY0RAt/jAKCkRXwGNgz3ugvt0D7tpSJ4xcjlggCdG6I9 +yIftDthDnBPjIH59PvpaCMU= +=0Pq2 -----END PGP SIGNATURE----- diff --git a/dev-lang/nasm/files/nasm-0.98.39-elf-visibility.patch b/dev-lang/nasm/files/nasm-0.98.39-elf-visibility.patch index 9065f9f193db..07320eb35467 100644 --- a/dev-lang/nasm/files/nasm-0.98.39-elf-visibility.patch +++ b/dev-lang/nasm/files/nasm-0.98.39-elf-visibility.patch @@ -2,7 +2,7 @@ Add support for declaring elf visibility attributes. Used to help cleanup TEXTRELs in misc libraries (like libsdl). Syntax to declare function foo hidden: -GLOBAL foo:function:hidden +GLOBAL foo:function hidden Patch by Mike Frysinger <vapier@gentoo.org> @@ -42,18 +42,14 @@ http://sourceforge.net/mailarchive/forum.php?thread_id=9230919&forum_id=4978 sym->size = 0; if (segment == NO_SEG) sym->section = SHN_ABS; -@@ -571,16 +579,40 @@ static void elf_deflabel(char *name, lon +@@ -570,18 +578,41 @@ static void elf_deflabel(char *name, lon + sym->next = sects[sym->section - 1]->gsyms; sects[sym->section - 1]->gsyms = sym; ++ /* ELF syntax: GLOBAL name[:type [visibility]] */ if (special) { - int n = strcspn(special, " "); -+ char *visibility = NULL; -+ int n; -+ n = strcspn(special, ":"); -+ if (special[n]) { -+ visibility = special + n + 1; -+ } else -+ n = strcspn(special, " "); ++ int n = strcspn(special, " \t"); if (!nasm_strnicmp(special, "function", n)) sym->type |= SYM_FUNCTION; @@ -65,26 +61,32 @@ http://sourceforge.net/mailarchive/forum.php?thread_id=9230919&forum_id=4978 else error(ERR_NONFATAL, "unrecognised symbol type `%.*s'", n, special); -+ if (visibility) { -+ n = strcspn(visibility, " "); -+ if (!nasm_strnicmp(visibility, "default", n)) ++ special += n; ++ ++ while (isspace(*special)) ++ ++special; ++ if (*special) { ++ n = strcspn(special, " \t"); ++ if (!nasm_strnicmp(special, "default", n)) + sym->other = STV_DEFAULT; -+ else if (!nasm_strnicmp(visibility, "internal", n)) ++ else if (!nasm_strnicmp(special, "internal", n)) + sym->other = STV_INTERNAL; -+ else if (!nasm_strnicmp(visibility, "hidden", n)) ++ else if (!nasm_strnicmp(special, "hidden", n)) + sym->other = STV_HIDDEN; -+ else if (!nasm_strnicmp(visibility, "protected", n)) ++ else if (!nasm_strnicmp(special, "protected", n)) + sym->other = STV_PROTECTED; + else + error(ERR_NONFATAL, "unrecognised symbol type `%.*s'", -+ n, visibility); -+ n = strcspn(special, " "); ++ n, special); ++ special += n; + } + - if (special[n]) { +- if (special[n]) { ++ if (*special) { struct tokenval tokval; expr *e; -@@ -1120,7 +1152,8 @@ static struct SAA *elf_build_symtab(long + int fwd = FALSE; +@@ -1120,7 +1150,8 @@ static struct SAA *elf_build_symtab(long WRITELONG(p, sym->strpos); WRITELONG(p, sym->value); WRITELONG(p, sym->size); @@ -94,7 +96,7 @@ http://sourceforge.net/mailarchive/forum.php?thread_id=9230919&forum_id=4978 WRITESHORT(p, sym->section); saa_wbytes(s, entry, 16L); *len += 16; -@@ -1138,7 +1171,8 @@ static struct SAA *elf_build_symtab(long +@@ -1138,7 +1169,8 @@ static struct SAA *elf_build_symtab(long WRITELONG(p, sym->strpos); WRITELONG(p, sym->value); WRITELONG(p, sym->size); |