[syslinux:elflink] core/elflink: Delete ADV code that' s already in ldlinux

syslinux-bot for Matt Fleming matt.fleming at intel.com
Tue Aug 14 09:21:05 PDT 2012


Commit-ID:  c2d3f65790c15efed66e6ba3a6e4c08836070889
Gitweb:     http://www.syslinux.org/commit/c2d3f65790c15efed66e6ba3a6e4c08836070889
Author:     Matt Fleming <matt.fleming at intel.com>
AuthorDate: Wed, 11 Jul 2012 10:17:49 +0100
Committer:  Matt Fleming <matt.fleming at intel.com>
CommitDate: Fri, 20 Jul 2012 10:20:18 +0100

core/elflink: Delete ADV code that's already in ldlinux

The exact same ADV code is in both com32/elflink/ldlinux and
core/elflink. Since there's no need to have the same code in two place
at once delete the copy from the core since there are no users in
core/.

Signed-off-by: Matt Fleming <matt.fleming at intel.com>

---
 core/elflink/advwrite.c |   45 ------------------
 core/elflink/setadv.c   |  116 -----------------------------------------------
 2 files changed, 0 insertions(+), 161 deletions(-)

diff --git a/core/elflink/advwrite.c b/core/elflink/advwrite.c
deleted file mode 100644
index 4152eea..0000000
--- a/core/elflink/advwrite.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* ----------------------------------------------------------------------- *
- *
- *   Copyright 2007-2008 H. Peter Anvin - All Rights Reserved
- *
- *   Permission is hereby granted, free of charge, to any person
- *   obtaining a copy of this software and associated documentation
- *   files (the "Software"), to deal in the Software without
- *   restriction, including without limitation the rights to use,
- *   copy, modify, merge, publish, distribute, sublicense, and/or
- *   sell copies of the Software, and to permit persons to whom
- *   the Software is furnished to do so, subject to the following
- *   conditions:
- *
- *   The above copyright notice and this permission notice shall
- *   be included in all copies or substantial portions of the Software.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- *   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- *   OTHER DEALINGS IN THE SOFTWARE.
- *
- * ----------------------------------------------------------------------- */
-
-/*
- * syslinux/advwrite.c
- *
- * Write back the ADV
- */
-
-#include <syslinux/adv.h>
-#include <klibc/compiler.h>
-#include <com32.h>
-
-int syslinux_adv_write(void)
-{
-    static com32sys_t reg;
-
-    reg.eax.w[0] = 0x001d;
-    __intcall(0x22, &reg, &reg);
-    return (reg.eflags.l & EFLAGS_CF) ? -1 : 0;
-}
diff --git a/core/elflink/setadv.c b/core/elflink/setadv.c
deleted file mode 100644
index 40f00a4..0000000
--- a/core/elflink/setadv.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* ----------------------------------------------------------------------- *
- *
- *   Copyright 2007-2008 H. Peter Anvin - All Rights Reserved
- *   Copyright 2009 Intel Corporation; author: H. Peter Anvin
- *
- *   Permission is hereby granted, free of charge, to any person
- *   obtaining a copy of this software and associated documentation
- *   files (the "Software"), to deal in the Software without
- *   restriction, including without limitation the rights to use,
- *   copy, modify, merge, publish, distribute, sublicense, and/or
- *   sell copies of the Software, and to permit persons to whom
- *   the Software is furnished to do so, subject to the following
- *   conditions:
- *
- *   The above copyright notice and this permission notice shall
- *   be included in all copies or substantial portions of the Software.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- *   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- *   OTHER DEALINGS IN THE SOFTWARE.
- *
- * ----------------------------------------------------------------------- */
-
-/*
- * syslinux/setadv.c
- *
- * (Over)write a data item in the auxilliary data vector.  To
- * delete an item, set its length to zero.
- *
- * Return 0 on success, -1 on error, and set errno.
- *
- * NOTE: Data is not written to disk unless
- * syslinux_adv_write() is called.
- */
-
-#include <syslinux/adv.h>
-#include <klibc/compiler.h>
-#include <inttypes.h>
-#include <string.h>
-#include <errno.h>
-#include <alloca.h>
-
-int syslinux_setadv(int tag, size_t size, const void *data)
-{
-    uint8_t *p, *advtmp;
-    size_t rleft, left;
-
-    if ((unsigned)tag - 1 > 254) {
-	errno = EINVAL;
-	return -1;		/* Impossible tag value */
-    }
-
-    if (size > 255) {
-	errno = ENOSPC;		/* Max 255 bytes for a data item */
-	return -1;
-    }
-
-    rleft = left = syslinux_adv_size();
-    p = advtmp = alloca(left);
-    memcpy(p, syslinux_adv_ptr(), left);	/* Make working copy */
-
-    while (rleft >= 2) {
-	uint8_t ptag = p[0];
-	size_t plen = p[1] + 2;
-
-	if (ptag == ADV_END)
-	    break;
-
-	if (ptag == tag) {
-	    /* Found our tag.  Delete it. */
-
-	    if (plen >= rleft) {
-		/* Entire remainder is our tag */
-		break;
-	    }
-	    memmove(p, p + plen, rleft - plen);
-	    rleft -= plen;	/* Fewer bytes to read, but not to write */
-	} else {
-	    /* Not our tag */
-	    if (plen > rleft)
-		break;		/* Corrupt tag (overrun) - overwrite it */
-
-	    left -= plen;
-	    rleft -= plen;
-	    p += plen;
-	}
-    }
-
-    /* Now (p, left) reflects the position to write in and how much space
-       we have for our data. */
-
-    if (size) {
-	if (left < size + 2) {
-	    errno = ENOSPC;	/* Not enough space for data */
-	    return -1;
-	}
-
-	*p++ = tag;
-	*p++ = size;
-	memcpy(p, data, size);
-	p += size;
-	left -= size + 2;
-    }
-
-    memset(p, 0, left);
-
-    /* If we got here, everything went OK, commit the write to low memory */
-    memcpy(syslinux_adv_ptr(), advtmp, syslinux_adv_size());
-
-    return 0;
-}


More information about the Syslinux-commits mailing list