Commit Graph

114 Commits

Author SHA1 Message Date
Serge Vakulenko
5cb608d7e1 Rename other disk drivers which needed rdisk.
Delete device names from all the drivers.
Move device inslude files from include/sys to include/machine directory.
Only include files which have something useful for user layer
(like special ioctls codes) should be placed into sys.
2015-09-26 23:00:13 -07:00
Serge Vakulenko
3073e9af87 Modify SD driver for direct i/o (no rdisk). 2015-09-26 21:46:11 -07:00
Serge Vakulenko
f53ab56d1a Fix bug in assembler: incorrect alignment of rodata relocation section. 2015-09-17 22:11:36 -07:00
vak
51e09b4885 Fix bug in assembler: unaligned allocation of local common blocks. 2015-09-16 19:19:26 -07:00
vak
dbd2d74487 Fix bss size alignment in the assembler.
Relax the requirement in the linker as well.
2015-09-15 00:37:35 -07:00
Serge Vakulenko
51e46b333b Extend SmallerC sizes to be able to compile curses examples. 2015-09-14 11:48:16 -07:00
Serge Vakulenko
218466583d Fix curses bug: garbled output in nl mode.
Use nonl mode in sl, as more efficient.
2015-09-13 23:47:32 -07:00
Serge Vakulenko
261f70aef6 Enable nonl mode in libcurses by default.
Update sl sources from https://github.com/mtoyoda/sl.
2015-09-13 18:40:58 -07:00
Serge Vakulenko
2b09c13056 Use /root as a home for superuser.
Fix build warnings.
Delete extra copy of uuencode/uudecode.
2015-09-13 10:30:06 -07:00
Serge Vakulenko
3b1e8d40d7 Fix build errors. 2015-09-13 02:21:03 -07:00
Serge Vakulenko
0087168ba6 Add missing file /.profile.
Simplify stty utility, remove unused options.
2015-09-13 01:59:42 -07:00
Serge Vakulenko
9c8ee0a1a4 Merge branch 'master' of https://github.com/RetroBSD/retrobsd. 2015-09-07 21:32:55 -07:00
Serge Vakulenko
2c41b4d9e1 Fix crash in fsck, when reconnecting lost file. 2015-09-07 21:31:33 -07:00
Alexey Frunze
5f2b01ddda Smaller C: improve prologue on MIPS
Functions defined as 'type f()' now don't store A0-A3
on the stack just as functions defined as 'type f(void)'.
2015-08-30 23:52:26 -07:00
Alexey Frunze
ae75f1cecc Smaller C: improvements
All architectures:
- "return" statement at function's end doesn't jump to immediately
  following epilog anymore
- zero and non-zero constants are recognized in conditional
  expressions of "if", "do/while" and "for" statements, no code
  generated to evaluate these constant conditions and related
  unnecessary jumps aren't generated anymore either
- in "for (clause-1; expr-2; expr-3) body", "expr-3" and "body" are
  now reordered to the more natural code flow "body expr-3", thereby
  getting rid of unnecessary jumps
MIPS code generator:
- function prologue/epilogue shortened further
- RA is not explicitly saved/restored in leaf functions
- assignment of 0 (e.g. "int a = 0;") is done from register 0
  directly, avoiding a load of a constant
2015-08-29 02:27:19 -07:00
Alexey Frunze
531a56ed51 Smaller C: Recover ~7.5KB of data memory (room for improvements)
by splitting SyntaxStack[][] into two arrays and reducing
the size of the element of the first
2015-08-22 17:53:42 -07:00
Alexey Frunze
b331d3e0aa Update Smaller C
- Update license text (remove irrelevant FreeBSD references)

- Update root readme.txt

- Improve prologue/epilogue generation
  Don't generate unnecessary jumps back and forth to/from
  "sub sp, size_of_locals".
  Instead, with the help of fgetpos()/fsetpos()
  initially write ";sub sp,              0" and then, when
  the size is finally known, go back and overwrite it with
  " sub sp, size_of_locals".
2015-08-20 22:37:08 -07:00
Serge Vakulenko
c8939dc646 Fix bug in assembler: incorrect reordering of branch instruction.
Increase cpp buffer size.
2015-08-20 20:55:55 -07:00
Brian Callahan
d29b887f18 Update to emg 1.8 2015-08-12 22:09:14 -04:00
vak
0a1960c864 Makefiles updated to properly build and install pdc and libreadline. 2015-07-18 21:44:58 -07:00
Serge Vakulenko
e8cb02f3f7 Added a tiny implementation of readline library, based on linenoise sources.
See https://github.com/antirez/linenoise for details.

Implemented a routine atexit() in libc.

