ack.git
11 years agoAdded triple-quad load and store (used by the signal stuff).
David Given [Sat, 25 May 2013 23:22:08 +0000 (00:22 +0100)]
Added triple-quad load and store (used by the signal stuff).

--HG--
branch : dtrg-videocore

11 years agostdio (output only) now works.
David Given [Sat, 25 May 2013 22:59:31 +0000 (23:59 +0100)]
stdio (output only) now works.

--HG--
branch : dtrg-videocore

11 years agoStop fighting the terrible code and remove the regvar support --- it didn't help...
David Given [Sat, 25 May 2013 22:58:35 +0000 (23:58 +0100)]
Stop fighting the terrible code and remove the regvar support --- it didn't help much and was a pain.

--HG--
branch : dtrg-videocore

11 years agoHeap allocations now works.
David Given [Sat, 25 May 2013 22:28:47 +0000 (23:28 +0100)]
Heap allocations now works.

--HG--
branch : dtrg-videocore

11 years agoMajor bugfix where instructions weren't being shrunk correctly. (Turns out there...
David Given [Sat, 25 May 2013 22:26:10 +0000 (23:26 +0100)]
Major bugfix where instructions weren't being shrunk correctly. (Turns out there's built-in support for doing this, which I hadn't found.)

--HG--
branch : dtrg-videocore

11 years agoDisable register variables. The code is a bit worse, but having two stackable registe...
David Given [Sat, 25 May 2013 12:31:58 +0000 (13:31 +0100)]
Disable register variables. The code is a bit worse, but having two stackable registers makes things much easier to understand.

--HG--
branch : dtrg-videocore

11 years agoImplement .csa.
David Given [Sat, 25 May 2013 12:31:27 +0000 (13:31 +0100)]
Implement .csa.

--HG--
branch : dtrg-videocore
rename : mach/vc4/libem/dummy.s => mach/vc4/libem/csa.s

11 years agoEncode comparing branch correctly.
David Given [Sat, 25 May 2013 12:31:01 +0000 (13:31 +0100)]
Encode comparing branch correctly.

--HG--
branch : dtrg-videocore

11 years agoBuild binaries that will run bare metal. Add enough syscall library to init the uart...
David Given [Fri, 24 May 2013 23:35:29 +0000 (00:35 +0100)]
Build binaries that will run bare metal. Add enough syscall library to init the uart and write text.

--HG--
branch : dtrg-videocore
rename : plat/rpi/libsys/libsys.h => plat/rpi/libsys/libsysasm.h
rename : plat/rpi/libsys/_sys_rawread.s => plat/rpi/libsys/phys_to_user.s
rename : plat/rpi/libsys/_sys_rawread.s => plat/rpi/libsys/uart.s
rename : plat/rpi/libsys/_sys_rawread.s => plat/rpi/libsys/user_to_phys.s

11 years agoDon't write out constant data as big-endian! Some other cleanups.
David Given [Fri, 24 May 2013 23:33:38 +0000 (00:33 +0100)]
Don't write out constant data as big-endian! Some other cleanups.

--HG--
branch : dtrg-videocore

11 years agoFix awful bug where uint32_t was sometimes defined as a short.
David Given [Fri, 24 May 2013 23:33:01 +0000 (00:33 +0100)]
Fix awful bug where uint32_t was sometimes defined as a short.

--HG--
branch : dtrg-videocore

11 years agoVarious codegen tweaks.
David Given [Fri, 24 May 2013 16:04:29 +0000 (17:04 +0100)]
Various codegen tweaks.

--HG--
branch : dtrg-videocore

11 years agoDouble-quads can be loaded and stored (more) correctly.
David Given [Wed, 22 May 2013 22:55:23 +0000 (23:55 +0100)]
Double-quads can be loaded and stored (more) correctly.

--HG--
branch : dtrg-videocore

11 years agoBetter treatment of sign extension.
David Given [Wed, 22 May 2013 22:12:48 +0000 (23:12 +0100)]
Better treatment of sign extension.

--HG--
branch : dtrg-videocore

11 years agoNow actually runs on real hardware.
David Given [Wed, 22 May 2013 21:46:10 +0000 (22:46 +0100)]
Now actually runs on real hardware.

