Import gputils 0.11.7.
Submitted by Andrew Dalgleish <openbsd@ajd.net.au>. GPUTILS is a collection of tools for the Microchip (TM) PIC microcontrollers. It includes gpasm, gplink, and gplib.
This commit is contained in:
parent
1054a33e47
commit
cfb6182a3f
56
devel/gputils/Makefile
Normal file
56
devel/gputils/Makefile
Normal file
@ -0,0 +1,56 @@
|
||||
# $OpenBSD: Makefile,v 1.1.1.1 2003/11/03 01:02:34 naddy Exp $
|
||||
|
||||
COMMENT= "GNU PIC assembler and utilities"
|
||||
|
||||
VERSION= 0.11.7
|
||||
DISTNAME= gputils-${VERSION}
|
||||
DIST_SUBDIR= gputils
|
||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} gputils-testsuite-${VERSION}${EXTRACT_SUFX}:0
|
||||
|
||||
CATEGORIES= devel
|
||||
|
||||
HOMEPAGE= http://gputils.sourceforge.net/
|
||||
|
||||
MAINTAINER= Andrew Dalgleish <openbsd@ajd.net.au>
|
||||
|
||||
# GPL
|
||||
PERMIT_PACKAGE_CDROM= Yes
|
||||
PERMIT_PACKAGE_FTP= Yes
|
||||
PERMIT_DISTFILES_CDROM= Yes
|
||||
PERMIT_DISTFILES_FTP= Yes
|
||||
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=gputils/}
|
||||
MASTER_SITES0= http://www.ajd.net.au/ports/
|
||||
|
||||
# From Jolan:
|
||||
.if ${MACHINE_ARCH:Msparc64}
|
||||
CFLAGS+= "-O0"
|
||||
.endif
|
||||
|
||||
CONFIGURE_STYLE= gnu autoconf
|
||||
AUTOCONF_VERSION= 2.57
|
||||
CONFIGURE_ENV= "CC=${CC}" "CPP=${CPP}" "CFLAGS=${CFLAGS}" "CPPFLAGS=${CPPFLAGS}" "LDFLAGS=${LDFLAGS}"
|
||||
|
||||
# Commands used to create the testsuite tarball
|
||||
# I put these here mainly for documentation, but if you can't fetch
|
||||
# the tarball from MASTER_SITES0, this should be 100% reproducable.
|
||||
create-testsuite-tarball:
|
||||
rm -fr gputils/ gputils-${VERSION}
|
||||
cvs -z3 -d:pserver:anonymous@cvs.gputils.sourceforge.net:/cvsroot/gputils export -r gputils-${VERSION:S/./_/g} gputils/gpasm/testsuite > /dev/null
|
||||
mv gputils gputils-${VERSION}
|
||||
find gputils-${VERSION} -type d -print0 | xargs -0 touch -am -t 0000000000
|
||||
tar czf ${FULLDISTDIR}/gputils-testsuite-${VERSION}.tar.gz gputils-${VERSION}/gpasm/testsuite/
|
||||
rm -fr gputils/ gputils-${VERSION}
|
||||
|
||||
do-regress:
|
||||
cd ${WRKSRC}/gpasm/testsuite && sh ./test all
|
||||
|
||||
|
||||
DOCFILES= gputils.lyx gputils.pdf gputils.ps
|
||||
post-install:
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/gputils
|
||||
.for FILE in ${DOCFILES}
|
||||
${INSTALL_DATA} ${WRKSRC}/doc/${FILE} ${PREFIX}/share/doc/gputils
|
||||
.endfor
|
||||
|
||||
.include <bsd.port.mk>
|
6
devel/gputils/distinfo
Normal file
6
devel/gputils/distinfo
Normal file
@ -0,0 +1,6 @@
|
||||
MD5 (gputils/gputils-0.11.7.tar.gz) = b050ec0a2797440c266e03994cffffe2
|
||||
MD5 (gputils/gputils-testsuite-0.11.7.tar.gz) = 0bbfaf99138237849a433f31cb956f18
|
||||
RMD160 (gputils/gputils-0.11.7.tar.gz) = 6414594af4c12856a2d2d3633c207984736aeea8
|
||||
RMD160 (gputils/gputils-testsuite-0.11.7.tar.gz) = b2323469c6f0a0c08f3db78155b3605bfd0a6ff3
|
||||
SHA1 (gputils/gputils-0.11.7.tar.gz) = 84226bc31b25cc3c3f1b04aa192825f3b7b5daa0
|
||||
SHA1 (gputils/gputils-testsuite-0.11.7.tar.gz) = 15b987a9e743b779c68edd47a39caa47c3e2aeb4
|
12
devel/gputils/patches/patch-configure_ac
Normal file
12
devel/gputils/patches/patch-configure_ac
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-configure_ac,v 1.1.1.1 2003/11/03 01:02:34 naddy Exp $
|
||||
--- configure.ac.orig 2003-10-14 20:21:51.000000000 +1000
|
||||
+++ configure.ac 2003-10-14 20:22:10.000000000 +1000
|
||||
@@ -51,7 +51,7 @@ AC_CHECK_TOOL(AR, ar, :)
|
||||
|
||||
# Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
-AC_CHECK_HEADERS(malloc.h unistd.h string.h strings.h)
|
||||
+AC_CHECK_HEADERS(stdlib.h malloc.h unistd.h string.h strings.h)
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
14
devel/gputils/patches/patch-gpasm_cod_c
Normal file
14
devel/gputils/patches/patch-gpasm_cod_c
Normal file
@ -0,0 +1,14 @@
|
||||
$OpenBSD: patch-gpasm_cod_c,v 1.1.1.1 2003/11/03 01:02:34 naddy Exp $
|
||||
--- gpasm/cod.c.orig 2003-10-14 20:52:05.000000000 +1000
|
||||
+++ gpasm/cod.c 2003-10-14 20:52:59.000000000 +1000
|
||||
@@ -75,8 +75,8 @@ cod_init(void)
|
||||
{
|
||||
|
||||
if (state.codfile != named) {
|
||||
- strcpy(state.codfilename, state.basefilename);
|
||||
- strcat(state.codfilename, ".cod");
|
||||
+ strlcpy(state.codfilename, state.basefilename, sizeof(state.codfilename));
|
||||
+ strlcat(state.codfilename, ".cod", sizeof(state.codfilename));
|
||||
}
|
||||
|
||||
if (state.codfile == suppress) {
|
40
devel/gputils/patches/patch-gpasm_coff_c
Normal file
40
devel/gputils/patches/patch-gpasm_coff_c
Normal file
@ -0,0 +1,40 @@
|
||||
$OpenBSD: patch-gpasm_coff_c,v 1.1.1.1 2003/11/03 01:02:34 naddy Exp $
|
||||
--- gpasm/coff.c.orig 2003-10-03 15:59:39.000000000 +1000
|
||||
+++ gpasm/coff.c 2003-10-19 01:24:54.000000000 +1000
|
||||
@@ -32,8 +32,8 @@ void
|
||||
coff_init(void)
|
||||
{
|
||||
if (state.objfile != named) {
|
||||
- strcpy(state.objfilename, state.basefilename);
|
||||
- strcat(state.objfilename, ".o");
|
||||
+ strlcpy(state.objfilename, state.basefilename, sizeof(state.objfilename));
|
||||
+ strlcat(state.objfilename, ".o", sizeof(state.objfilename));
|
||||
}
|
||||
|
||||
if (state.objfile == suppress) {
|
||||
@@ -399,7 +399,7 @@ coff_add_sym(char *name, int value, int
|
||||
|
||||
new = gp_coffgen_findsymbol(state.obj.object, name);
|
||||
if (new != NULL) {
|
||||
- sprintf(message,
|
||||
+ snprintf(message, sizeof(message),
|
||||
"Duplicate label or redefining symbol that cannot be redefined. (%s)",
|
||||
name);
|
||||
gperror(GPE_DUPLAB, message);
|
||||
@@ -537,14 +537,14 @@ coff_local_name(char *name)
|
||||
if (local == NULL) {
|
||||
/* It isn't in the stGlobal so it must be in stTop. It's local. */
|
||||
while(1) {
|
||||
- sprintf(buffer, "_%d%s", count, name);
|
||||
+ snprintf(buffer, sizeof(buffer), "_%d%s", count, name);
|
||||
symbol = gp_coffgen_findsymbol(state.obj.object, buffer);
|
||||
if (symbol == NULL)
|
||||
break;
|
||||
count++;
|
||||
}
|
||||
} else {
|
||||
- strcpy(buffer, name);
|
||||
+ strlcpy(buffer, name, sizeof(buffer));
|
||||
}
|
||||
|
||||
return strdup(buffer);
|
165
devel/gputils/patches/patch-gpasm_directive_c
Normal file
165
devel/gputils/patches/patch-gpasm_directive_c
Normal file
@ -0,0 +1,165 @@
|
||||
$OpenBSD: patch-gpasm_directive_c,v 1.1.1.1 2003/11/03 01:02:34 naddy Exp $
|
||||
--- gpasm/directive.c.orig 2003-10-03 15:44:16.000000000 +1000
|
||||
+++ gpasm/directive.c 2003-10-19 01:24:54.000000000 +1000
|
||||
@@ -323,7 +323,7 @@ static int list_symbol_member(struct pno
|
||||
return 0;
|
||||
} else if (STRCMP(M->value.symbol, HEAD(L)->value.symbol) == 0) {
|
||||
char buf[BUFSIZ];
|
||||
- sprintf(buf, "Duplicate macro parameter (%s).", HEAD(L)->value.symbol);
|
||||
+ snprintf(buf, sizeof(buf), "Duplicate macro parameter (%s).", HEAD(L)->value.symbol);
|
||||
gperror(GPE_UNKNOWN, buf);
|
||||
return 1;
|
||||
} else {
|
||||
@@ -524,14 +524,14 @@ static gpasmVal do_code(gpasmVal r,
|
||||
switch (arity) {
|
||||
case 0:
|
||||
/* new relocatable section */
|
||||
- strcpy(state.obj.new_sec_name, ".code");
|
||||
+ strlcpy(state.obj.new_sec_name, ".code", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = 0;
|
||||
state.obj.new_sec_flags = STYP_TEXT;
|
||||
break;
|
||||
case 1:
|
||||
/* new absolute section */
|
||||
p = HEAD(parms);
|
||||
- strcpy(state.obj.new_sec_name, ".code");
|
||||
+ strlcpy(state.obj.new_sec_name, ".code", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = maybe_evaluate(p) >> _16bit_core;
|
||||
state.obj.new_sec_flags = STYP_TEXT | STYP_ABS;
|
||||
break;
|
||||
@@ -1171,12 +1171,12 @@ static gpasmVal do_global(gpasmVal r,
|
||||
if (p->tag == symbol) {
|
||||
s = get_symbol(state.stTop, p->value.symbol);
|
||||
if (s == NULL) {
|
||||
- sprintf(buf, "Symbol not previously defined (%s).", p->value.symbol);
|
||||
+ snprintf(buf, sizeof(buf), "Symbol not previously defined (%s).", p->value.symbol);
|
||||
gperror(GPE_NOSYM, buf);
|
||||
} else {
|
||||
var = get_symbol_annotation(s);
|
||||
if (var == NULL) {
|
||||
- sprintf(buf, "Symbol not assigned a value (%s).", p->value.symbol);
|
||||
+ snprintf(buf, sizeof(buf), "Symbol not assigned a value (%s).", p->value.symbol);
|
||||
gpwarning(GPW_UNKNOWN, buf);
|
||||
} else {
|
||||
if ((var->previous_type == gvt_address) ||
|
||||
@@ -1187,7 +1187,7 @@ static gpasmVal do_global(gpasmVal r,
|
||||
} else if (var->previous_type == gvt_extern) {
|
||||
gperror(GPE_DUPLAB, NULL);
|
||||
} else {
|
||||
- sprintf(buf, "Operand must be an address label (%s).",
|
||||
+ snprintf(buf, sizeof(buf), "Operand must be an address label (%s).",
|
||||
p->value.symbol);
|
||||
gperror(GPE_MUST_BE_LABEL, buf);
|
||||
}
|
||||
@@ -1218,14 +1218,14 @@ static gpasmVal do_idata(gpasmVal r,
|
||||
switch (arity) {
|
||||
case 0:
|
||||
/* new relocatable section */
|
||||
- strcpy(state.obj.new_sec_name, ".idata");
|
||||
+ strlcpy(state.obj.new_sec_name, ".idata", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = 0;
|
||||
state.obj.new_sec_flags = STYP_DATA;
|
||||
break;
|
||||
case 1:
|
||||
/* new absolute section */
|
||||
p = HEAD(parms);
|
||||
- strcpy(state.obj.new_sec_name, ".idata");
|
||||
+ strlcpy(state.obj.new_sec_name, ".idata", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = maybe_evaluate(p) >> _16bit_core;
|
||||
state.obj.new_sec_flags = STYP_DATA | STYP_ABS;
|
||||
break;
|
||||
@@ -1677,7 +1677,7 @@ static gpasmVal do_org(gpasmVal r,
|
||||
} else {
|
||||
/* Default section name, this will be overwritten if a label is
|
||||
present. */
|
||||
- sprintf(state.obj.new_sec_name, ".org_%d", state.obj.org_num++);
|
||||
+ snprintf(state.obj.new_sec_name, sizeof(state.obj.new_sec_name), ".org_%d", state.obj.org_num++);
|
||||
state.obj.new_sec_addr = r;
|
||||
state.obj.new_sec_flags = STYP_TEXT | STYP_ABS;
|
||||
state.lst.line.linetype = sec;
|
||||
@@ -1900,14 +1900,14 @@ static gpasmVal do_udata(gpasmVal r,
|
||||
switch (arity) {
|
||||
case 0:
|
||||
/* new relocatable section */
|
||||
- strcpy(state.obj.new_sec_name, ".udata");
|
||||
+ strlcpy(state.obj.new_sec_name, ".udata", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = 0;
|
||||
state.obj.new_sec_flags = STYP_BSS;
|
||||
break;
|
||||
case 1:
|
||||
/* new absolute section */
|
||||
p = HEAD(parms);
|
||||
- strcpy(state.obj.new_sec_name, ".udata");
|
||||
+ strlcpy(state.obj.new_sec_name, ".udata", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = maybe_evaluate(p) >> _16bit_core;
|
||||
state.obj.new_sec_flags = STYP_BSS | STYP_ABS;
|
||||
break;
|
||||
@@ -1935,14 +1935,14 @@ static gpasmVal do_udata_acs(gpasmVal r,
|
||||
switch (arity) {
|
||||
case 0:
|
||||
/* new relocatable section */
|
||||
- strcpy(state.obj.new_sec_name, ".udata_acs");
|
||||
+ strlcpy(state.obj.new_sec_name, ".udata_acs", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = 0;
|
||||
state.obj.new_sec_flags = STYP_BSS | STYP_ACCESS;
|
||||
break;
|
||||
case 1:
|
||||
/* new absolute section */
|
||||
p = HEAD(parms);
|
||||
- strcpy(state.obj.new_sec_name, ".udata_acs");
|
||||
+ strlcpy(state.obj.new_sec_name, ".udata_acs", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = maybe_evaluate(p) >> _16bit_core;
|
||||
state.obj.new_sec_flags = STYP_BSS | STYP_ABS | STYP_ACCESS;
|
||||
break;
|
||||
@@ -1970,14 +1970,14 @@ static gpasmVal do_udata_ovr(gpasmVal r,
|
||||
switch (arity) {
|
||||
case 0:
|
||||
/* new relocatable section */
|
||||
- strcpy(state.obj.new_sec_name, ".udata_ovr");
|
||||
+ strlcpy(state.obj.new_sec_name, ".udata_ovr", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = 0;
|
||||
state.obj.new_sec_flags = STYP_BSS | STYP_OVERLAY;
|
||||
break;
|
||||
case 1:
|
||||
/* new absolute section */
|
||||
p = HEAD(parms);
|
||||
- strcpy(state.obj.new_sec_name, ".udata_ovr");
|
||||
+ strlcpy(state.obj.new_sec_name, ".udata_ovr", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = maybe_evaluate(p) >> _16bit_core;
|
||||
state.obj.new_sec_flags = STYP_BSS | STYP_ABS | STYP_OVERLAY;
|
||||
break;
|
||||
@@ -2005,14 +2005,14 @@ static gpasmVal do_udata_shr(gpasmVal r,
|
||||
switch (arity) {
|
||||
case 0:
|
||||
/* new relocatable section */
|
||||
- strcpy(state.obj.new_sec_name, ".udata_shr");
|
||||
+ strlcpy(state.obj.new_sec_name, ".udata_shr", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = 0;
|
||||
state.obj.new_sec_flags = STYP_BSS | STYP_SHARED;
|
||||
break;
|
||||
case 1:
|
||||
/* new absolute section */
|
||||
p = HEAD(parms);
|
||||
- strcpy(state.obj.new_sec_name, ".udata_shr");
|
||||
+ strlcpy(state.obj.new_sec_name, ".udata_shr", sizeof(state.obj.new_sec_name));
|
||||
state.obj.new_sec_addr = maybe_evaluate(p) >> _16bit_core;
|
||||
state.obj.new_sec_flags = STYP_BSS | STYP_ABS | STYP_SHARED;
|
||||
break;
|
||||
@@ -2190,7 +2190,7 @@ static void emit_check_relative(int insn
|
||||
|
||||
/* If the branch is too far then issue an error */
|
||||
if ((argument > range) || (argument < -(range+1))) {
|
||||
- sprintf(full_message,"Argument out of range (%d not between %d and %d)\n",
|
||||
+ snprintf(full_message, sizeof(full_message), "Argument out of range (%d not between %d and %d)\n",
|
||||
argument,
|
||||
-(range+1),
|
||||
range);
|
||||
@@ -2950,7 +2950,7 @@ gpasmVal do_insn(char *name, struct pnod
|
||||
gperror(GPE_UNDEF_PROC, NULL);
|
||||
} else {
|
||||
char mesg[80];
|
||||
- sprintf(mesg, "Unknown opcode \"%.40s\"", name);
|
||||
+ snprintf(mesg, sizeof(mesg), "Unknown opcode \"%.40s\"", name);
|
||||
gperror(GPE_UNKNOWN, mesg);
|
||||
}
|
||||
}
|
83
devel/gputils/patches/patch-gpasm_evaluate_c
Normal file
83
devel/gputils/patches/patch-gpasm_evaluate_c
Normal file
@ -0,0 +1,83 @@
|
||||
$OpenBSD: patch-gpasm_evaluate_c,v 1.1.1.1 2003/11/03 01:02:34 naddy Exp $
|
||||
--- gpasm/evaluate.c.orig 2003-10-14 20:58:03.000000000 +1000
|
||||
+++ gpasm/evaluate.c 2003-10-14 21:01:47.000000000 +1000
|
||||
@@ -79,7 +79,7 @@ int can_evaluate_concatenation(struct pn
|
||||
return can_evaluate_concatenation(p->value.binop.p0)
|
||||
&& can_evaluate_concatenation(p->value.binop.p1);
|
||||
case string:
|
||||
- sprintf(buf, "Illegal argument (%s).", p->value.string);
|
||||
+ snprintf(buf, sizeof(buf), "Illegal argument (%s).", p->value.string);
|
||||
gperror(GPE_ILLEGAL_ARGU, buf);
|
||||
return 0;
|
||||
default:
|
||||
@@ -113,13 +113,13 @@ int can_evaluate(struct pnode *p)
|
||||
s = get_symbol(state.stTop, p->value.symbol);
|
||||
|
||||
if (s == NULL) {
|
||||
- sprintf(buf, "Symbol not previously defined (%s).", p->value.symbol);
|
||||
+ snprintf(buf, sizeof(buf), "Symbol not previously defined (%s).", p->value.symbol);
|
||||
gperror(GPE_NOSYM, buf);
|
||||
} else {
|
||||
var = get_symbol_annotation(s);
|
||||
|
||||
if (var == NULL) {
|
||||
- sprintf(buf, "Symbol not assigned a value (%s).", p->value.symbol);
|
||||
+ snprintf(buf, sizeof(buf), "Symbol not assigned a value (%s).", p->value.symbol);
|
||||
gpwarning(GPW_UNKNOWN, buf);
|
||||
}
|
||||
}
|
||||
@@ -132,7 +132,7 @@ int can_evaluate(struct pnode *p)
|
||||
case binop:
|
||||
return can_evaluate(p->value.binop.p0) && can_evaluate(p->value.binop.p1);
|
||||
case string:
|
||||
- sprintf(buf, "Illegal argument (%s).", p->value.string);
|
||||
+ snprintf(buf, sizeof(buf), "Illegal argument (%s).", p->value.string);
|
||||
gperror(GPE_ILLEGAL_ARGU, buf);
|
||||
return 0;
|
||||
default:
|
||||
@@ -151,19 +151,23 @@ char *evaluate_concatenation(struct pnod
|
||||
assert(p->value.binop.op == CONCAT);
|
||||
{
|
||||
char *s[2], *new;
|
||||
+ size_t sizeof_new;
|
||||
|
||||
s[0] = evaluate_concatenation(p->value.binop.p0);
|
||||
s[1] = evaluate_concatenation(p->value.binop.p1);
|
||||
- new = malloc(strlen(s[0]) + 1 + strlen(s[1]) + 1);
|
||||
- strcpy(new, s[0]);
|
||||
- strcat(new, s[1]);
|
||||
+ sizeof_new =strlen(s[0]) + 1 + strlen(s[1]) + 1;
|
||||
+ new = malloc(sizeof_new);
|
||||
+ if (new) {
|
||||
+ strlcpy(new, s[0], sizeof_new);
|
||||
+ strlcat(new, s[1], sizeof_new);
|
||||
+ }
|
||||
return new;
|
||||
}
|
||||
case unop:
|
||||
assert(p->value.unop.op == VAR);
|
||||
{
|
||||
char buf[80];
|
||||
- sprintf(buf, "%d", maybe_evaluate(p->value.unop.p0));
|
||||
+ snprintf(buf, sizeof(buf), "%d", maybe_evaluate(p->value.unop.p0));
|
||||
return (strdup(buf));
|
||||
}
|
||||
default:
|
||||
@@ -186,7 +190,7 @@ gpasmVal evaluate(struct pnode *p)
|
||||
s = get_symbol(state.stTop, string);
|
||||
if (s == NULL) {
|
||||
char buf[BUFSIZ];
|
||||
- sprintf(buf, "Symbol not previously defined (%s).", string);
|
||||
+ snprintf(buf, sizeof(buf), "Symbol not previously defined (%s).", string);
|
||||
gperror(GPE_NOSYM, buf);
|
||||
return 0;
|
||||
} else {
|
||||
@@ -389,7 +393,7 @@ add_reloc(struct pnode *p, short offset,
|
||||
if (strcmp(p->value.symbol, "$") == 0) {
|
||||
char buffer[BUFSIZ];
|
||||
|
||||
- sprintf(buffer, "_$_%06x", state.org << _16bit_core);
|
||||
+ snprintf(buffer, sizeof(buffer), "_$_%06x", state.org << _16bit_core);
|
||||
set_global(buffer, state.org << _16bit_core, PERMANENT, gvt_static);
|
||||
s = get_symbol(state.stTop, buffer);
|
||||
} else {
|
23
devel/gputils/patches/patch-gpasm_gpasm_c
Normal file
23
devel/gputils/patches/patch-gpasm_gpasm_c
Normal file
@ -0,0 +1,23 @@
|
||||
$OpenBSD: patch-gpasm_gpasm_c,v 1.1.1.1 2003/11/03 01:02:35 naddy Exp $
|
||||
--- gpasm/gpasm.c.orig 2003-10-09 11:29:47.000000000 +1000
|
||||
+++ gpasm/gpasm.c 2003-10-19 01:24:54.000000000 +1000
|
||||
@@ -255,8 +255,8 @@ process_args( int argc, char *argv[])
|
||||
#endif
|
||||
break;
|
||||
case 'o':
|
||||
- strcpy(state.hexfilename, optarg);
|
||||
- strcpy(state.basefilename, optarg);
|
||||
+ strlcpy(state.hexfilename, optarg, sizeof(state.hexfilename));
|
||||
+ strlcpy(state.basefilename, optarg, sizeof(state.basefilename));
|
||||
pc = strrchr(state.basefilename, '.');
|
||||
if (pc)
|
||||
*pc = 0;
|
||||
@@ -317,7 +317,7 @@ assemble(void)
|
||||
state.c_memory = state.i_memory = i_memory_create();
|
||||
|
||||
if(state.basefilename[0] == '\0') {
|
||||
- strcpy(state.basefilename, state.srcfilename);
|
||||
+ strlcpy(state.basefilename, state.srcfilename, sizeof(state.basefilename));
|
||||
pc = strrchr(state.basefilename, '.');
|
||||
if (pc)
|
||||
*pc = 0;
|
81
devel/gputils/patches/patch-gpasm_gperror_c
Normal file
81
devel/gputils/patches/patch-gpasm_gperror_c
Normal file
@ -0,0 +1,81 @@
|
||||
$OpenBSD: patch-gpasm_gperror_c,v 1.1.1.1 2003/11/03 01:02:35 naddy Exp $
|
||||
--- gpasm/gperror.c.orig 2003-10-14 21:03:30.000000000 +1000
|
||||
+++ gpasm/gperror.c 2003-10-14 21:04:57.000000000 +1000
|
||||
@@ -172,14 +172,14 @@ void gperror(unsigned int code,
|
||||
/* standard output */
|
||||
if (!state.quiet) {
|
||||
if (state.src)
|
||||
- sprintf(full_message,
|
||||
+ snprintf(full_message, sizeof(full_message),
|
||||
"%s:%d:Error [%03d] %s",
|
||||
state.src->name,
|
||||
state.src->line_number,
|
||||
code,
|
||||
message);
|
||||
else
|
||||
- sprintf(full_message,
|
||||
+ snprintf(full_message, sizeof(full_message),
|
||||
"Error [%03d] %s",
|
||||
code,
|
||||
message);
|
||||
@@ -191,7 +191,7 @@ void gperror(unsigned int code,
|
||||
#endif
|
||||
|
||||
/* list file output */
|
||||
- sprintf(full_message,
|
||||
+ snprintf(full_message, sizeof(full_message),
|
||||
"Error [%03d] : %s",
|
||||
code,
|
||||
message);
|
||||
@@ -260,14 +260,14 @@ void gpwarning(unsigned int code,
|
||||
/* standard output */
|
||||
if (!state.quiet) {
|
||||
if (state.src)
|
||||
- sprintf(full_message,
|
||||
+ snprintf(full_message, sizeof(full_message),
|
||||
"%s:%d:Warning [%03d] %s",
|
||||
state.src->name,
|
||||
state.src->line_number,
|
||||
code,
|
||||
message);
|
||||
else
|
||||
- sprintf(full_message,
|
||||
+ snprintf(full_message, sizeof(full_message),
|
||||
"Warning [%03d] %s",
|
||||
code,
|
||||
message);
|
||||
@@ -279,7 +279,7 @@ void gpwarning(unsigned int code,
|
||||
#endif
|
||||
|
||||
/* list file output */
|
||||
- sprintf(full_message,
|
||||
+ snprintf(full_message, sizeof(full_message),
|
||||
"Warning [%03d] : %s",
|
||||
code,
|
||||
message);
|
||||
@@ -345,14 +345,14 @@ void gpmessage(unsigned int code,
|
||||
/* standard output */
|
||||
if (!state.quiet) {
|
||||
if (state.src)
|
||||
- sprintf(full_message,
|
||||
+ snprintf(full_message, sizeof(full_message),
|
||||
"%s:%d:Message [%03d] %s",
|
||||
state.src->name,
|
||||
state.src->line_number,
|
||||
code,
|
||||
message);
|
||||
else
|
||||
- sprintf(full_message,
|
||||
+ snprintf(full_message, sizeof(full_message),
|
||||
"Message [%03d] %s",
|
||||
code,
|
||||
message);
|
||||
@@ -364,7 +364,7 @@ void gpmessage(unsigned int code,
|
||||
#endif
|
||||
|
||||
/* list file output */
|
||||
- sprintf(full_message,
|
||||
+ snprintf(full_message, sizeof(full_message),
|
||||
"Message [%03d] : %s",
|
||||
code,
|
||||
message);
|
255
devel/gputils/patches/patch-gpasm_lst_c
Normal file
255
devel/gputils/patches/patch-gpasm_lst_c
Normal file
@ -0,0 +1,255 @@
|
||||
$OpenBSD: patch-gpasm_lst_c,v 1.1.1.1 2003/11/03 01:02:35 naddy Exp $
|
||||
--- gpasm/lst.c.orig 2003-07-08 11:40:43.000000000 +1000
|
||||
+++ gpasm/lst.c 2003-10-15 00:26:10.000000000 +1000
|
||||
@@ -76,7 +76,7 @@ void lst_init()
|
||||
state.lst.symboltable = 1;
|
||||
|
||||
/* Determine state.startdate */
|
||||
- gp_date_string(state.lst.startdate);
|
||||
+ gp_date_string(state.lst.startdate, sizeof(state.lst.startdate));
|
||||
|
||||
if (state.cmd_line.macro_expand == 0){
|
||||
state.lst.expand = 1;
|
||||
@@ -93,8 +93,8 @@ void lst_init()
|
||||
state.lst.tabstop = 8; /* Default tabstop every 8 */
|
||||
|
||||
if (state.lstfile != named) {
|
||||
- strcpy(state.lstfilename, state.basefilename);
|
||||
- strcat(state.lstfilename, ".lst");
|
||||
+ strlcpy(state.lstfilename, state.basefilename, sizeof(state.lstfilename));
|
||||
+ strlcat(state.lstfilename, ".lst", sizeof(state.lstfilename));
|
||||
}
|
||||
|
||||
if (state.lstfile == suppress) {
|
||||
@@ -118,7 +118,6 @@ void lst_init()
|
||||
void lst_memory_map(MemBlock *m)
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
- char *e;
|
||||
int i, j, base, row_used;
|
||||
|
||||
lst_line("");
|
||||
@@ -139,21 +138,18 @@ void lst_memory_map(MemBlock *m)
|
||||
row_used = 1;
|
||||
|
||||
if(row_used) {
|
||||
- e = buf;
|
||||
- sprintf(e, "%04x :", (i + base));
|
||||
- e += strlen(e);
|
||||
+ snprintf(buf, sizeof(buf), "%04x :", (i + base));
|
||||
for(j = 0; j<64; j++) {
|
||||
if ((j%16) == 0) {
|
||||
- *e++ = ' ';
|
||||
+ strlcat(buf, " ", sizeof(buf));
|
||||
}
|
||||
if ((i_memory_get(m, i+j) & MEM_USED_MASK)) {
|
||||
- *e++ = 'X';
|
||||
+ strlcat(buf, "X", sizeof(buf));
|
||||
} else {
|
||||
- *e++ = '-';
|
||||
+ strlcat(buf, "-", sizeof(buf));
|
||||
}
|
||||
}
|
||||
|
||||
- *e = '\0'; /* terminate the new string */
|
||||
lst_line(buf);
|
||||
}
|
||||
}
|
||||
@@ -165,7 +161,7 @@ void lst_memory_map(MemBlock *m)
|
||||
lst_line("All other memory blocks unused.");
|
||||
lst_line("");
|
||||
|
||||
- sprintf(buf, "Program Memory Words Used: %i", i_memory_used(state.i_memory));
|
||||
+ snprintf(buf, sizeof(buf), "Program Memory Words Used: %i", i_memory_used(state.i_memory));
|
||||
lst_line(buf);
|
||||
|
||||
}
|
||||
@@ -195,51 +191,44 @@ void lst_close()
|
||||
void lst_format_line(char *src_line, int value)
|
||||
{
|
||||
char m[BUFSIZ];
|
||||
- char *e;
|
||||
+ char buf[BUFSIZ];
|
||||
unsigned int emitted = 0;
|
||||
|
||||
assert(src_line != NULL);
|
||||
|
||||
- e = m;
|
||||
switch (state.lst.line.linetype) {
|
||||
case equ:
|
||||
case set:
|
||||
- sprintf(e, " %08X", value);
|
||||
- e += strlen(e);
|
||||
- strcpy(e, " ");
|
||||
- e += 5;
|
||||
+ snprintf(m, sizeof(m), " %08X", value);
|
||||
+ strlcat(m, " ", sizeof(m));
|
||||
break;
|
||||
case org:
|
||||
- sprintf(e, "%04X ", state.org << _16bit_core);
|
||||
- e += strlen(e);
|
||||
- strcpy(e, " ");
|
||||
- e += 5;
|
||||
+ snprintf(m, sizeof(m), "%04X ", state.org << _16bit_core);
|
||||
+ strlcat(m, " ", sizeof(m));
|
||||
break;
|
||||
case idlocs:
|
||||
/* not used for 16 bit devices, config is used */
|
||||
- sprintf(e, "%04X %04X %04X ",
|
||||
+ snprintf(m, sizeof(m), "%04X %04X %04X ",
|
||||
state.device.id_location,
|
||||
i_memory_get(state.i_memory, state.device.id_location) & 0xffff,
|
||||
i_memory_get(state.i_memory,
|
||||
state.device.id_location + 1) & 0xffff);
|
||||
- e += strlen(e);
|
||||
break;
|
||||
case insn:
|
||||
- sprintf(e, "%04X ", state.lst.line.was_org << _16bit_core);
|
||||
- e += strlen(e);
|
||||
+ snprintf(m, sizeof(m), "%04X ", state.lst.line.was_org << _16bit_core);
|
||||
emitted = state.org - state.lst.line.was_org;
|
||||
- if (emitted >= 1)
|
||||
- sprintf(e, "%04X ", i_memory_get(state.i_memory,
|
||||
+ if (emitted >= 1) {
|
||||
+ snprintf(buf, sizeof(buf), "%04X ", i_memory_get(state.i_memory,
|
||||
state.lst.line.was_org) & 0xffff);
|
||||
- else
|
||||
- sprintf(e, " ");
|
||||
- e += strlen(e);
|
||||
- if (emitted >= 2)
|
||||
- sprintf(e, "%04X ", i_memory_get(state.i_memory,
|
||||
+ strlcat(m, buf, sizeof(m));
|
||||
+ } else
|
||||
+ strlcat(m, " ", sizeof(m));
|
||||
+ if (emitted >= 2) {
|
||||
+ snprintf(buf, sizeof(buf), "%04X ", i_memory_get(state.i_memory,
|
||||
state.lst.line.was_org + 1) & 0xffff);
|
||||
- else
|
||||
- sprintf(e, " ");
|
||||
- e += strlen(e);
|
||||
+ strlcat(m, buf, sizeof(buf));
|
||||
+ } else
|
||||
+ strlcat(m, " ", sizeof(m));
|
||||
break;
|
||||
case config:
|
||||
if(_16bit_core) {
|
||||
@@ -247,33 +236,28 @@ void lst_format_line(char *src_line, int
|
||||
words in the list file. */
|
||||
if (state.lst.config_address == CONFIG4L) {
|
||||
/* Special case */
|
||||
- sprintf(e, "%06X %04X ",
|
||||
+ snprintf(m, sizeof(m), "%06X %04X ",
|
||||
state.lst.config_address,
|
||||
i_memory_get(state.i_memory,
|
||||
state.lst.config_address >> 1) & 0xffff);
|
||||
- e += strlen(e);
|
||||
} else if((state.lst.config_address & 0x1) == 0) {
|
||||
/* if it is an even address don't print anything */
|
||||
- strcpy(e, " ");
|
||||
- e += 15;
|
||||
+ strlcpy(m, " ", sizeof(m));
|
||||
} else {
|
||||
- sprintf(e, "%06X %04X ",
|
||||
+ snprintf(m, sizeof(m), "%06X %04X ",
|
||||
state.lst.config_address - 1,
|
||||
i_memory_get(state.i_memory,
|
||||
(state.lst.config_address - 1) >> 1) & 0xffff);
|
||||
- e += strlen(e);
|
||||
}
|
||||
} else {
|
||||
- sprintf(e, "%06X %04X ",
|
||||
+ snprintf(m, sizeof(m), "%06X %04X ",
|
||||
state.lst.config_address,
|
||||
i_memory_get(state.i_memory,
|
||||
state.lst.config_address) & 0xffff);
|
||||
- e += strlen(e);
|
||||
}
|
||||
break;
|
||||
case res:
|
||||
- strcpy(e, " ");
|
||||
- e += 15;
|
||||
+ strlcpy(m, " ", sizeof(m));
|
||||
if (SECTION_FLAGS & STYP_TEXT) {
|
||||
/* generate line numbers for res directives in program memory */
|
||||
emitted = state.org - state.lst.line.was_org;
|
||||
@@ -283,22 +267,22 @@ void lst_format_line(char *src_line, int
|
||||
case dir:
|
||||
case none:
|
||||
default:
|
||||
- strcpy(e, " ");
|
||||
- e += 15;
|
||||
+ strlcpy(m, " ", sizeof(m));
|
||||
break;
|
||||
}
|
||||
|
||||
if (state.stGlobal == state.stTop) {
|
||||
- sprintf(e, "%05d ", state.src->line_number);
|
||||
+ snprintf(buf, sizeof(buf), "%05d ", state.src->line_number);
|
||||
} else {
|
||||
- sprintf(e, " M ");
|
||||
+ snprintf(buf, sizeof(buf), " M ");
|
||||
}
|
||||
- e += strlen(e);
|
||||
+ strlcat(m, buf, sizeof(m));
|
||||
|
||||
/* Now copy 'l' to 'e', expanding tabs as required */
|
||||
{
|
||||
int column = 0;
|
||||
char *old;
|
||||
+ char *e = m + strlen(m);
|
||||
|
||||
old = src_line;
|
||||
|
||||
@@ -335,7 +319,7 @@ void lst_format_line(char *src_line, int
|
||||
#endif
|
||||
|
||||
if (state.lst.line.linetype == idlocs) {
|
||||
- sprintf(m, " %04X %04X ",
|
||||
+ snprintf(m, sizeof(m), " %04X %04X ",
|
||||
i_memory_get(state.i_memory,
|
||||
state.device.id_location + 2) & 0xffff,
|
||||
i_memory_get(state.i_memory,
|
||||
@@ -348,14 +332,14 @@ void lst_format_line(char *src_line, int
|
||||
|
||||
for (i = 2; i < emitted; i += 2) {
|
||||
if ((i + 1) < emitted)
|
||||
- sprintf(m, "%04X %04X %04X",
|
||||
+ snprintf(m, sizeof(m), "%04X %04X %04X",
|
||||
((state.lst.line.was_org + i) << _16bit_core),
|
||||
i_memory_get(state.i_memory,
|
||||
state.lst.line.was_org + i) & 0xffff,
|
||||
i_memory_get(state.i_memory,
|
||||
state.lst.line.was_org + i + 1) & 0xffff);
|
||||
else
|
||||
- sprintf(m, "%04X %04X",
|
||||
+ snprintf(m, sizeof(m), "%04X %04X",
|
||||
((state.lst.line.was_org + i) << _16bit_core),
|
||||
i_memory_get(state.i_memory,
|
||||
state.lst.line.was_org + i) & 0xffff);
|
||||
@@ -376,7 +360,7 @@ void lst_symbol_table(struct symbol_tabl
|
||||
char buf[BUFSIZ];
|
||||
|
||||
lst_line("SYMBOL TABLE");
|
||||
- sprintf(buf, "%-32s %-8s", " LABEL", " VALUE");
|
||||
+ snprintf(buf, sizeof(buf), "%-32s %-8s", " LABEL", " VALUE");
|
||||
lst_line(buf);
|
||||
lst_line("");
|
||||
|
||||
@@ -394,7 +378,7 @@ void lst_symbol_table(struct symbol_tabl
|
||||
struct variable *var;
|
||||
|
||||
var = get_symbol_annotation(lst[i]);
|
||||
- sprintf(buf,
|
||||
+ snprintf(buf, sizeof(buf),
|
||||
symbol_format,
|
||||
get_symbol_name(lst[i]),
|
||||
var ? var->value : 0);
|
||||
@@ -424,7 +408,7 @@ void lst_defines_table(struct symbol_tab
|
||||
char *defined_as;
|
||||
|
||||
defined_as = get_symbol_annotation(lst[i]);
|
||||
- sprintf(buf,
|
||||
+ snprintf(buf, sizeof(buf),
|
||||
symbol_format,
|
||||
get_symbol_name(lst[i]),
|
||||
defined_as);
|
53
devel/gputils/patches/patch-gpasm_macro_c
Normal file
53
devel/gputils/patches/patch-gpasm_macro_c
Normal file
@ -0,0 +1,53 @@
|
||||
$OpenBSD: patch-gpasm_macro_c,v 1.1.1.1 2003/11/03 01:02:35 naddy Exp $
|
||||
--- gpasm/macro.c.orig 2003-10-14 21:24:34.000000000 +1000
|
||||
+++ gpasm/macro.c 2003-10-14 21:27:13.000000000 +1000
|
||||
@@ -59,15 +59,15 @@ void setup_macro(struct macro_head *h, i
|
||||
if (pToH->tag == symbol) {
|
||||
annotate_symbol(sym, strdup(pToH->value.symbol));
|
||||
} else if (pToH->tag == string) {
|
||||
- sprintf(buffer, "\"%s\"", pToH->value.string);
|
||||
+ snprintf(buffer, sizeof(buffer), "\"%s\"", pToH->value.string);
|
||||
annotate_symbol(sym, strdup(buffer));
|
||||
} else {
|
||||
int value = maybe_evaluate(pToH);
|
||||
|
||||
if (value < 0)
|
||||
- sprintf(buffer, "-%#x", -value);
|
||||
+ snprintf(buffer, sizeof(buffer), "-%#x", -value);
|
||||
else
|
||||
- sprintf(buffer, "%#x", value);
|
||||
+ snprintf(buffer, sizeof(buffer), "%#x", value);
|
||||
annotate_symbol(sym, strdup(buffer));
|
||||
}
|
||||
|
||||
@@ -83,12 +83,12 @@ void setup_macro(struct macro_head *h, i
|
||||
|
||||
/* Copy the macro body to a buffer. */
|
||||
|
||||
-void copy_macro_body(struct macro_body *b, char *buffer)
|
||||
+void copy_macro_body(struct macro_body *b, char *buffer, size_t sizeof_buffer)
|
||||
{
|
||||
while (b) {
|
||||
if (b->src_line != NULL) {
|
||||
- strcat(buffer, b->src_line);
|
||||
- strcat(buffer, "\n");
|
||||
+ strlcat(buffer, b->src_line, sizeof_buffer);
|
||||
+ strlcat(buffer, "\n", sizeof_buffer);
|
||||
}
|
||||
b = b->next;
|
||||
}
|
||||
@@ -118,10 +118,10 @@ make_macro_buffer(struct macro_head *h)
|
||||
|
||||
/* Allocate memory for the new buffer. yy_delete_buffer frees it */
|
||||
macro_src = (char *)calloc(sizeof(char), macro_src_size);
|
||||
- macro_src[0] = '\0';
|
||||
-
|
||||
- /* build the string to be scanned */
|
||||
- copy_macro_body(h->body, macro_src);
|
||||
+ if (macro_src) {
|
||||
+ /* build the string to be scanned */
|
||||
+ copy_macro_body(h->body, macro_src, macro_src_size);
|
||||
+ }
|
||||
|
||||
return macro_src;
|
||||
}
|
12
devel/gputils/patches/patch-gpasm_parse_c
Normal file
12
devel/gputils/patches/patch-gpasm_parse_c
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-gpasm_parse_c,v 1.1.1.1 2003/11/03 01:02:35 naddy Exp $
|
||||
--- gpasm/parse.c.orig 2003-05-06 05:14:46.000000000 +1000
|
||||
+++ gpasm/parse.c 2003-10-14 23:17:54.000000000 +1000
|
||||
@@ -1369,7 +1369,7 @@ case 9:
|
||||
/* Outside a macro, just define the label. */
|
||||
switch (state.lst.line.linetype) {
|
||||
case sec:
|
||||
- strncpy(state.obj.new_sec_name, yyvsp[-1].s, 78);
|
||||
+ strlcpy(state.obj.new_sec_name, yyvsp[-1].s, sizeof(state.obj.new_sec_name));
|
||||
break;
|
||||
case set:
|
||||
set_global(yyvsp[-1].s, yyvsp[0].i, TEMPORARY, gvt_constant);
|
54
devel/gputils/patches/patch-gpasm_scan_l
Normal file
54
devel/gputils/patches/patch-gpasm_scan_l
Normal file
@ -0,0 +1,54 @@
|
||||
$OpenBSD: patch-gpasm_scan_l,v 1.1.1.1 2003/11/03 01:02:35 naddy Exp $
|
||||
--- gpasm/scan.l.orig 2003-10-19 01:28:50.000000000 +1000
|
||||
+++ gpasm/scan.l 2003-10-19 01:31:11.000000000 +1000
|
||||
@@ -83,8 +83,7 @@ end {
|
||||
<title>[^<"\r\n]*[>"]? { /* got the title text */
|
||||
#define LEN sizeof(state.lst.title_name)
|
||||
yytext[yyleng - 1] = '\0';
|
||||
- strncpy(state.lst.title_name, yytext, LEN - 1);
|
||||
- state.lst.title_name[LEN - 1] = '\0';
|
||||
+ strlcpy(state.lst.title_name, yytext, LEN);
|
||||
BEGIN(INITIAL);
|
||||
#undef LEN
|
||||
}
|
||||
@@ -94,8 +93,7 @@ end {
|
||||
<subtitle>[^<"\r\n]*[>"]? { /* got the subtitle text */
|
||||
#define LEN sizeof(state.lst.subtitle_name)
|
||||
yytext[yyleng - 1] = '\0';
|
||||
- strncpy(state.lst.subtitle_name, yytext, LEN - 1);
|
||||
- state.lst.subtitle_name[LEN - 1] = '\0';
|
||||
+ strlcpy(state.lst.subtitle_name, yytext, LEN);
|
||||
BEGIN(INITIAL);
|
||||
#undef LEN
|
||||
}
|
||||
@@ -297,7 +295,7 @@ list {
|
||||
that way it won't be a label */
|
||||
buffer[0] = ' ';
|
||||
buffer[1] = '\0';
|
||||
- strcat(buffer, subst);
|
||||
+ strlcat(buffer, subst, sizeof(buffer));
|
||||
push_string(buffer);
|
||||
}
|
||||
} else {
|
||||
@@ -459,9 +457,9 @@ search_pathes(struct source_context *new
|
||||
int i;
|
||||
|
||||
for(i = 0; i < state.path_num; i++) {
|
||||
- strcpy(tryname, state.paths[i]);
|
||||
- strcat(tryname, COPY_CHAR);
|
||||
- strcat(tryname, name);
|
||||
+ strlcpy(tryname, state.paths[i], sizeof(tryname));
|
||||
+ strlcat(tryname, COPY_CHAR, sizeof(tryname));
|
||||
+ strlcat(tryname, name, sizeof(tryname));
|
||||
new->f = fopen(tryname, "rt");
|
||||
if(new->f) {
|
||||
new->name = strdup(tryname);
|
||||
@@ -507,7 +505,7 @@ void open_src(char *name, int isinclude)
|
||||
if (state.src) {
|
||||
char complaint[BUFSIZ];
|
||||
|
||||
- sprintf(complaint,
|
||||
+ snprintf(complaint, sizeof(complaint),
|
||||
"Unable to open file \"%s\" - %s",
|
||||
name,
|
||||
strerror(errno));
|
@ -0,0 +1,18 @@
|
||||
$OpenBSD: patch-gpasm_testsuite_gpasm_old_testall,v 1.1.1.1 2003/11/03 01:02:35 naddy Exp $
|
||||
--- gpasm/testsuite/gpasm.old/testall.orig 2003-10-19 01:50:35.000000000 +1000
|
||||
+++ gpasm/testsuite/gpasm.old/testall 2003-10-19 01:51:06.000000000 +1000
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#! /bin/sh
|
||||
|
||||
# testall tests gpasm, these are older tests
|
||||
# Copyright (C) 2001 Craig Franklin
|
||||
@@ -37,7 +37,7 @@ fi
|
||||
case "$1" in
|
||||
|
||||
all)
|
||||
- if !(test -e $GPASM); then
|
||||
+ if ! test -e $GPASM; then
|
||||
echo "$GPASM not found. Aborting."
|
||||
exit 1
|
||||
else
|
88
devel/gputils/patches/patch-gpasm_testsuite_test
Normal file
88
devel/gputils/patches/patch-gpasm_testsuite_test
Normal file
@ -0,0 +1,88 @@
|
||||
$OpenBSD: patch-gpasm_testsuite_test,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- gpasm/testsuite/test.orig 2003-03-14 17:44:49.000000000 +1100
|
||||
+++ gpasm/testsuite/test 2003-10-19 20:15:57.000000000 +1000
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#! /bin/sh
|
||||
|
||||
# test tests gpasm
|
||||
# Copyright (C) 2001, 2002, 2003
|
||||
@@ -48,7 +48,7 @@ binexists() {
|
||||
return 1
|
||||
fi
|
||||
echo "testing for $1"
|
||||
- if !(test -e $1); then
|
||||
+ if ! test -e $1; then
|
||||
echo "$1 not found. Aborting."
|
||||
return 1
|
||||
else
|
||||
@@ -106,7 +106,7 @@ test_gpasm_sub() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
- if !(test -d $1); then
|
||||
+ if ! test -d $1; then
|
||||
echo "$1 not found. Aborting."
|
||||
return 1
|
||||
fi
|
||||
@@ -123,11 +123,11 @@ test_gpasm_sub() {
|
||||
# create the test directory if it doesn't already exist
|
||||
test -d $TESTDIR || mkdir $TESTDIR || exit 1
|
||||
cd $TESTDIR
|
||||
- rm -f *.asm
|
||||
+ rm -f *.{asm,inc}
|
||||
cp ../asmfiles/* .
|
||||
|
||||
# test all of the asm files
|
||||
- for x in `ls *.asm`
|
||||
+ for x in `ls *.asm | sort`
|
||||
do
|
||||
# split the base file name from the extension
|
||||
for basefilename in `echo $x | tr -s "." " "`
|
||||
@@ -176,9 +176,9 @@ test_gpasm_sub() {
|
||||
echo "$errortested files tested with intentional errors"
|
||||
echo "$notcompiled generated errors during compilation"
|
||||
echo
|
||||
- if !(test $tested=$passed); then
|
||||
+ if ! test $tested=$passed; then
|
||||
return 1
|
||||
- elif !(test $errrortested=$notcompiled); then
|
||||
+ elif ! test $errrortested=$notcompiled; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
@@ -199,7 +199,7 @@ test_gpasm_obj() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
- if !(test -d $1); then
|
||||
+ if ! test -d $1; then
|
||||
echo "$1 not found. Aborting."
|
||||
return 1
|
||||
fi
|
||||
@@ -216,11 +216,11 @@ test_gpasm_obj() {
|
||||
# create the test directory if it doesn't already exist
|
||||
test -d $TESTDIR || mkdir $TESTDIR || exit 1
|
||||
cd $TESTDIR
|
||||
- rm -f *.asm
|
||||
+ rm -f *.{asm,inc}
|
||||
cp ../objasm/* .
|
||||
|
||||
# test all of the asm files
|
||||
- for x in `ls *.asm`
|
||||
+ for x in `ls *.asm | sort`
|
||||
do
|
||||
# split the base file name from the extension
|
||||
for basefilename in `echo $x | tr -s "." " "`
|
||||
@@ -271,9 +271,9 @@ test_gpasm_obj() {
|
||||
echo "$errortested files tested with intentional errors"
|
||||
echo "$notcompiled generated errors during compilation"
|
||||
echo
|
||||
- if !(test $tested=$passed); then
|
||||
+ if ! test $tested=$passed; then
|
||||
return 1
|
||||
- elif !(test $errrortested=$notcompiled); then
|
||||
+ elif ! test $errrortested=$notcompiled; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
30
devel/gputils/patches/patch-gpasm_util_c
Normal file
30
devel/gputils/patches/patch-gpasm_util_c
Normal file
@ -0,0 +1,30 @@
|
||||
$OpenBSD: patch-gpasm_util_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- gpasm/util.c.orig 2003-05-11 03:55:55.000000000 +1000
|
||||
+++ gpasm/util.c 2003-10-14 23:16:18.000000000 +1000
|
||||
@@ -39,7 +39,7 @@ stringtolong(char *string, int radix)
|
||||
if ((endptr == NULL) || (*endptr != '\0')) {
|
||||
char complaint[80];
|
||||
|
||||
- sprintf(complaint,
|
||||
+ snprintf(complaint, sizeof(complaint),
|
||||
isprint(*endptr) ?
|
||||
"Illegal character '%c' in numeric constant " :
|
||||
"Illegal character %#x in numeric constant" ,
|
||||
@@ -120,7 +120,7 @@ convert_escape_chars(char *ps, int *valu
|
||||
ps[2] = '\0';
|
||||
ps += 2;
|
||||
} else {
|
||||
- strncpy(buffer, &ps[2], 2);
|
||||
+ strlcpy(buffer, &ps[2], sizeof(buffer));
|
||||
*value = stringtolong(buffer, 16);
|
||||
ps += 4;
|
||||
}
|
||||
@@ -186,7 +186,7 @@ void set_global(char *name,
|
||||
if (var->value != value) {
|
||||
char message[BUFSIZ];
|
||||
|
||||
- sprintf(message,
|
||||
+ snprintf(message, sizeof(message),
|
||||
"Value of symbol \"%s\" differs on second pass\n pass 1=%d, pass 2=%d",
|
||||
name,var->value,value);
|
||||
gperror(GPE_DIFFLAB, message);
|
14
devel/gputils/patches/patch-gplink_cod_c
Normal file
14
devel/gputils/patches/patch-gplink_cod_c
Normal file
@ -0,0 +1,14 @@
|
||||
$OpenBSD: patch-gplink_cod_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- gplink/cod.c.orig 2003-10-14 21:43:06.000000000 +1000
|
||||
+++ gplink/cod.c 2003-10-14 21:43:39.000000000 +1000
|
||||
@@ -78,8 +78,8 @@ cod_init(void)
|
||||
{
|
||||
|
||||
if (state.codfile != named) {
|
||||
- strcpy(state.codfilename, state.basefilename);
|
||||
- strcat(state.codfilename, ".cod");
|
||||
+ strlcpy(state.codfilename, state.basefilename, sizeof(state.codfilename));
|
||||
+ strlcat(state.codfilename, ".cod", sizeof(state.codfilename));
|
||||
}
|
||||
|
||||
if (state.codfile == suppress) {
|
79
devel/gputils/patches/patch-gplink_gplink_c
Normal file
79
devel/gputils/patches/patch-gplink_gplink_c
Normal file
@ -0,0 +1,79 @@
|
||||
$OpenBSD: patch-gplink_gplink_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- gplink/gplink.c.orig 2003-10-14 21:43:55.000000000 +1000
|
||||
+++ gplink/gplink.c 2003-10-14 21:50:19.000000000 +1000
|
||||
@@ -264,7 +264,7 @@ void gplink_open_coff(char *name)
|
||||
FILE *coff;
|
||||
char file_name[BUFSIZ];
|
||||
|
||||
- strcpy(file_name, name);
|
||||
+ strlcpy(file_name, name, sizeof(file_name));
|
||||
|
||||
coff = fopen(file_name, "rb");
|
||||
if ((coff == NULL) && (strchr(file_name, PATH_CHAR) == 0)) {
|
||||
@@ -272,9 +272,9 @@ void gplink_open_coff(char *name)
|
||||
int i;
|
||||
|
||||
for(i = 0; i < state.numpaths; i++) {
|
||||
- strcpy(file_name, state.paths[i]);
|
||||
- strcat(file_name, COPY_CHAR);
|
||||
- strcat(file_name, name);
|
||||
+ strlcpy(file_name, state.paths[i], sizeof(file_name));
|
||||
+ strlcat(file_name, COPY_CHAR, sizeof(file_name));
|
||||
+ strlcat(file_name, name, sizeof(file_name));
|
||||
coff = fopen(file_name, "rb");
|
||||
if (coff != NULL) {
|
||||
break;
|
||||
@@ -446,7 +446,7 @@ int main(int argc, char *argv[])
|
||||
state.mapfile = normal;
|
||||
break;
|
||||
case 'o':
|
||||
- strcpy(state.basefilename, optarg);
|
||||
+ strlcpy(state.basefilename, optarg, sizeof(state.basefilename));
|
||||
pc = strrchr(state.basefilename, '.');
|
||||
if (pc)
|
||||
*pc = 0;
|
||||
@@ -478,18 +478,18 @@ int main(int argc, char *argv[])
|
||||
|
||||
if(state.basefilename[0] == '\0') {
|
||||
/* set default output filename to be a.o, a.hex, a.cod, a.map */
|
||||
- strcpy(state.basefilename, "a");
|
||||
+ strlcpy(state.basefilename, "a", sizeof(state.basefilename));
|
||||
}
|
||||
|
||||
/* setup output filenames */
|
||||
- strcpy(state.codfilename, state.basefilename);
|
||||
- strcat(state.codfilename, ".cod");
|
||||
- strcpy(state.hexfilename, state.basefilename);
|
||||
- strcat(state.hexfilename, ".hex");
|
||||
- strcpy(state.mapfilename, state.basefilename);
|
||||
- strcat(state.mapfilename, ".map");
|
||||
- strcpy(state.objfilename, state.basefilename);
|
||||
- strcat(state.objfilename, ".cof");
|
||||
+ strlcpy(state.codfilename, state.basefilename, sizeof(state.codfilename));
|
||||
+ strlcat(state.codfilename, ".cod", sizeof(state.codfilename));
|
||||
+ strlcpy(state.hexfilename, state.basefilename, sizeof(state.hexfilename));
|
||||
+ strlcat(state.hexfilename, ".hex", sizeof(state.hexfilename));
|
||||
+ strlcpy(state.mapfilename, state.basefilename, sizeof(state.mapfilename));
|
||||
+ strlcat(state.mapfilename, ".map", sizeof(state.mapfilename));
|
||||
+ strlcpy(state.objfilename, state.basefilename, sizeof(state.objfilename));
|
||||
+ strlcat(state.objfilename, ".cof", sizeof(state.objfilename));
|
||||
|
||||
/* Open all objects and archives in the file list. */
|
||||
for ( ; optind < argc; optind++) {
|
||||
@@ -514,12 +514,12 @@ int main(int argc, char *argv[])
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
#ifdef HAVE_DOS_BASED_FILE_SYSTEM
|
||||
- strcpy(file_name, DOS_LKR_PATH);
|
||||
+ strlcpy(file_name, DOS_LKR_PATH, sizeof(file_name));
|
||||
#else
|
||||
- strcpy(file_name, GPLINK_LKR_PATH);
|
||||
+ strlcpy(file_name, GPLINK_LKR_PATH, sizeof(file_name));
|
||||
#endif
|
||||
- strcat(file_name, COPY_CHAR);
|
||||
- strcat(file_name, script_name);
|
||||
+ strlcat(file_name, COPY_CHAR, sizeof(file_name));
|
||||
+ strlcat(file_name, script_name, sizeof(file_name));
|
||||
gp_message("using default linker script \"%s\"", file_name);
|
||||
open_src(file_name, 0);
|
||||
yyparse();
|
21
devel/gputils/patches/patch-gplink_map_c
Normal file
21
devel/gputils/patches/patch-gplink_map_c
Normal file
@ -0,0 +1,21 @@
|
||||
$OpenBSD: patch-gplink_map_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- gplink/map.c.orig 2003-07-25 12:13:07.000000000 +1000
|
||||
+++ gplink/map.c 2003-10-14 23:57:41.000000000 +1000
|
||||
@@ -44,7 +44,7 @@ map_line(const char *format, ...)
|
||||
return;
|
||||
|
||||
va_start(args, format);
|
||||
- vsprintf(buffer, format, args);
|
||||
+ vsnprintf(buffer, sizeof(buffer), format, args);
|
||||
va_end(args);
|
||||
|
||||
fprintf(state.map.f, "%s\n", buffer);
|
||||
@@ -249,7 +249,7 @@ make_map(void)
|
||||
}
|
||||
|
||||
/* Determine start date */
|
||||
- gp_date_string(state.map.startdate);
|
||||
+ gp_date_string(state.map.startdate, sizeof(state.map.startdate));
|
||||
|
||||
map_line("%s", GPLINK_VERSION_STRING);
|
||||
map_line("Map File - Created %s", state.map.startdate);
|
25
devel/gputils/patches/patch-gplink_scan_l
Normal file
25
devel/gputils/patches/patch-gplink_scan_l
Normal file
@ -0,0 +1,25 @@
|
||||
$OpenBSD: patch-gplink_scan_l,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- gplink/scan.l.orig 2003-10-19 21:16:00.000000000 +1000
|
||||
+++ gplink/scan.l 2003-10-19 21:16:51.000000000 +1000
|
||||
@@ -88,7 +88,7 @@ static void bad_char(char *character)
|
||||
{
|
||||
char complaint[80];
|
||||
|
||||
- sprintf(complaint,
|
||||
+ snprintf(complaint, sizeof(complaint),
|
||||
isprint(*character) ?
|
||||
"Illegal character '%c' in numeric constant" :
|
||||
"Illegal character %#x in numeric constant",
|
||||
@@ -115,9 +115,9 @@ void open_src(char *name, int isinclude)
|
||||
int i;
|
||||
|
||||
for(i = 0; i < state.numpaths; i++) {
|
||||
- strcpy(tryname, state.paths[i]);
|
||||
- strcat(tryname, COPY_CHAR);
|
||||
- strcat(tryname, name);
|
||||
+ strlcpy(tryname, state.paths[i], sizeof(tryname));
|
||||
+ strlcat(tryname, COPY_CHAR, sizeof(tryname));
|
||||
+ strlcat(tryname, name, sizeof(tryname));
|
||||
new->f = fopen(tryname, "rt");
|
||||
if(new->f) {
|
||||
new->name = strdup(tryname);
|
18
devel/gputils/patches/patch-gputils_dump_c
Normal file
18
devel/gputils/patches/patch-gputils_dump_c
Normal file
@ -0,0 +1,18 @@
|
||||
$OpenBSD: patch-gputils_dump_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- gputils/dump.c.orig 2003-10-14 21:56:07.000000000 +1000
|
||||
+++ gputils/dump.c 2003-10-14 22:16:52.000000000 +1000
|
||||
@@ -336,9 +336,11 @@ void dump_source_files( void )
|
||||
substr(b,&temp[offset+1],FILE_SIZE);
|
||||
|
||||
if(temp[offset]) {
|
||||
- source_file_names[number_of_source_files] =
|
||||
- (char *)malloc(strlen(b) + 1);
|
||||
- strcpy(source_file_names[number_of_source_files],b);
|
||||
+ source_file_names[number_of_source_files] = strdup(b);
|
||||
+ if (!source_file_names[number_of_source_files]) {
|
||||
+ err(1, NULL);
|
||||
+ exit(1);
|
||||
+ }
|
||||
printf("%s\n",source_file_names[number_of_source_files]);
|
||||
source_files[number_of_source_files] =
|
||||
fopen(source_file_names[number_of_source_files],"rt");
|
12
devel/gputils/patches/patch-gputils_gpdasm_c
Normal file
12
devel/gputils/patches/patch-gputils_gpdasm_c
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-gputils_gpdasm_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- gputils/gpdasm.c.orig 2003-10-14 22:31:20.000000000 +1000
|
||||
+++ gputils/gpdasm.c 2003-10-14 22:31:45.000000000 +1000
|
||||
@@ -131,7 +131,7 @@ void dasm(MemBlock *memory)
|
||||
} else {
|
||||
printf(" ");
|
||||
}
|
||||
- gp_disassemble(memory, &i, state.class, buffer);
|
||||
+ gp_disassemble(memory, &i, state.class, buffer, sizeof(buffer));
|
||||
printf("%s\n", buffer);
|
||||
if (i != lastloc) {
|
||||
/* some 18xx instructions use two words */
|
12
devel/gputils/patches/patch-gputils_gpvc_c
Normal file
12
devel/gputils/patches/patch-gputils_gpvc_c
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-gputils_gpvc_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- gputils/gpvc.c.orig 2003-10-14 22:17:16.000000000 +1000
|
||||
+++ gputils/gpvc.c 2003-10-14 22:17:59.000000000 +1000
|
||||
@@ -168,7 +168,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
if ((optind + 1) == argc)
|
||||
- strcpy(filename, argv[optind]);
|
||||
+ strlcpy(filename, argv[optind], sizeof(filename));
|
||||
else
|
||||
usage = 1;
|
||||
|
12
devel/gputils/patches/patch-gputils_gpvo_c
Normal file
12
devel/gputils/patches/patch-gputils_gpvo_c
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-gputils_gpvo_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- gputils/gpvo.c.orig 2003-10-14 22:32:11.000000000 +1000
|
||||
+++ gputils/gpvo.c 2003-10-14 22:32:32.000000000 +1000
|
||||
@@ -132,7 +132,7 @@ void print_data(enum proc_class class, M
|
||||
break;
|
||||
|
||||
if (disassemble)
|
||||
- gp_disassemble(data, &org, class, buffer);
|
||||
+ gp_disassemble(data, &org, class, buffer, sizeof(buffer));
|
||||
|
||||
printf("%06x: %04x %s\n", org << byte_addr, memory & 0xffff, buffer);
|
||||
org++;
|
12
devel/gputils/patches/patch-include_stdhdr_h
Normal file
12
devel/gputils/patches/patch-include_stdhdr_h
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-include_stdhdr_h,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- include/stdhdr.h.orig 2003-10-14 20:22:25.000000000 +1000
|
||||
+++ include/stdhdr.h 2003-10-14 20:23:01.000000000 +1000
|
||||
@@ -43,7 +43,7 @@ Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "getopt.h"
|
||||
|
||||
-#ifdef HAVE_MALLOC_H
|
||||
+#if defined(HAVE_MALLOC_H) && !defined(HAVE_STDLIB_H)
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
|
113
devel/gputils/patches/patch-libgputils_gparchive_c
Normal file
113
devel/gputils/patches/patch-libgputils_gparchive_c
Normal file
@ -0,0 +1,113 @@
|
||||
$OpenBSD: patch-libgputils_gparchive_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gparchive.c.orig 2003-03-31 16:49:39.000000000 +1000
|
||||
+++ libgputils/gparchive.c 2003-10-14 23:08:45.000000000 +1000
|
||||
@@ -50,7 +50,7 @@ gp_archive_member_name(gp_archive_type *
|
||||
char name[256];
|
||||
char *end;
|
||||
|
||||
- sscanf(archive->header.ar_name, "%s/", name);
|
||||
+ sscanf(archive->header.ar_name, "%256s/", name);
|
||||
end = strchr(&name[0], '/');
|
||||
if (end != NULL)
|
||||
*end = '\0';
|
||||
@@ -73,7 +73,7 @@ gp_archive_list_members(gp_archive_type
|
||||
archive = archive->next;
|
||||
|
||||
while (archive != NULL) {
|
||||
- sscanf(archive->header.ar_name, "%s/", name);
|
||||
+ sscanf(archive->header.ar_name, "%256s/", name);
|
||||
sscanf(archive->header.ar_date, "%il", &date);
|
||||
sscanf(archive->header.ar_size, "%il", &size);
|
||||
end = strchr(&name[0], '/');
|
||||
@@ -99,7 +99,7 @@ gp_archive_find_member(gp_archive_type *
|
||||
archive = archive->next;
|
||||
|
||||
while (archive != NULL) {
|
||||
- sscanf(archive->header.ar_name, "%s/", name);
|
||||
+ sscanf(archive->header.ar_name, "%256s/", name);
|
||||
end = strrchr(&name[0], '/');
|
||||
if (end != NULL)
|
||||
*end = '\0';
|
||||
@@ -182,16 +182,16 @@ gp_archive_add_member(gp_archive_type *a
|
||||
|
||||
timer = (int)time(NULL);
|
||||
|
||||
- sprintf(name, "%s/", objectname);
|
||||
- sprintf(date, "%il", timer);
|
||||
- sprintf(size, "%lil", newobject->size);
|
||||
+ snprintf(name, sizeof(name), "%s/", objectname);
|
||||
+ snprintf(date, sizeof(date), "%il", timer);
|
||||
+ snprintf(size, sizeof(size), "%lil", newobject->size);
|
||||
|
||||
/* FIXME: These functions over right the 0x20 that the header is filled
|
||||
with. */
|
||||
- strncpy(&newmember->header.ar_name[0], &name[0], 256);
|
||||
- strncpy(&newmember->header.ar_date[0], &date[0], 12);
|
||||
- strncpy(&newmember->header.ar_size[0], &size[0], 10);
|
||||
- strncpy(&newmember->header.ar_fmag[0], ARMAG, 2);
|
||||
+ strlcpy(newmember->header.ar_name, &name[0], sizeof(newmember->header.ar_name));
|
||||
+ strlcpy(newmember->header.ar_date, &date[0], sizeof(newmember->header.ar_date));
|
||||
+ strlcpy(newmember->header.ar_size, &size[0], sizeof(newmember->header.ar_size));
|
||||
+ strlcpy(newmember->header.ar_fmag, ARMAG, sizeof(newmember->header.ar_fmag));
|
||||
|
||||
oldmember = gp_archive_find_member(archive, objectname);
|
||||
|
||||
@@ -230,9 +230,9 @@ gp_archive_extract_member(gp_archive_typ
|
||||
/* if the object doesn't have an extension, add one. This is done for
|
||||
some libs generated with other tools. It should not be necessary
|
||||
for libs generated by gplib. */
|
||||
- strcpy(filename, objectname);
|
||||
+ strlcpy(filename, objectname, sizeof(filename));
|
||||
if (strrchr(filename, '.') == NULL)
|
||||
- strcat(filename, ".o");
|
||||
+ strlcat(filename, ".o", sizeof(filename));
|
||||
|
||||
output_file = fopen(filename, "wb");
|
||||
if (output_file == NULL) {
|
||||
@@ -412,7 +412,7 @@ gp_archive_make_index(gp_archive_type *a
|
||||
archive = archive->next;
|
||||
|
||||
while (archive != NULL) {
|
||||
- sscanf(archive->header.ar_name, "%s/", name);
|
||||
+ sscanf(archive->header.ar_name, "%256s/", name);
|
||||
end = strchr(&name[0], '/');
|
||||
if (end != NULL)
|
||||
*end = '\0';
|
||||
@@ -460,17 +460,25 @@ gp_archive_add_index(struct symbol_table
|
||||
|
||||
/* create a new member for the index and place it in the archive */
|
||||
newmember = (gp_archive_type *)malloc(sizeof(*newmember));
|
||||
+ if (!newmember) {
|
||||
+ err(1, NULL);
|
||||
+ exit(1);
|
||||
+ }
|
||||
newmember->file = (char *)malloc(sizeof(char)*indexsize);
|
||||
+ if(!newmember->file) {
|
||||
+ err(1, NULL);
|
||||
+ exit(1);
|
||||
+ }
|
||||
newmember->next = NULL;
|
||||
|
||||
/* fill in the archive header */
|
||||
memset(&newmember->header, 0x20, AR_HDR_SIZ); /* fill the header with space */
|
||||
|
||||
newmember->header.ar_name[0] = '/';
|
||||
- sprintf(size, "%lil", indexsize);
|
||||
+ snprintf(size, sizeof(size), "%lil", indexsize);
|
||||
|
||||
- strncpy(&newmember->header.ar_size[0], &size[0], 10);
|
||||
- strncpy(&newmember->header.ar_fmag[0], ARMAG, 2);
|
||||
+ strlcpy(newmember->header.ar_size, &size[0], sizeof(newmember->header.ar_size));
|
||||
+ strlcpy(newmember->header.ar_fmag, ARMAG, sizeof(newmember->header.ar_fmag));
|
||||
|
||||
newmember->next = archive;
|
||||
archive = newmember;
|
||||
@@ -601,7 +609,7 @@ gp_archive_print_table(struct symbol_tab
|
||||
member = get_symbol_annotation(lst[i]);
|
||||
assert(member != NULL);
|
||||
/* determine the archive member name */
|
||||
- sscanf(member->header.ar_name, "%s/", name);
|
||||
+ sscanf(member->header.ar_name, "%256s/", name);
|
||||
end = strchr(&name[0], '/');
|
||||
if (end != NULL)
|
||||
*end = '\0';
|
12
devel/gputils/patches/patch-libgputils_gpcoff_h
Normal file
12
devel/gputils/patches/patch-libgputils_gpcoff_h
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-libgputils_gpcoff_h,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpcoff.h.orig 2003-10-14 20:33:24.000000000 +1000
|
||||
+++ libgputils/gpcoff.h 2003-10-14 20:34:16.000000000 +1000
|
||||
@@ -568,7 +568,7 @@ typedef struct gp_object_type
|
||||
enum proc_class class;
|
||||
|
||||
/* time object was created */
|
||||
- long time;
|
||||
+ time_t time;
|
||||
|
||||
/* flags */
|
||||
unsigned short flags;
|
34
devel/gputils/patches/patch-libgputils_gpcofflink_c
Normal file
34
devel/gputils/patches/patch-libgputils_gpcofflink_c
Normal file
@ -0,0 +1,34 @@
|
||||
$OpenBSD: patch-libgputils_gpcofflink_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpcofflink.c.orig 2003-09-28 15:20:26.000000000 +1000
|
||||
+++ libgputils/gpcofflink.c 2003-10-19 01:24:55.000000000 +1000
|
||||
@@ -404,8 +404,8 @@ _create_rom_section(gp_object_type *obje
|
||||
int last;
|
||||
|
||||
/* create the new section */
|
||||
- strcpy(name, section->name);
|
||||
- strcat(name, "_i");
|
||||
+ strlcpy(name, section->name, sizeof(name));
|
||||
+ strlcat(name, "_i", sizeof(name));
|
||||
new = gp_coffgen_newsection(name);
|
||||
|
||||
/* select "retlw" instruction */
|
||||
@@ -536,8 +536,8 @@ gp_add_cinit_section(gp_object_type *obj
|
||||
while (section != NULL) {
|
||||
if (section->flags & STYP_DATA) {
|
||||
/* locate the rom table */
|
||||
- strcpy(prog_name, section->name);
|
||||
- strcat(prog_name, "_i");
|
||||
+ strlcpy(prog_name, section->name, sizeof(prog_name));
|
||||
+ strlcat(prog_name, "_i", sizeof(prog_name));
|
||||
prog_section = gp_coffgen_findsection(object,
|
||||
object->sections,
|
||||
prog_name);
|
||||
@@ -1038,7 +1038,7 @@ gp_cofflink_fill_pages(gp_object_type *o
|
||||
¤t_address,
|
||||
¤t_size);
|
||||
if (found == 1) {
|
||||
- sprintf(fill_name, ".fill_%i", fill_number++);
|
||||
+ snprintf(fill_name, sizeof(fill_name), ".fill_%i", fill_number++);
|
||||
gp_debug(" new section \"%s\" at %#x with size %#x and data %#x",
|
||||
fill_name,
|
||||
current_address,
|
95
devel/gputils/patches/patch-libgputils_gpdis_c
Normal file
95
devel/gputils/patches/patch-libgputils_gpdis_c
Normal file
@ -0,0 +1,95 @@
|
||||
$OpenBSD: patch-libgputils_gpdis_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpdis.c.orig 2003-03-14 17:44:51.000000000 +1100
|
||||
+++ libgputils/gpdis.c 2003-10-14 23:01:13.000000000 +1000
|
||||
@@ -22,30 +22,30 @@ Boston, MA 02111-1307, USA. */
|
||||
#include "stdhdr.h"
|
||||
#include "libgputils.h"
|
||||
|
||||
-#define DECODE_ARG0 sprintf(buffer, "%s", instruction->name)
|
||||
+#define DECODE_ARG0 snprintf(buffer, sizeof_buffer, "%s", instruction->name)
|
||||
|
||||
-#define DECODE_ARG1(ARG1) sprintf(buffer, "%s\t%#lx", \
|
||||
+#define DECODE_ARG1(ARG1) snprintf(buffer, sizeof_buffer, "%s\t%#lx", \
|
||||
instruction->name,\
|
||||
ARG1)
|
||||
|
||||
-#define DECODE_ARG1WF(ARG1, ARG2) sprintf(buffer, "%s\t%#lx, %s", \
|
||||
+#define DECODE_ARG1WF(ARG1, ARG2) snprintf(buffer, sizeof_buffer, "%s\t%#lx, %s", \
|
||||
instruction->name,\
|
||||
ARG1, \
|
||||
(ARG2 ? "f" : "w"))
|
||||
|
||||
-#define DECODE_ARG2(ARG1, ARG2) sprintf(buffer, "%s\t%#lx, %#lx", \
|
||||
+#define DECODE_ARG2(ARG1, ARG2) snprintf(buffer, sizeof_buffer, "%s\t%#lx, %#lx", \
|
||||
instruction->name,\
|
||||
ARG1, \
|
||||
ARG2)
|
||||
|
||||
-#define DECODE_ARG3(ARG1, ARG2, ARG3) sprintf(buffer, "%s\t%#lx, %#lx, %#lx", \
|
||||
+#define DECODE_ARG3(ARG1, ARG2, ARG3) snprintf(buffer, sizeof_buffer, "%s\t%#lx, %#lx, %#lx", \
|
||||
instruction->name,\
|
||||
ARG1, \
|
||||
ARG2, \
|
||||
ARG3)
|
||||
|
||||
void
|
||||
-gp_disassemble(MemBlock *m, int *org, enum proc_class class, char *buffer)
|
||||
+gp_disassemble(MemBlock *m, int *org, enum proc_class class, char *buffer, size_t sizeof_buffer)
|
||||
{
|
||||
int i;
|
||||
long int opcode;
|
||||
@@ -56,7 +56,7 @@ gp_disassemble(MemBlock *m, int *org, en
|
||||
switch (class) {
|
||||
case PROC_CLASS_EEPROM8:
|
||||
case PROC_CLASS_GENERIC:
|
||||
- sprintf(buffer, "unsupported processor class");
|
||||
+ snprintf(buffer, sizeof_buffer, "unsupported processor class");
|
||||
return;
|
||||
case PROC_CLASS_PIC12:
|
||||
for(i = 0; i < num_op_12c5xx; i++)
|
||||
@@ -88,7 +88,7 @@ gp_disassemble(MemBlock *m, int *org, en
|
||||
}
|
||||
|
||||
if (instruction == NULL) {
|
||||
- sprintf(buffer, "dw\t%#lx ;unknown opcode", opcode);
|
||||
+ snprintf(buffer, sizeof_buffer, "dw\t%#lx ;unknown opcode", opcode);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ gp_disassemble(MemBlock *m, int *org, en
|
||||
*org += 1;
|
||||
dest = (i_memory_get(m, *org) & 0xfff) << 8;
|
||||
dest |= opcode & 0xff;
|
||||
- sprintf(buffer, "%s\t%#lx, %#lx",
|
||||
+ snprintf(buffer, sizeof_buffer, "%s\t%#lx, %#lx",
|
||||
instruction->name,
|
||||
dest * 2,
|
||||
(opcode >> 8) & 1);
|
||||
@@ -227,22 +227,22 @@ gp_disassemble(MemBlock *m, int *org, en
|
||||
switch(opcode & 0x3)
|
||||
{
|
||||
case 0:
|
||||
- strcpy(operator, "*");
|
||||
+ strlcpy(operator, "*", sizeof(operator));
|
||||
break;
|
||||
case 1:
|
||||
- strcpy(operator, "*+");
|
||||
+ strlcpy(operator, "*+", sizeof(operator));
|
||||
break;
|
||||
case 2:
|
||||
- strcpy(operator, "*-");
|
||||
+ strlcpy(operator, "*-", sizeof(operator));
|
||||
break;
|
||||
case 3:
|
||||
- strcpy(operator, "+*");
|
||||
+ strlcpy(operator, "+*", sizeof(operator));
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
}
|
||||
|
||||
- sprintf(buffer, "%s\t%s", instruction->name, operator);
|
||||
+ snprintf(buffer, sizeof_buffer, "%s\t%s", instruction->name, operator);
|
||||
}
|
||||
break;
|
||||
case INSN_CLASS_TBL2:
|
11
devel/gputils/patches/patch-libgputils_gpdis_h
Normal file
11
devel/gputils/patches/patch-libgputils_gpdis_h
Normal file
@ -0,0 +1,11 @@
|
||||
$OpenBSD: patch-libgputils_gpdis_h,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpdis.h.orig 2003-10-14 22:30:40.000000000 +1000
|
||||
+++ libgputils/gpdis.h 2003-10-14 22:30:56.000000000 +1000
|
||||
@@ -22,6 +22,6 @@ Boston, MA 02111-1307, USA. */
|
||||
#ifndef __GPDIS_H__
|
||||
#define __GPDIS_H__
|
||||
|
||||
-void gp_disassemble(MemBlock *m, int *org, enum proc_class class, char *buffer);
|
||||
+void gp_disassemble(MemBlock *m, int *org, enum proc_class class, char *buffer, size_t sizeof_buffer);
|
||||
|
||||
#endif
|
12
devel/gputils/patches/patch-libgputils_gpmemory_c
Normal file
12
devel/gputils/patches/patch-libgputils_gpmemory_c
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-libgputils_gpmemory_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpmemory.c.orig 2003-10-19 10:53:32.000000000 +1000
|
||||
+++ libgputils/gpmemory.c 2003-10-19 10:53:47.000000000 +1000
|
||||
@@ -92,7 +92,7 @@ MemBlock * i_memory_new(MemBlock *m, Mem
|
||||
|
||||
base = base_address >> I_MEM_BITS;
|
||||
|
||||
- mbp->memory = (unsigned int *)malloc(MAX_I_MEM * sizeof(unsigned int));
|
||||
+ mbp->memory = (unsigned int *)calloc(MAX_I_MEM * sizeof(unsigned int), 1);
|
||||
mbp->base = base;
|
||||
|
||||
do {
|
39
devel/gputils/patches/patch-libgputils_gpmessage_c
Normal file
39
devel/gputils/patches/patch-libgputils_gpmessage_c
Normal file
@ -0,0 +1,39 @@
|
||||
$OpenBSD: patch-libgputils_gpmessage_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpmessage.c.orig 2003-10-14 22:33:16.000000000 +1000
|
||||
+++ libgputils/gpmessage.c 2003-10-14 22:34:12.000000000 +1000
|
||||
@@ -48,7 +48,7 @@ gp_error(const char *format, ...)
|
||||
return;
|
||||
|
||||
va_start(args, format);
|
||||
- vsprintf(buffer, format, args);
|
||||
+ vsnprintf(buffer, sizeof(buffer), format, args);
|
||||
va_end(args);
|
||||
|
||||
printf("%s %s\n", "error:", buffer);
|
||||
@@ -71,7 +71,7 @@ gp_warning(const char *format, ...)
|
||||
return;
|
||||
|
||||
va_start(args, format);
|
||||
- vsprintf(buffer, format, args);
|
||||
+ vsnprintf(buffer, sizeof(buffer), format, args);
|
||||
va_end(args);
|
||||
|
||||
printf("%s %s\n", "warning:", buffer);
|
||||
@@ -94,7 +94,7 @@ gp_message(const char *format, ...)
|
||||
return;
|
||||
|
||||
va_start(args, format);
|
||||
- vsprintf(buffer, format, args);
|
||||
+ vsnprintf(buffer, sizeof(buffer), format, args);
|
||||
va_end(args);
|
||||
|
||||
printf("%s %s\n", "message:", buffer);
|
||||
@@ -115,7 +115,7 @@ gp_debug(const char *format, ...)
|
||||
return;
|
||||
|
||||
va_start(args, format);
|
||||
- vsprintf(buffer, format, args);
|
||||
+ vsnprintf(buffer, sizeof(buffer), format, args);
|
||||
va_end(args);
|
||||
|
||||
printf("%s %s\n", "debug:", buffer);
|
43
devel/gputils/patches/patch-libgputils_gpreadobj_c
Normal file
43
devel/gputils/patches/patch-libgputils_gpreadobj_c
Normal file
@ -0,0 +1,43 @@
|
||||
$OpenBSD: patch-libgputils_gpreadobj_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpreadobj.c.orig 2003-10-14 23:21:51.000000000 +1000
|
||||
+++ libgputils/gpreadobj.c 2003-10-14 23:23:07.000000000 +1000
|
||||
@@ -142,7 +142,7 @@ _read_section_header(gp_object_type *obj
|
||||
char *file,
|
||||
char *string_table)
|
||||
{
|
||||
- char buffer[9];
|
||||
+ char buffer[9]; /* the name can occupy all 8 chars without a null terminator */
|
||||
unsigned int offset;
|
||||
|
||||
if (gp_getl32(&file[0]) == 0) {
|
||||
@@ -150,9 +150,7 @@ _read_section_header(gp_object_type *obj
|
||||
offset = gp_getl32(&file[4]);
|
||||
section->name = strdup(&string_table[offset]);
|
||||
} else {
|
||||
- strncpy(buffer, &file[0], 8);
|
||||
- /* the name can occupy all 8 chars without a null terminator */
|
||||
- buffer[8] = '\0';
|
||||
+ strlcpy(buffer, &file[0], sizeof(buffer));
|
||||
section->name = strdup(buffer);
|
||||
}
|
||||
|
||||
@@ -322,7 +320,7 @@ _read_aux(gp_aux_type *aux, int aux_type
|
||||
static void
|
||||
_read_symbol(gp_symbol_type *symbol, char *file, char *string_table)
|
||||
{
|
||||
- char buffer[9];
|
||||
+ char buffer[9]; /* the name can occupy all 8 chars without a null terminator */
|
||||
unsigned int offset;
|
||||
|
||||
if (gp_getl32(&file[0]) == 0) {
|
||||
@@ -330,9 +328,7 @@ _read_symbol(gp_symbol_type *symbol, cha
|
||||
offset = gp_getl32(&file[4]);
|
||||
symbol->name = strdup(&string_table[offset]);
|
||||
} else {
|
||||
- strncpy(buffer, &file[0], 8);
|
||||
- /* the name can occupy all 8 chars without a null terminator */
|
||||
- buffer[8] = '\0';
|
||||
+ strlcpy(buffer, &file[0], sizeof(buffer));
|
||||
symbol->name = strdup(buffer);
|
||||
}
|
||||
|
20
devel/gputils/patches/patch-libgputils_gpsystem_c
Normal file
20
devel/gputils/patches/patch-libgputils_gpsystem_c
Normal file
@ -0,0 +1,20 @@
|
||||
$OpenBSD: patch-libgputils_gpsystem_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpsystem.c.orig 2003-10-14 23:54:47.000000000 +1000
|
||||
+++ libgputils/gpsystem.c 2003-10-14 23:55:19.000000000 +1000
|
||||
@@ -126,14 +126,14 @@ gp_putb32(char *addr, long data)
|
||||
}
|
||||
|
||||
void
|
||||
-gp_date_string(char *buffer)
|
||||
+gp_date_string(char *buffer, size_t sizeof_buffer)
|
||||
{
|
||||
time_t now;
|
||||
struct tm *now_tm;
|
||||
|
||||
time(&now);
|
||||
now_tm = localtime(&now);
|
||||
- sprintf(buffer,
|
||||
+ snprintf(buffer, sizeof_buffer,
|
||||
"%d-%d-%d %02d:%02d:%02d",
|
||||
now_tm->tm_mon + 1,
|
||||
now_tm->tm_mday,
|
11
devel/gputils/patches/patch-libgputils_gpsystem_h
Normal file
11
devel/gputils/patches/patch-libgputils_gpsystem_h
Normal file
@ -0,0 +1,11 @@
|
||||
$OpenBSD: patch-libgputils_gpsystem_h,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpsystem.h.orig 2003-10-14 23:55:53.000000000 +1000
|
||||
+++ libgputils/gpsystem.h 2003-10-14 23:56:12.000000000 +1000
|
||||
@@ -33,6 +33,6 @@ void gp_putl32(char *addr, long data);
|
||||
long gp_getb32(char *addr);
|
||||
void gp_putb32(char *addr, long data);
|
||||
|
||||
-void gp_date_string(char *buffer);
|
||||
+void gp_date_string(char *buffer, size_t sizeof_buffer);
|
||||
|
||||
#endif
|
22
devel/gputils/patches/patch-libgputils_gpwritehex_c
Normal file
22
devel/gputils/patches/patch-libgputils_gpwritehex_c
Normal file
@ -0,0 +1,22 @@
|
||||
$OpenBSD: patch-libgputils_gpwritehex_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpwritehex.c.orig 2003-10-14 22:34:32.000000000 +1000
|
||||
+++ libgputils/gpwritehex.c 2003-10-14 22:36:08.000000000 +1000
|
||||
@@ -183,12 +183,12 @@ int writehex (char *basefilename,
|
||||
}
|
||||
|
||||
/* build file names */
|
||||
- strcpy(hexfilename, basefilename);
|
||||
- strcat(hexfilename, ".hex");
|
||||
- strcpy(lowhex, basefilename);
|
||||
- strcat(lowhex, ".hxl");
|
||||
- strcpy(highhex, basefilename);
|
||||
- strcat(highhex, ".hxh");
|
||||
+ strlcpy(hexfilename, basefilename, sizeof(hexfilename));
|
||||
+ strlcat(hexfilename, ".hex", sizeof(hexfilename));
|
||||
+ strlcpy(lowhex, basefilename, sizeof(lowhex));
|
||||
+ strlcat(lowhex, ".hxl", sizeof(lowhex));
|
||||
+ strlcpy(highhex, basefilename, sizeof(highhex));
|
||||
+ strlcat(highhex, ".hxh", sizeof(highhex));
|
||||
|
||||
if (numerrors) {
|
||||
/* Remove the hex files (if any) */
|
61
devel/gputils/patches/patch-libgputils_gpwriteobj_c
Normal file
61
devel/gputils/patches/patch-libgputils_gpwriteobj_c
Normal file
@ -0,0 +1,61 @@
|
||||
$OpenBSD: patch-libgputils_gpwriteobj_c,v 1.1.1.1 2003/11/03 01:02:36 naddy Exp $
|
||||
--- libgputils/gpwriteobj.c.orig 2003-10-14 23:02:28.000000000 +1000
|
||||
+++ libgputils/gpwriteobj.c 2003-10-14 23:26:36.000000000 +1000
|
||||
@@ -33,6 +33,7 @@ _gp_coffgen_addstring(char *name, char *
|
||||
{
|
||||
int nbytes;
|
||||
int offset;
|
||||
+ size_t sizeof_name = strlen(name) + 1;
|
||||
|
||||
assert(name != NULL);
|
||||
|
||||
@@ -40,11 +41,11 @@ _gp_coffgen_addstring(char *name, char *
|
||||
offset = nbytes = gp_getl32(&table[0]);
|
||||
|
||||
/* check the length against the max string table size */
|
||||
- nbytes += strlen(name) + 1;
|
||||
+ nbytes += sizeof_name;
|
||||
assert(!(nbytes > MAX_STRING_TABLE));
|
||||
|
||||
/* copy the string to the table */
|
||||
- strcpy(&table[offset], name);
|
||||
+ memmove(&table[offset], name, sizeof_name);
|
||||
|
||||
/* write the new byte count */
|
||||
gp_putl32(&table[0], nbytes);
|
||||
@@ -53,7 +54,7 @@ _gp_coffgen_addstring(char *name, char *
|
||||
}
|
||||
|
||||
static void
|
||||
-_gp_coffgen_addname(char *name, char *ptr, char *table)
|
||||
+_gp_coffgen_addname(char *name, char *ptr, size_t sizeof_ptr, char *table)
|
||||
{
|
||||
int length;
|
||||
int offset;
|
||||
@@ -65,7 +66,7 @@ _gp_coffgen_addname(char *name, char *pt
|
||||
|
||||
if (length < 9) {
|
||||
/* The string will fit in the structure. */
|
||||
- strncpy(ptr, name, 8);
|
||||
+ strlcpy(ptr, name, sizeof_ptr);
|
||||
} else {
|
||||
offset = _gp_coffgen_addstring(name, table);
|
||||
|
||||
@@ -118,7 +119,7 @@ _gp_coffgen_write_scnhdr(gp_section_type
|
||||
{
|
||||
char name[8];
|
||||
|
||||
- _gp_coffgen_addname(section->name, &name[0], table);
|
||||
+ _gp_coffgen_addname(section->name, name, sizeof(name), table);
|
||||
gp_fputvar(&name[0], 8, fp);
|
||||
gp_fputl32(section->address, fp);
|
||||
gp_fputl32(section->address, fp);
|
||||
@@ -266,7 +267,7 @@ _gp_coffgen_write_symbols(gp_object_type
|
||||
|
||||
while(current != NULL) {
|
||||
|
||||
- _gp_coffgen_addname(current->name, &name[0], table);
|
||||
+ _gp_coffgen_addname(current->name, name, sizeof(name), table);
|
||||
|
||||
gp_fputvar(&name[0], 8, fp);
|
||||
gp_fputl32(current->value, fp);
|
2
devel/gputils/pkg/DESCR
Normal file
2
devel/gputils/pkg/DESCR
Normal file
@ -0,0 +1,2 @@
|
||||
GPUTILS is a collection of tools for the Microchip (TM) PIC
|
||||
microcontrollers. It includes gpasm, gplink, and gplib.
|
493
devel/gputils/pkg/PLIST
Normal file
493
devel/gputils/pkg/PLIST
Normal file
@ -0,0 +1,493 @@
|
||||
@comment $OpenBSD: PLIST,v 1.1.1.1 2003/11/03 01:02:37 naddy Exp $
|
||||
bin/gpasm
|
||||
bin/gpdasm
|
||||
bin/gplib
|
||||
bin/gplink
|
||||
bin/gpvc
|
||||
bin/gpvo
|
||||
man/man1/gpasm.1
|
||||
man/man1/gpdasm.1
|
||||
man/man1/gplib.1
|
||||
man/man1/gplink.1
|
||||
man/man1/gputils.1
|
||||
man/man1/gpvc.1
|
||||
man/man1/gpvo.1
|
||||
share/doc/gputils/gputils.lyx
|
||||
share/doc/gputils/gputils.pdf
|
||||
share/doc/gputils/gputils.ps
|
||||
share/gputils/header/mcp250xx.inc
|
||||
share/gputils/header/memory.inc
|
||||
share/gputils/header/p12c508.inc
|
||||
share/gputils/header/p12c508a.inc
|
||||
share/gputils/header/p12c509.inc
|
||||
share/gputils/header/p12c509a.inc
|
||||
share/gputils/header/p12c671.inc
|
||||
share/gputils/header/p12c672.inc
|
||||
share/gputils/header/p12ce518.inc
|
||||
share/gputils/header/p12ce519.inc
|
||||
share/gputils/header/p12ce673.inc
|
||||
share/gputils/header/p12ce674.inc
|
||||
share/gputils/header/p12f629.inc
|
||||
share/gputils/header/p12f675.inc
|
||||
share/gputils/header/p14000.inc
|
||||
share/gputils/header/p16c432.inc
|
||||
share/gputils/header/p16c433.inc
|
||||
share/gputils/header/p16c505.inc
|
||||
share/gputils/header/p16c554.inc
|
||||
share/gputils/header/p16c557.inc
|
||||
share/gputils/header/p16c558.inc
|
||||
share/gputils/header/p16c5x.inc
|
||||
share/gputils/header/p16c61.inc
|
||||
share/gputils/header/p16c62.inc
|
||||
share/gputils/header/p16c620.inc
|
||||
share/gputils/header/p16c620a.inc
|
||||
share/gputils/header/p16c621.inc
|
||||
share/gputils/header/p16c621a.inc
|
||||
share/gputils/header/p16c622.inc
|
||||
share/gputils/header/p16c622a.inc
|
||||
share/gputils/header/p16c62a.inc
|
||||
share/gputils/header/p16c62b.inc
|
||||
share/gputils/header/p16c63.inc
|
||||
share/gputils/header/p16c63a.inc
|
||||
share/gputils/header/p16c64.inc
|
||||
share/gputils/header/p16c642.inc
|
||||
share/gputils/header/p16c64a.inc
|
||||
share/gputils/header/p16c65.inc
|
||||
share/gputils/header/p16c65a.inc
|
||||
share/gputils/header/p16c65b.inc
|
||||
share/gputils/header/p16c66.inc
|
||||
share/gputils/header/p16c662.inc
|
||||
share/gputils/header/p16c67.inc
|
||||
share/gputils/header/p16c71.inc
|
||||
share/gputils/header/p16c710.inc
|
||||
share/gputils/header/p16c711.inc
|
||||
share/gputils/header/p16c712.inc
|
||||
share/gputils/header/p16c715.inc
|
||||
share/gputils/header/p16c716.inc
|
||||
share/gputils/header/p16c717.inc
|
||||
share/gputils/header/p16c72.inc
|
||||
share/gputils/header/p16c72a.inc
|
||||
share/gputils/header/p16c73.inc
|
||||
share/gputils/header/p16c73a.inc
|
||||
share/gputils/header/p16c73b.inc
|
||||
share/gputils/header/p16c74.inc
|
||||
share/gputils/header/p16c745.inc
|
||||
share/gputils/header/p16c74a.inc
|
||||
share/gputils/header/p16c74b.inc
|
||||
share/gputils/header/p16c76.inc
|
||||
share/gputils/header/p16c765.inc
|
||||
share/gputils/header/p16c77.inc
|
||||
share/gputils/header/p16c770.inc
|
||||
share/gputils/header/p16c771.inc
|
||||
share/gputils/header/p16c773.inc
|
||||
share/gputils/header/p16c774.inc
|
||||
share/gputils/header/p16c781.inc
|
||||
share/gputils/header/p16c782.inc
|
||||
share/gputils/header/p16c84.inc
|
||||
share/gputils/header/p16c923.inc
|
||||
share/gputils/header/p16c924.inc
|
||||
share/gputils/header/p16c925.inc
|
||||
share/gputils/header/p16c926.inc
|
||||
share/gputils/header/p16ce623.inc
|
||||
share/gputils/header/p16ce624.inc
|
||||
share/gputils/header/p16ce625.inc
|
||||
share/gputils/header/p16cr62.inc
|
||||
share/gputils/header/p16cr63.inc
|
||||
share/gputils/header/p16cr64.inc
|
||||
share/gputils/header/p16cr65.inc
|
||||
share/gputils/header/p16cr72.inc
|
||||
share/gputils/header/p16cr83.inc
|
||||
share/gputils/header/p16cr84.inc
|
||||
share/gputils/header/p16f5x.inc
|
||||
share/gputils/header/p16f627.inc
|
||||
share/gputils/header/p16f627a.inc
|
||||
share/gputils/header/p16f628.inc
|
||||
share/gputils/header/p16f628a.inc
|
||||
share/gputils/header/p16f630.inc
|
||||
share/gputils/header/p16f648a.inc
|
||||
share/gputils/header/p16f676.inc
|
||||
share/gputils/header/p16f684.inc
|
||||
share/gputils/header/p16f716.inc
|
||||
share/gputils/header/p16f72.inc
|
||||
share/gputils/header/p16f73.inc
|
||||
share/gputils/header/p16f737.inc
|
||||
share/gputils/header/p16f74.inc
|
||||
share/gputils/header/p16f747.inc
|
||||
share/gputils/header/p16f76.inc
|
||||
share/gputils/header/p16f767.inc
|
||||
share/gputils/header/p16f77.inc
|
||||
share/gputils/header/p16f777.inc
|
||||
share/gputils/header/p16f818.inc
|
||||
share/gputils/header/p16f819.inc
|
||||
share/gputils/header/p16f83.inc
|
||||
share/gputils/header/p16f84.inc
|
||||
share/gputils/header/p16f84a.inc
|
||||
share/gputils/header/p16f87.inc
|
||||
share/gputils/header/p16f870.inc
|
||||
share/gputils/header/p16f871.inc
|
||||
share/gputils/header/p16f872.inc
|
||||
share/gputils/header/p16f873.inc
|
||||
share/gputils/header/p16f873a.inc
|
||||
share/gputils/header/p16f874.inc
|
||||
share/gputils/header/p16f874a.inc
|
||||
share/gputils/header/p16f876.inc
|
||||
share/gputils/header/p16f876a.inc
|
||||
share/gputils/header/p16f877.inc
|
||||
share/gputils/header/p16f877a.inc
|
||||
share/gputils/header/p16f88.inc
|
||||
share/gputils/header/p16hv540.inc
|
||||
share/gputils/header/p17c42.inc
|
||||
share/gputils/header/p17c42a.inc
|
||||
share/gputils/header/p17c43.inc
|
||||
share/gputils/header/p17c44.inc
|
||||
share/gputils/header/p17c752.inc
|
||||
share/gputils/header/p17c756.inc
|
||||
share/gputils/header/p17c756a.inc
|
||||
share/gputils/header/p17c762.inc
|
||||
share/gputils/header/p17c766.inc
|
||||
share/gputils/header/p17cr42.inc
|
||||
share/gputils/header/p17cr43.inc
|
||||
share/gputils/header/p18c242.inc
|
||||
share/gputils/header/p18c252.inc
|
||||
share/gputils/header/p18c442.inc
|
||||
share/gputils/header/p18c452.inc
|
||||
share/gputils/header/p18c601.inc
|
||||
share/gputils/header/p18c658.inc
|
||||
share/gputils/header/p18c801.inc
|
||||
share/gputils/header/p18c858.inc
|
||||
share/gputils/header/p18cxxx.inc
|
||||
share/gputils/header/p18f1220.inc
|
||||
share/gputils/header/p18f1320.inc
|
||||
share/gputils/header/p18f2220.inc
|
||||
share/gputils/header/p18f2320.inc
|
||||
share/gputils/header/p18f2331.inc
|
||||
share/gputils/header/p18f242.inc
|
||||
share/gputils/header/p18f2431.inc
|
||||
share/gputils/header/p18f2439.inc
|
||||
share/gputils/header/p18f248.inc
|
||||
share/gputils/header/p18f2515.inc
|
||||
share/gputils/header/p18f252.inc
|
||||
share/gputils/header/p18f2525.inc
|
||||
share/gputils/header/p18f2539.inc
|
||||
share/gputils/header/p18f258.inc
|
||||
share/gputils/header/p18f2610.inc
|
||||
share/gputils/header/p18f2620.inc
|
||||
share/gputils/header/p18f4220.inc
|
||||
share/gputils/header/p18f4320.inc
|
||||
share/gputils/header/p18f4331.inc
|
||||
share/gputils/header/p18f442.inc
|
||||
share/gputils/header/p18f4431.inc
|
||||
share/gputils/header/p18f4439.inc
|
||||
share/gputils/header/p18f448.inc
|
||||
share/gputils/header/p18f4515.inc
|
||||
share/gputils/header/p18f452.inc
|
||||
share/gputils/header/p18f4525.inc
|
||||
share/gputils/header/p18f4539.inc
|
||||
share/gputils/header/p18f458.inc
|
||||
share/gputils/header/p18f4610.inc
|
||||
share/gputils/header/p18f4620.inc
|
||||
share/gputils/header/p18f6520.inc
|
||||
share/gputils/header/p18f6525.inc
|
||||
share/gputils/header/p18f6585.inc
|
||||
share/gputils/header/p18f6620.inc
|
||||
share/gputils/header/p18f6621.inc
|
||||
share/gputils/header/p18f6680.inc
|
||||
share/gputils/header/p18f6720.inc
|
||||
share/gputils/header/p18f8520.inc
|
||||
share/gputils/header/p18f8525.inc
|
||||
share/gputils/header/p18f8585.inc
|
||||
share/gputils/header/p18f8620.inc
|
||||
share/gputils/header/p18f8621.inc
|
||||
share/gputils/header/p18f8680.inc
|
||||
share/gputils/header/p18f8720.inc
|
||||
share/gputils/header/p18macro.inc
|
||||
share/gputils/header/rf509af.inc
|
||||
share/gputils/header/rf509ag.inc
|
||||
share/gputils/header/rf675f.inc
|
||||
share/gputils/header/rf675h.inc
|
||||
share/gputils/header/rf675k.inc
|
||||
share/gputils/lkr/12c508.lkr
|
||||
share/gputils/lkr/12c508a.lkr
|
||||
share/gputils/lkr/12c509.lkr
|
||||
share/gputils/lkr/12c509a.lkr
|
||||
share/gputils/lkr/12c671.lkr
|
||||
share/gputils/lkr/12c672.lkr
|
||||
share/gputils/lkr/12ce518.lkr
|
||||
share/gputils/lkr/12ce519.lkr
|
||||
share/gputils/lkr/12ce673.lkr
|
||||
share/gputils/lkr/12ce674.lkr
|
||||
share/gputils/lkr/12cr509a.lkr
|
||||
share/gputils/lkr/12f629.lkr
|
||||
share/gputils/lkr/12f629i.lkr
|
||||
share/gputils/lkr/12f675.lkr
|
||||
share/gputils/lkr/12f675i.lkr
|
||||
share/gputils/lkr/14000.lkr
|
||||
share/gputils/lkr/16c432.lkr
|
||||
share/gputils/lkr/16c433.lkr
|
||||
share/gputils/lkr/16c505.lkr
|
||||
share/gputils/lkr/16c52.lkr
|
||||
share/gputils/lkr/16c54.lkr
|
||||
share/gputils/lkr/16c54a.lkr
|
||||
share/gputils/lkr/16c54b.lkr
|
||||
share/gputils/lkr/16c54c.lkr
|
||||
share/gputils/lkr/16c55.lkr
|
||||
share/gputils/lkr/16c554.lkr
|
||||
share/gputils/lkr/16c557.lkr
|
||||
share/gputils/lkr/16c558.lkr
|
||||
share/gputils/lkr/16c55a.lkr
|
||||
share/gputils/lkr/16c56.lkr
|
||||
share/gputils/lkr/16c56a.lkr
|
||||
share/gputils/lkr/16c57.lkr
|
||||
share/gputils/lkr/16c57c.lkr
|
||||
share/gputils/lkr/16c58a.lkr
|
||||
share/gputils/lkr/16c58b.lkr
|
||||
share/gputils/lkr/16c61.lkr
|
||||
share/gputils/lkr/16c62.lkr
|
||||
share/gputils/lkr/16c620.lkr
|
||||
share/gputils/lkr/16c620a.lkr
|
||||
share/gputils/lkr/16c621.lkr
|
||||
share/gputils/lkr/16c621a.lkr
|
||||
share/gputils/lkr/16c622.lkr
|
||||
share/gputils/lkr/16c622a.lkr
|
||||
share/gputils/lkr/16c62a.lkr
|
||||
share/gputils/lkr/16c62b.lkr
|
||||
share/gputils/lkr/16c63.lkr
|
||||
share/gputils/lkr/16c63a.lkr
|
||||
share/gputils/lkr/16c64.lkr
|
||||
share/gputils/lkr/16c642.lkr
|
||||
share/gputils/lkr/16c64a.lkr
|
||||
share/gputils/lkr/16c65.lkr
|
||||
share/gputils/lkr/16c65a.lkr
|
||||
share/gputils/lkr/16c65b.lkr
|
||||
share/gputils/lkr/16c66.lkr
|
||||
share/gputils/lkr/16c662.lkr
|
||||
share/gputils/lkr/16c67.lkr
|
||||
share/gputils/lkr/16c71.lkr
|
||||
share/gputils/lkr/16c710.lkr
|
||||
share/gputils/lkr/16c711.lkr
|
||||
share/gputils/lkr/16c712.lkr
|
||||
share/gputils/lkr/16c715.lkr
|
||||
share/gputils/lkr/16c716.lkr
|
||||
share/gputils/lkr/16c717.lkr
|
||||
share/gputils/lkr/16c72.lkr
|
||||
share/gputils/lkr/16c72a.lkr
|
||||
share/gputils/lkr/16c73.lkr
|
||||
share/gputils/lkr/16c73a.lkr
|
||||
share/gputils/lkr/16c73b.lkr
|
||||
share/gputils/lkr/16c74.lkr
|
||||
share/gputils/lkr/16c745.lkr
|
||||
share/gputils/lkr/16c74a.lkr
|
||||
share/gputils/lkr/16c74b.lkr
|
||||
share/gputils/lkr/16c76.lkr
|
||||
share/gputils/lkr/16c765.lkr
|
||||
share/gputils/lkr/16c77.lkr
|
||||
share/gputils/lkr/16c770.lkr
|
||||
share/gputils/lkr/16c771.lkr
|
||||
share/gputils/lkr/16c773.lkr
|
||||
share/gputils/lkr/16c774.lkr
|
||||
share/gputils/lkr/16c781.lkr
|
||||
share/gputils/lkr/16c782.lkr
|
||||
share/gputils/lkr/16c84.lkr
|
||||
share/gputils/lkr/16c923.lkr
|
||||
share/gputils/lkr/16c924.lkr
|
||||
share/gputils/lkr/16c925.lkr
|
||||
share/gputils/lkr/16c926.lkr
|
||||
share/gputils/lkr/16ce623.lkr
|
||||
share/gputils/lkr/16ce624.lkr
|
||||
share/gputils/lkr/16ce625.lkr
|
||||
share/gputils/lkr/16cr54.lkr
|
||||
share/gputils/lkr/16cr54a.lkr
|
||||
share/gputils/lkr/16cr54b.lkr
|
||||
share/gputils/lkr/16cr54c.lkr
|
||||
share/gputils/lkr/16cr56a.lkr
|
||||
share/gputils/lkr/16cr57a.lkr
|
||||
share/gputils/lkr/16cr57b.lkr
|
||||
share/gputils/lkr/16cr57c.lkr
|
||||
share/gputils/lkr/16cr58a.lkr
|
||||
share/gputils/lkr/16cr58b.lkr
|
||||
share/gputils/lkr/16cr62.lkr
|
||||
share/gputils/lkr/16cr620a.lkr
|
||||
share/gputils/lkr/16cr63.lkr
|
||||
share/gputils/lkr/16cr64.lkr
|
||||
share/gputils/lkr/16cr65.lkr
|
||||
share/gputils/lkr/16cr72.lkr
|
||||
share/gputils/lkr/16cr83.lkr
|
||||
share/gputils/lkr/16cr84.lkr
|
||||
share/gputils/lkr/16f54.lkr
|
||||
share/gputils/lkr/16f57.lkr
|
||||
share/gputils/lkr/16f627.lkr
|
||||
share/gputils/lkr/16f627a.lkr
|
||||
share/gputils/lkr/16f627ai.lkr
|
||||
share/gputils/lkr/16f628.lkr
|
||||
share/gputils/lkr/16f628a.lkr
|
||||
share/gputils/lkr/16f628ai.lkr
|
||||
share/gputils/lkr/16f630.lkr
|
||||
share/gputils/lkr/16f630i.lkr
|
||||
share/gputils/lkr/16f648a.lkr
|
||||
share/gputils/lkr/16f648ai.lkr
|
||||
share/gputils/lkr/16f676.lkr
|
||||
share/gputils/lkr/16f676i.lkr
|
||||
share/gputils/lkr/16f684.lkr
|
||||
share/gputils/lkr/16f716.lkr
|
||||
share/gputils/lkr/16f72.lkr
|
||||
share/gputils/lkr/16f73.lkr
|
||||
share/gputils/lkr/16f737.lkr
|
||||
share/gputils/lkr/16f737i.lkr
|
||||
share/gputils/lkr/16f74.lkr
|
||||
share/gputils/lkr/16f747.lkr
|
||||
share/gputils/lkr/16f747i.lkr
|
||||
share/gputils/lkr/16f76.lkr
|
||||
share/gputils/lkr/16f767.lkr
|
||||
share/gputils/lkr/16f767i.lkr
|
||||
share/gputils/lkr/16f77.lkr
|
||||
share/gputils/lkr/16f777.lkr
|
||||
share/gputils/lkr/16f777i.lkr
|
||||
share/gputils/lkr/16f818.lkr
|
||||
share/gputils/lkr/16f818i.lkr
|
||||
share/gputils/lkr/16f819.lkr
|
||||
share/gputils/lkr/16f819i.lkr
|
||||
share/gputils/lkr/16f83.lkr
|
||||
share/gputils/lkr/16f84.lkr
|
||||
share/gputils/lkr/16f84a.lkr
|
||||
share/gputils/lkr/16f85.lkr
|
||||
share/gputils/lkr/16f86.lkr
|
||||
share/gputils/lkr/16f87.lkr
|
||||
share/gputils/lkr/16f870.lkr
|
||||
share/gputils/lkr/16f870i.lkr
|
||||
share/gputils/lkr/16f871.lkr
|
||||
share/gputils/lkr/16f871i.lkr
|
||||
share/gputils/lkr/16f872.lkr
|
||||
share/gputils/lkr/16f872i.lkr
|
||||
share/gputils/lkr/16f873.lkr
|
||||
share/gputils/lkr/16f873a.lkr
|
||||
share/gputils/lkr/16f873ai.lkr
|
||||
share/gputils/lkr/16f873i.lkr
|
||||
share/gputils/lkr/16f874.lkr
|
||||
share/gputils/lkr/16f874a.lkr
|
||||
share/gputils/lkr/16f874ai.lkr
|
||||
share/gputils/lkr/16f874i.lkr
|
||||
share/gputils/lkr/16f876.lkr
|
||||
share/gputils/lkr/16f876a.lkr
|
||||
share/gputils/lkr/16f876ai.lkr
|
||||
share/gputils/lkr/16f876i.lkr
|
||||
share/gputils/lkr/16f877.lkr
|
||||
share/gputils/lkr/16f877a.lkr
|
||||
share/gputils/lkr/16f877ai.lkr
|
||||
share/gputils/lkr/16f877i.lkr
|
||||
share/gputils/lkr/16f87i.lkr
|
||||
share/gputils/lkr/16f88.lkr
|
||||
share/gputils/lkr/16f88i.lkr
|
||||
share/gputils/lkr/16hv540.lkr
|
||||
share/gputils/lkr/17c42.lkr
|
||||
share/gputils/lkr/17c42a.lkr
|
||||
share/gputils/lkr/17c43.lkr
|
||||
share/gputils/lkr/17c44.lkr
|
||||
share/gputils/lkr/17c752.lkr
|
||||
share/gputils/lkr/17c756.lkr
|
||||
share/gputils/lkr/17c756a.lkr
|
||||
share/gputils/lkr/17c762.lkr
|
||||
share/gputils/lkr/17c766.lkr
|
||||
share/gputils/lkr/17cr42.lkr
|
||||
share/gputils/lkr/17cr43.lkr
|
||||
share/gputils/lkr/18c242.lkr
|
||||
share/gputils/lkr/18c252.lkr
|
||||
share/gputils/lkr/18c442.lkr
|
||||
share/gputils/lkr/18c452.lkr
|
||||
share/gputils/lkr/18c601.lkr
|
||||
share/gputils/lkr/18c601i.lkr
|
||||
share/gputils/lkr/18c658.lkr
|
||||
share/gputils/lkr/18c801.lkr
|
||||
share/gputils/lkr/18c801i.lkr
|
||||
share/gputils/lkr/18c858.lkr
|
||||
share/gputils/lkr/18f1220.lkr
|
||||
share/gputils/lkr/18f1220i.lkr
|
||||
share/gputils/lkr/18f1320.lkr
|
||||
share/gputils/lkr/18f1320i.lkr
|
||||
share/gputils/lkr/18f2220.lkr
|
||||
share/gputils/lkr/18f2220i.lkr
|
||||
share/gputils/lkr/18f2320.lkr
|
||||
share/gputils/lkr/18f2320i.lkr
|
||||
share/gputils/lkr/18f2331.lkr
|
||||
share/gputils/lkr/18f242.lkr
|
||||
share/gputils/lkr/18f242i.lkr
|
||||
share/gputils/lkr/18f2431.lkr
|
||||
share/gputils/lkr/18f2439.lkr
|
||||
share/gputils/lkr/18f2439i.lkr
|
||||
share/gputils/lkr/18f248.lkr
|
||||
share/gputils/lkr/18f248i.lkr
|
||||
share/gputils/lkr/18f2515.lkr
|
||||
share/gputils/lkr/18f252.lkr
|
||||
share/gputils/lkr/18f2525.lkr
|
||||
share/gputils/lkr/18f252i.lkr
|
||||
share/gputils/lkr/18f2539.lkr
|
||||
share/gputils/lkr/18f2539i.lkr
|
||||
share/gputils/lkr/18f258.lkr
|
||||
share/gputils/lkr/18f258i.lkr
|
||||
share/gputils/lkr/18f2610.lkr
|
||||
share/gputils/lkr/18f2620.lkr
|
||||
share/gputils/lkr/18f2620_e.lkr
|
||||
share/gputils/lkr/18f4220.lkr
|
||||
share/gputils/lkr/18f4220i.lkr
|
||||
share/gputils/lkr/18f4320.lkr
|
||||
share/gputils/lkr/18f4320i.lkr
|
||||
share/gputils/lkr/18f4331.lkr
|
||||
share/gputils/lkr/18f442.lkr
|
||||
share/gputils/lkr/18f442i.lkr
|
||||
share/gputils/lkr/18f4431.lkr
|
||||
share/gputils/lkr/18f4439.lkr
|
||||
share/gputils/lkr/18f4439i.lkr
|
||||
share/gputils/lkr/18f448.lkr
|
||||
share/gputils/lkr/18f448i.lkr
|
||||
share/gputils/lkr/18f4515.lkr
|
||||
share/gputils/lkr/18f452.lkr
|
||||
share/gputils/lkr/18f4525.lkr
|
||||
share/gputils/lkr/18f452i.lkr
|
||||
share/gputils/lkr/18f4539.lkr
|
||||
share/gputils/lkr/18f4539i.lkr
|
||||
share/gputils/lkr/18f458.lkr
|
||||
share/gputils/lkr/18f458i.lkr
|
||||
share/gputils/lkr/18f4610.lkr
|
||||
share/gputils/lkr/18f4620.lkr
|
||||
share/gputils/lkr/18f4620_e.lkr
|
||||
share/gputils/lkr/18f6520.lkr
|
||||
share/gputils/lkr/18f6520i.lkr
|
||||
share/gputils/lkr/18f6525.lkr
|
||||
share/gputils/lkr/18f6525i.lkr
|
||||
share/gputils/lkr/18f6585.lkr
|
||||
share/gputils/lkr/18f6585i.lkr
|
||||
share/gputils/lkr/18f6620.lkr
|
||||
share/gputils/lkr/18f6620i.lkr
|
||||
share/gputils/lkr/18f6621.lkr
|
||||
share/gputils/lkr/18f6621i.lkr
|
||||
share/gputils/lkr/18f6680.lkr
|
||||
share/gputils/lkr/18f6680i.lkr
|
||||
share/gputils/lkr/18f6720.lkr
|
||||
share/gputils/lkr/18f6720i.lkr
|
||||
share/gputils/lkr/18f8520.lkr
|
||||
share/gputils/lkr/18f8520i.lkr
|
||||
share/gputils/lkr/18f8525.lkr
|
||||
share/gputils/lkr/18f8525i.lkr
|
||||
share/gputils/lkr/18f8585.lkr
|
||||
share/gputils/lkr/18f8585i.lkr
|
||||
share/gputils/lkr/18f8620.lkr
|
||||
share/gputils/lkr/18f8620i.lkr
|
||||
share/gputils/lkr/18f8621.lkr
|
||||
share/gputils/lkr/18f8621i.lkr
|
||||
share/gputils/lkr/18f8680.lkr
|
||||
share/gputils/lkr/18f8680i.lkr
|
||||
share/gputils/lkr/18f8720.lkr
|
||||
share/gputils/lkr/18f8720i.lkr
|
||||
share/gputils/lkr/hcs1365.lkr
|
||||
share/gputils/lkr/hcs1370.lkr
|
||||
share/gputils/lkr/rf509af.lkr
|
||||
share/gputils/lkr/rf509ag.lkr
|
||||
share/gputils/lkr/rf675f.lkr
|
||||
share/gputils/lkr/rf675fi.lkr
|
||||
share/gputils/lkr/rf675h.lkr
|
||||
share/gputils/lkr/rf675hi.lkr
|
||||
share/gputils/lkr/rf675k.lkr
|
||||
share/gputils/lkr/rf675ki.lkr
|
||||
@dirrm share/gputils/lkr
|
||||
@dirrm share/gputils/header
|
||||
@dirrm share/gputils
|
||||
@dirrm share/doc/gputils
|
Loading…
Reference in New Issue
Block a user