Pdc modified to use readline library.
2015-07-18 18:41:46 -07:00
Serge Vakulenko
0b8e8bd520 Added pdc: the programmers desktop calculator,
imported from https://github.com/daniel-thompson/pdc repository.
2015-07-18 16:30:40 -07:00
vak
0c3fffb6f6 Merge pull request #56: Fix build for gcc >= 5.0.
gcc 5.0 defaults to -std=gnu11 meaning code which relies on implicit
ints will no longer compile. Passing -std=gnu89 restores the default
but causes problems because the system headers are written in gnu11.
Using -idirafter instead of -nostdinc resolves all problems and should
be compatible with old GCC versions (and clang).
2015-07-04 19:59:43 -07:00
Sergey
af1147432a Merge branch 'uuencode' of https://github.com/sinetek/retrobsd into sinetek-uuencode 2015-07-04 19:14:06 -07:00
Serge Vakulenko
a9b2a816ba Merge pull request #54 from sinetek/fold
fold - sync with FreeBSD 2.0
2015-07-04 19:01:29 -07:00
Sergey
0329394f94 Add fold utility from FreeBSD 2.0. 2015-07-04 19:00:20 -07:00
Sergey
1bf595e11a Create $DESTDIR/share/calendar directory on install.
Also, added .gitignore for all new components.
2015-07-04 18:46:48 -07:00
Serge Vakulenko
455d7aeffe Merge pull request #53 from sinetek/calendar
calendar - sync with FreeBSD 2.0.
2015-07-04 16:46:52 -07:00
sinetek
9623203f20 uuencode/uudecode - sync with FreeBSD 2.0 2015-07-03 16:54:18 +07:00
sinetek
8d061f04e3 fold - sync with FreeBSD 2.0 2015-07-03 16:35:12 +07:00
sinetek
49550e87d8 calendar - sync with FreeBSD 2.0 2015-07-03 16:07:55 +07:00
sinetek
6504a97fd1 md5 - sync with FreeBSD 2.0 2015-07-03 15:05:54 +07:00
Serge Vakulenko
4c343f1525 Fixed bug in assembler: incorrect reordering. 2015-06-25 22:11:54 -07:00
Serge Vakulenko
9d39282ae9 All paths moved to path.h.
Cleanup in curses.h: removed reg definition.
All include files reformatted for 4-space indent.
2015-06-24 20:57:08 -07:00
Serge Vakulenko
81a8a8379d Deleted unused include files dbm.h and pcc.h.
Deleted library functions stty() and gtty().
PicoC built in mips16 mode, without floating point support.
2015-06-24 19:19:46 -07:00
Serge Vakulenko
ea7c1415d7 Fixed declarations in include/time.h file.
Deleted unused file include/stab.h and reloc utility.
2015-06-24 17:45:47 -07:00
Sergey
d9b3b93176 Fixed stack overflow in fsck. 2015-06-23 00:29:20 -07:00
Serge Vakulenko
880e6639ac All manual pages added to manifest file. 2015-06-22 22:44:18 -07:00
Sergey
bca590d42b Fixed issue #44.
Removed unnesessary include <sys/types.h> from stdio.h, stdlib.h,
string.h, strings.h and time.h.
2015-06-21 18:59:02 -07:00
Sergey
aedd0138b3 Fixed issue #46: broken instruction reordering in assembler. 2015-06-21 17:56:15 -07:00
Sergey
57b3ba3506 Fixed .equ syntax in assembler. 2015-06-21 17:05:04 -07:00
Sergey
e08e51f1b9 Use permanent allocation of major indexes for character devices. 2015-05-30 18:28:22 -07:00
Serge Vakulenko
4e8398cbc9 Driver oc renamed to pwm. 2015-05-29 20:41:26 -07:00
Alexey Frunze
3afa8e5979 Smaller C: Improve initialization of variables
- throw away data of string literals inside sizeof, e.g.
    sizeof "a"
    sizeof("a"+1)
- support minimally and inconsistently bracketed (sic)
  initialization, e.g.:
    int y[4][3] = { 1, 3, 5, 2, 4, 6, 3, 5, 7 };
    struct { int a[3], b; } w[] = { { 1 }, 2 };
- scalar initializers can be optionally enclosed in
  braces, e.g.:
    int i1 = { 1 };
2015-05-23 01:15:52 -07:00
Alexey Frunze
6144631bc5 Smaller C: Support structure passing/returning by value on MIPS 2015-05-17 15:28:37 -07:00
Alexey Frunze
4ea521eabf Smaller C improvements
- type specifiers may occur in any order
  (e.g. "unsigned short int" and "int short unsigned")

- use .rodata/.rdata section for string literals
- arbitrary length string literals (hooray!)
- better concatenation of adjacent string literals
  (now works even across preprocessor directives)

Support .bss section
- -nobss option in smlrc: use .data instead of .bss as before
- take advantage of .bss in smlrc (put a large array into it)

Remove dead/useless code

Remove useless/rarely used features/options:
-use-gp (MIPS)
-flat16/-flat32 (x86)
-seg16t (x86), -seg16 is now the default
-ctor-fxn

Add/change:
- use EXIT_FAILURE=1 instead of -1 in smlrc when aborting
  due to an error
2015-05-16 05:57:39 -07:00
Serge Vakulenko
ea03a4bc98 ADM demo rewritten without curses.
Examples reorganized.
Added examples for 37-in-1 sensor kit (not complete yet).
2015-05-14 22:11:47 -07:00
alex
a4bdbd4662 Bugfixes
- properly sign-/zero-extend returned values, e.g. the following
function must return 255 and not -1:

unsigned char f(void) { return -1; }

- properly decay arrays on the left side of ->, e.g. the following must
compile:

{
  struct {char c;} s[1];
  s[0].c = 'a'; putchar(s[0].c);
  (s+0)->c = 'b'; putchar(s[0].c);
  (*s).c = 'c'; putchar(s[0].c);
  s->c = 'd'; putchar(s[0].c);
  putchar('\n');
}

Also:
- support structure passing/returning by value (x86 only)
2015-04-25 18:03:55 -07:00
Sergey
0005e7d7bf Fixed bug in fsck: using bcopy() instead of structure assignment.
File exception.c converted to indent4 format.
2015-02-13 21:05:03 -08:00
Sergey
942bdda5ed Diskspeed: added extra sync and timeout before each test. 2015-02-13 19:41:32 -08:00