--HG--
branch : dtrg-videocore

11 years agoGenerate adds instructions when a shift-and-add is seen (useful for array indexing).
David Given [Wed, 22 May 2013 20:37:48 +0000 (21:37 +0100)]
Generate adds instructions when a shift-and-add is seen (useful for array indexing).

--HG--
branch : dtrg-videocore

11 years agoAllocate a user stack to run code in.
David Given [Wed, 22 May 2013 17:25:30 +0000 (18:25 +0100)]
Allocate a user stack to run code in.

--HG--
branch : dtrg-videocore

11 years agoGenerate ld rd, (rs) instructions properly.
David Given [Wed, 22 May 2013 10:02:46 +0000 (11:02 +0100)]
Generate ld rd, (rs) instructions properly.

--HG--
branch : dtrg-videocore

11 years agoOptimise direct access to globals, and incrementing and decrementing locals.
David Given [Wed, 22 May 2013 09:55:13 +0000 (10:55 +0100)]
Optimise direct access to globals, and incrementing and decrementing locals.

--HG--
branch : dtrg-videocore

11 years agoBuild the Raspberry Pi code.
David Given [Wed, 22 May 2013 08:47:22 +0000 (09:47 +0100)]
Build the Raspberry Pi code.

--HG--
branch : dtrg-videocore

11 years agoMore typo fixes.
David Given [Tue, 21 May 2013 23:52:58 +0000 (00:52 +0100)]
More typo fixes.

--HG--
branch : dtrg-videocore

11 years agoTypo fixes.
David Given [Tue, 21 May 2013 23:44:04 +0000 (00:44 +0100)]
Typo fixes.

--HG--
branch : dtrg-videocore

11 years agoAdjust bootstrap code to build kernels that work with the mailbox test app.
David Given [Tue, 21 May 2013 23:16:59 +0000 (00:16 +0100)]
Adjust bootstrap code to build kernels that work with the mailbox test app.

--HG--
branch : dtrg-videocore

11 years agoFix signedness problem that was showing up on ARM.
David Given [Tue, 21 May 2013 23:16:16 +0000 (00:16 +0100)]
Fix signedness problem that was showing up on ARM.

--HG--
branch : dtrg-videocore

11 years agoReworked VC4 relocations and some of the instruction encoding to be actually correct...
David Given [Tue, 21 May 2013 22:17:30 +0000 (23:17 +0100)]
Reworked VC4 relocations and some of the instruction encoding to be actually correct. Now generating what could be real code!

--HG--
branch : dtrg-videocore

11 years agoNow compiles (incorrectly) the entire libc, libpc, libm2 and libbasic!
David Given [Tue, 21 May 2013 19:05:26 +0000 (20:05 +0100)]
Now compiles (incorrectly) the entire libc, libpc, libm2 and libbasic!

--HG--
branch : dtrg-videocore

11 years agoAllow platforms to specify size of long double; seperate alignment from size.
David Given [Tue, 21 May 2013 18:18:11 +0000 (19:18 +0100)]
Allow platforms to specify size of long double; seperate alignment from size.

--HG--
branch : dtrg-videocore

11 years agoLots more opcodes including float support. Define float and double to be the
David Given [Tue, 21 May 2013 17:16:30 +0000 (18:16 +0100)]
Lots more opcodes including float support. Define float and double to be the
same thing (as the VC4 seems not to have double-precision float support).

--HG--
branch : dtrg-videocore

11 years agoAdd a lot more opcodes.
David Given [Mon, 20 May 2013 22:27:45 +0000 (23:27 +0100)]
Add a lot more opcodes.

--HG--
branch : dtrg-videocore

11 years agoFix typo.
David Given [Mon, 20 May 2013 22:27:31 +0000 (23:27 +0100)]
Fix typo.

--HG--
branch : dtrg-videocore

11 years agoRemember to clear ackflags on reset.
David Given [Mon, 20 May 2013 21:41:27 +0000 (22:41 +0100)]
Remember to clear ackflags on reset.

--HG--
branch : dtrg-videocore

11 years agoMajor revamp to simplify and use 2op instructions. Better code. Now looks like it...
David Given [Mon, 20 May 2013 21:35:12 +0000 (22:35 +0100)]
Major revamp to simplify and use 2op instructions. Better code. Now looks like it may work one day.

--HG--
branch : dtrg-videocore

11 years agoAdd lea instruction. Fix dependency issues.
David Given [Mon, 20 May 2013 18:56:33 +0000 (19:56 +0100)]
Add lea instruction. Fix dependency issues.

--HG--
branch : dtrg-videocore

11 years agoPush/pop are the right way round. Don't corrup short-form ALU instructions. Correct...
David Given [Sun, 19 May 2013 22:34:42 +0000 (23:34 +0100)]
Push/pop are the right way round. Don't corrup short-form ALU instructions. Correct encoding of push/pop register ranges.

--HG--
branch : dtrg-videocore

11 years agoFirst steps towards a code generator.
David Given [Sun, 19 May 2013 22:33:42 +0000 (23:33 +0100)]
First steps towards a code generator.

--HG--
branch : dtrg-videocore

11 years agoAdded skeleton bootstrap code.
David Given [Sun, 19 May 2013 22:33:29 +0000 (23:33 +0100)]
Added skeleton bootstrap code.

--HG--
branch : dtrg-videocore
rename : plat/pc86/boot.s => plat/rpi/boot.s

11 years agoCorrectly emit constants in some ALU instructions.
David Given [Sun, 19 May 2013 22:19:10 +0000 (23:19 +0100)]
Correctly emit constants in some ALU instructions.

--HG--
branch : dtrg-videocore

11 years agoFix warning.
David Given [Sun, 19 May 2013 22:18:36 +0000 (23:18 +0100)]
Fix warning.

--HG--
branch : dtrg-videocore

11 years agoAdd compare-and-branch instructions.
David Given [Sun, 19 May 2013 17:40:19 +0000 (18:40 +0100)]
Add compare-and-branch instructions.

--HG--
branch : dtrg-videocore

11 years agoAdded memory operations that work on fixed up addresses.
David Given [Sun, 19 May 2013 12:03:53 +0000 (13:03 +0100)]
Added memory operations that work on fixed up addresses.

--HG--
branch : dtrg-videocore

11 years agoAdd register offset and postincrement memory operations.
David Given [Sun, 19 May 2013 11:39:35 +0000 (12:39 +0100)]
Add register offset and postincrement memory operations.

--HG--
branch : dtrg-videocore

11 years agoAdd most vanilla memory load/store instructions.
David Given [Sat, 18 May 2013 23:56:56 +0000 (00:56 +0100)]
Add most vanilla memory load/store instructions.

--HG--
branch : dtrg-videocore

11 years agoAdd a whole bunch of VC4 opcodes.
David Given [Fri, 17 May 2013 22:30:49 +0000 (23:30 +0100)]
Add a whole bunch of VC4 opcodes.

--HG--
branch : dtrg-videocore

11 years agoAdd special relocation type for VC4 jump instructions.
David Given [Fri, 17 May 2013 21:40:50 +0000 (22:40 +0100)]
Add special relocation type for VC4 jump instructions.

--HG--
branch : dtrg-videocore

11 years agoMerge fixes from trunk.
David Given [Fri, 17 May 2013 14:28:04 +0000 (15:28 +0100)]
Merge fixes from trunk.

--HG--
branch : dtrg-videocore

11 years agoFix warning.
David Given [Thu, 16 May 2013 23:04:54 +0000 (00:04 +0100)]
Fix warning.

11 years agoDependency fixes.
David Given [Thu, 16 May 2013 23:04:37 +0000 (00:04 +0100)]
Dependency fixes.

11 years agoSkeleton of VideoCore IV support for the Raspberry Pi.
David Given [Thu, 16 May 2013 23:03:38 +0000 (00:03 +0100)]
Skeleton of VideoCore IV support for the Raspberry Pi.

--HG--
branch : dtrg-videocore
rename : mach/powerpc/as/.distr => mach/vc4/as/.distr
rename : mach/powerpc/as/mach0.c => mach/vc4/as/mach0.c
rename : mach/powerpc/as/mach1.c => mach/vc4/as/mach1.c
rename : mach/powerpc/as/mach2.c => mach/vc4/as/mach2.c
rename : mach/powerpc/as/mach3.c => mach/vc4/as/mach3.c
rename : mach/powerpc/as/mach4.c => mach/vc4/as/mach4.c
rename : mach/powerpc/as/mach5.c => mach/vc4/as/mach5.c
rename : mach/i86/build.mk => mach/vc4/build.mk
rename : mach/powerpc/libem/powerpc.h => mach/vc4/libem/videocore.h
rename : mach/i86/libend/.distr => mach/vc4/libend/.distr
rename : mach/i86/libend/edata.s => mach/vc4/libend/edata.s
rename : mach/i86/libend/em_end.s => mach/vc4/libend/em_end.s
rename : mach/i86/libend/end.s => mach/vc4/libend/end.s
rename : mach/i86/libend/etext.s => mach/vc4/libend/etext.s
rename : mach/powerpc/ncg/.distr => mach/vc4/ncg/.distr
rename : mach/powerpc/ncg/mach.c => mach/vc4/ncg/mach.c
rename : mach/powerpc/ncg/mach.h => mach/vc4/ncg/mach.h
rename : mach/powerpc/ncg/table => mach/vc4/ncg/table
rename : plat/pc86/descr => plat/rpi/descr

11 years agoFix buffer overrun looking up type information for op_lab pseudoops (as
David Given [Thu, 16 May 2013 21:02:59 +0000 (22:02 +0100)]
Fix buffer overrun looking up type information for op_lab pseudoops (as
they're not EM opcodes, we shouldn't look them up in em_flags!).

11 years agoCorrectly generate dependency information.
David Given [Thu, 16 May 2013 21:02:00 +0000 (22:02 +0100)]
Correctly generate dependency information.

11 years agoMerge in build system changes.
David Given [Thu, 16 May 2013 13:33:19 +0000 (14:33 +0100)]
Merge in build system changes.

11 years agoA few last build tweaks.
David Given [Thu, 16 May 2013 13:20:58 +0000 (14:20 +0100)]
A few last build tweaks.

--HG--
branch : dtrg-buildsystem

11 years agoUpdate distribution files.
David Given [Wed, 15 May 2013 22:46:15 +0000 (23:46 +0100)]
Update distribution files.

--HG--
branch : dtrg-buildsystem

11 years agoNow describe the make-based build system in the README.
David Given [Wed, 15 May 2013 22:12:05 +0000 (23:12 +0100)]
Now describe the make-based build system in the README.

--HG--
branch : dtrg-buildsystem

11 years agoFix build error in opt which was causing all code, everywhere, to be broken.
David Given [Wed, 15 May 2013 21:09:28 +0000 (22:09 +0100)]
Fix build error in opt which was causing all code, everywhere, to be broken.
Remember to build opt2 too.

--HG--
branch : dtrg-buildsystem

11 years agoBuild ego.
David Given [Wed, 15 May 2013 20:14:06 +0000 (21:14 +0100)]
Build ego.

--HG--
branch : dtrg-buildsystem
rename : util/arch/build.mk => util/ego/build.mk

11 years agoModula-2 now works.
David Given [Tue, 14 May 2013 21:24:38 +0000 (22:24 +0100)]
Modula-2 now works.

--HG--
branch : dtrg-buildsystem
rename : lang/pc/build.mk => lang/m2/build.mk
rename : lang/pc/libpc/build.mk => lang/m2/comp/build.mk
rename : lang/pc/libpc/build.mk => lang/m2/libm2/build.mk

11 years agoPascal compiler now runs.
David Given [Tue, 14 May 2013 19:47:04 +0000 (20:47 +0100)]
Pascal compiler now runs.

--HG--
branch : dtrg-buildsystem
rename : lang/basic/build.mk => lang/pc/build.mk
rename : lang/cem/cemcom.ansi/build.mk => lang/pc/comp/build.mk
rename : lang/basic/lib/build.mk => lang/pc/libpc/build.mk

11 years agoBasic compiler now runs.
David Given [Tue, 14 May 2013 17:01:38 +0000 (18:01 +0100)]
Basic compiler now runs.

--HG--
branch : dtrg-buildsystem

11 years agoBuild the Basic run-time library (after some modernisation).
David Given [Tue, 14 May 2013 15:11:29 +0000 (16:11 +0100)]
Build the Basic run-time library (after some modernisation).

--HG--
branch : dtrg-buildsystem

11 years agoAdd missing dependency.
David Given [Tue, 14 May 2013 13:55:29 +0000 (14:55 +0100)]
Add missing dependency.

--HG--
branch : dtrg-buildsystem

11 years agoTop, topgen, aelflod. Moved the libraries back into the platform-specific
David Given [Mon, 13 May 2013 22:26:15 +0000 (23:26 +0100)]
Top, topgen, aelflod. Moved the libraries back into the platform-specific
directories --- wrangling descr files was too hard. C programs can be built
for cpm, pc86, linux386, linux68k!

--HG--
branch : dtrg-buildsystem
rename : util/ack/build.mk => util/led/build.mk
rename : util/LLgen/build.mk => util/topgen/build.mk

11 years agoSplit off some of the platform-independent stuff (such as as and ncg).
David Given [Mon, 13 May 2013 21:12:46 +0000 (22:12 +0100)]
Split off some of the platform-independent stuff (such as as and ncg).

--HG--
branch : dtrg-buildsystem
rename : plat/pc86/build.mk => mach/i386/build.mk
rename : plat/pc86/build.mk => mach/i80/build.mk
rename : plat/pc86/build.mk => mach/i86/build.mk
rename : plat/pc86/build.mk => mach/m68020/build.mk
rename : plat/pc86/build.mk => mach/powerpc/build.mk

11 years agoMerge updates from trunk.
David Given [Mon, 13 May 2013 11:37:27 +0000 (12:37 +0100)]
Merge updates from trunk.

--HG--
branch : dtrg-buildsystem

11 years agoFix typo.
David Given [Mon, 13 May 2013 10:14:10 +0000 (11:14 +0100)]
Fix typo.

--HG--
branch : dtrg-buildsystem

11 years agoMade a start on building the runtimes for each platform and language; the
David Given [Sun, 12 May 2013 22:51:55 +0000 (23:51 +0100)]
Made a start on building the runtimes for each platform and language; the
Linuxes all build.

--HG--
branch : dtrg-buildsystem
rename : modules/src/em_mes/build.mk => modules/src/read_em/build.mk
rename : plat/pc86/build.mk => plat/linux386/build.mk
rename : plat/pc86/build.mk => plat/linux68k/build.mk
rename : plat/pc86/build.mk => plat/linuxppc/build.mk
rename : util/ack/build.mk => util/misc/build.mk

11 years agoFirst milestone of replacing the build system.
David Given [Sun, 12 May 2013 19:45:55 +0000 (20:45 +0100)]
First milestone of replacing the build system.

--HG--
branch : dtrg-buildsystem
rename : lang/cem/cpp.ansi/Parameters => lang/cem/cpp.ansi/parameters.h

11 years agoChange fatal() and error() to use varargs.
David Given [Fri, 10 May 2013 11:04:21 +0000 (12:04 +0100)]
Change fatal() and error() to use varargs.

11 years agoMerge changes from branch: linux68k platform, linuxppc platform (partially
David Given [Thu, 9 May 2013 17:14:16 +0000 (18:14 +0100)]
Merge changes from branch: linux68k platform, linuxppc platform (partially
working), and miscellaneous changes to support these.

11 years agoApply George Koehler's aelflod fix for generating non-EM_386 binaries.
David Given [Thu, 9 May 2013 14:54:23 +0000 (15:54 +0100)]
Apply George Koehler's aelflod fix for generating non-EM_386 binaries.
Adjust platforms to use it. Fix some bugs in the linux386 platform.

--HG--
branch : dtrg-experimental-powerpc

11 years agoProperly error out if something goes wrong rather than ploughing ahead
David Given [Thu, 9 May 2013 10:20:36 +0000 (11:20 +0100)]
Properly error out if something goes wrong rather than ploughing ahead
anyway.

--HG--
branch : dtrg-experimental-powerpc

11 years agoAdd pmfile for m68020 libend.
David Given [Wed, 8 May 2013 23:58:35 +0000 (00:58 +0100)]
Add pmfile for m68020 libend.

--HG--
branch : dtrg-experimental-powerpc

11 years agoAdd pmfile for m68020 libem.
David Given [Wed, 8 May 2013 23:57:47 +0000 (00:57 +0100)]
Add pmfile for m68020 libem.

--HG--
branch : dtrg-experimental-powerpc

11 years agoAdd missing linux68k platform and liblinux support library.
David Given [Wed, 8 May 2013 23:56:10 +0000 (00:56 +0100)]
Add missing linux68k platform and liblinux support library.

--HG--
branch : dtrg-experimental-powerpc

11 years agoCheck in incomplete Linux PowerPC and M68K work.
David Given [Tue, 7 May 2013 23:48:48 +0000 (00:48 +0100)]
Check in incomplete Linux PowerPC and M68K work.

--HG--
branch : dtrg-experimental-powerpc

11 years agoSome fixes for aelflod and aslod.
George Koehler [Wed, 24 Apr 2013 23:57:23 +0000 (19:57 -0400)]
Some fixes for aelflod and aslod.

Copy rhead() and rsect() from aslod to aelflod, so aelflod can work
for machine with 64-bit long.

In aelflod, fix ELF header so file(1) no longer reports "corrupted
section header size".

11 years agoBack out erroneous change.
David Given [Fri, 14 Dec 2012 11:56:21 +0000 (11:56 +0000)]
Back out erroneous change.

11 years agoPrevent segfault when trying to print an error message.
George Koehler [Wed, 24 Oct 2012 17:44:50 +0000 (13:44 -0400)]
Prevent segfault when trying to print an error message.

Use <stdarg.h> to pass arguments correctly, as ack/util/util.c
already uses <stdarg.h> the same way.

11 years agoChange from using platform-specific types to stdint platform-independent types
David Given [Thu, 27 Sep 2012 10:32:40 +0000 (11:32 +0100)]
Change from using platform-specific types to stdint platform-independent types
when reading the structure header.

11 years agoChange to use stdint's implementation independent types rather than short and
David Given [Thu, 27 Sep 2012 09:54:41 +0000 (10:54 +0100)]
Change to use stdint's implementation independent types rather than short and
long (which vary depending on whether you're on a 64-bit system or not).

11 years agoMerge deletion of many undead files.
George Koehler [Sun, 23 Sep 2012 19:31:16 +0000 (15:31 -0400)]
Merge deletion of many undead files.

11 years agoAllow pc86 bootloader to boot from more floppy drives.
George Koehler [Sun, 23 Sep 2012 18:43:22 +0000 (14:43 -0400)]
Allow pc86 bootloader to boot from more floppy drives.

When the bootloader probes the drive geometry, the BIOS can clobber the
es register.  If this happens, the bootloader loads the program to the
wrong address, and jumps off the code.  This happens with an emulated
floppy drive in Bochs or QEMU, but not with an emulated hard disk.

12 years agoPrevent division by zero in aslod.
George Koehler [Sat, 22 Sep 2012 02:51:12 +0000 (22:51 -0400)]
Prevent division by zero in aslod.

rhead() and rsect() had assumed sizeof(long) == 4, but OpenBSD/amd64
has sizeof(long) == 8.  The problem revealed itself when sect->os_lign
became zero, and align() divided by zero.

12 years agoDelete 689 undead files.
George Koehler [Fri, 21 Sep 2012 02:26:32 +0000 (22:26 -0400)]
Delete 689 undead files.

These files "magically reappeared" after the conversion from CVS to
Mercurial.  The old CVS repository deleted these files but did not
record *when* it deleted these files.  The conversion resurrected these
files because they have no history of deletion.  These files were
probably deleted before year 1995.  The CVS repository begins to record
deletions around 1995.

These files may still appear in older revisions of this Mercurial
repository, when they should already be deleted.  There is no way to fix
this, because the CVS repository provides no dates of deletion.

See http://sourceforge.net/mailarchive/message.php?msg_id=29823032

12 years ago*Again* fix fit16i() for systems with 64-bit long.
George Koehler [Thu, 20 Sep 2012 03:39:51 +0000 (23:39 -0400)]
*Again* fix fit16i() for systems with 64-bit long.

I already did this in abebf1586c06, but I edited the wrong file.  Then
in edddc6b7cd17, I deleted that file.

By fixing fit16i(), I can now compile ACK for OpenBSD/amd64.

12 years agoDelete old and unused files from modules/src/em_code
George Koehler [Mon, 17 Sep 2012 20:04:55 +0000 (16:04 -0400)]
Delete old and unused files from modules/src/em_code

12 years agoFix fit16i() for systems with 64-bit long.
George Koehler [Sun, 16 Sep 2012 23:57:07 +0000 (19:57 -0400)]
Fix fit16i() for systems with 64-bit long.

(long)0xFFFF8000 had expanded to 0x00000000FFFF8000.
With (long)(-0x8000), the compiler now extends the negative sign.

12 years agoFix more functions in util/ack for 64-bit hosts.
George Koehler [Fri, 7 Sep 2012 20:28:10 +0000 (16:28 -0400)]
Fix more functions in util/ack for 64-bit hosts.

This continues the fix from changeset aabde0589450.  We must use
va_list to forward the arguments, because some of the arguments might
be 64-bit pointers.  A pointer does not fit in an int.

12 years agoFix cemcom.ansi for 64-bit hosts.
George Koehler [Fri, 7 Sep 2012 19:53:13 +0000 (15:53 -0400)]
Fix cemcom.ansi for 64-bit hosts.

Hosts with sizeof(arith) == sizeof(long) == 8 need to set full_mask[1]
through full_mask[8].  Because MAXSIZE == 8, we only had full_mask[0]
through full_mask[7].  This fix declares arith full_mask[MAXSIZE + 1]
and prevents a fatal error: "array full_mask too small for this machine"

12 years agoFix a 64-bitness issue (removed some untyped K&R C code that assumed ints
David Given [Mon, 27 Feb 2012 22:36:36 +0000 (22:36 +0000)]
Fix a 64-bitness issue (removed some untyped K&R C code that assumed ints
and pointers were the same size).

13 years agoAdded atol() that ignores overflow, so that unsigned long constants are dealt with...
Ceriel Jacobs [Wed, 15 Jun 2011 09:13:48 +0000 (11:13 +0200)]
Added atol() that ignores overflow, so that unsigned long constants are dealt with properly

13 years agoFixed CFU
Ceriel Jacobs [Wed, 15 Jun 2011 08:56:58 +0000 (10:56 +0200)]
Fixed CFU

13 years agoFixed bug reported on tack-devel mailing list on 20-3-2011
cjhjacobs [Wed, 18 May 2011 17:19:19 +0000 (19:19 +0200)]
Fixed bug reported on tack-devel mailing list on 20-3-2011

13 years agoRemoved file that the CVS conversion procedure left in (when it shouldn't have).
David Given [Sun, 20 Mar 2011 20:47:10 +0000 (20:47 +0000)]
Removed file that the CVS conversion procedure left in (when it shouldn't have).

13 years agoconvert CVS tags
cvs2hg [Fri, 11 Feb 2011 00:51:45 +0000 (00:51 +0000)]
convert CVS tags

13 years agoReplaced dis and new with modern implementations donated by erik@backerud.se.
dtrg [Sat, 2 Oct 2010 21:52:29 +0000 (21:52 +0000)]
Replaced dis and new with modern implementations donated by erik@backerud.se.

13 years agoCall the correct kill() and getpid() syscalls rather than _kill() and _getpid().
dtrg [Sat, 2 Oct 2010 21:51:40 +0000 (21:51 +0000)]
Call the correct kill() and getpid() syscalls rather than _kill() and _getpid().

13 years agoNow call creat() and open() instead of _creat() and _open().
dtrg [Mon, 27 Sep 2010 20:47:32 +0000 (20:47 +0000)]
Now call creat() and open() instead of _creat() and _open().

13 years agoAdded support for remove() and unlink().
dtrg [Mon, 27 Sep 2010 20:44:49 +0000 (20:44 +0000)]
Added support for remove() and unlink().

14 years agoFixed very old bug where Streams.GetStreamPosition would return the wrong position...
dtrg [Wed, 1 Sep 2010 19:55:15 +0000 (19:55 +0000)]
Fixed very old bug where Streams.GetStreamPosition would return the wrong position --- thanks to Jan Verhoeven for finding this.