Commit Graph

126 Commits

Author SHA1 Message Date
Kevin Lange
4868960364 Build ALL the things! 2013-05-12 00:38:56 -07:00
Kevin Lange
416d483fd6 Box drawing and new wcwidth
Currently a brute-force method, going
to replace this with a Markus Khun-esque interval
search shortly.
2013-05-11 13:20:20 -07:00
Kevin Lange
295ec5f08a Cross GCC compiler. 2013-05-08 00:50:11 -07:00
Kevin Lange
f4c68573aa execvp 2013-05-08 00:45:00 -07:00
Kevin Lange
355d4b4dbe Merge pull request #35 from srjek/zlib1.2.8
Upgrade zlib from 1.2.7 to 1.2.8, or provide an alt url
2013-05-06 14:12:11 -07:00
Kevin Lange
a4a117cf0c Fix some build derps 2013-05-05 15:54:01 -07:00
Kevin Lange
1e664bef2b Integrate signals into libc 2013-05-05 15:00:24 -07:00
Josh Kilmer
892ae803d3 Upgrade zlib from 1.2.7 to 1.2.8 2013-04-30 03:20:48 -05:00
Kevin Lange
d78f5233d7 remove unused CYGWIN garbage from newlib header 2013-04-27 22:03:47 -07:00
Kevin Lange
fde9c6d652 New ioctl commands and userspace improvements 2013-04-27 01:16:36 -07:00
Kevin Lange
a2a890e1a8 Fresh new VFS syscalls: unlink, chmod, umask 2013-04-23 01:14:33 -07:00
Kevin Lange
ae1d555a13 Syscall bindings 2013-04-22 22:36:56 -07:00
Kevin Lange
ade59a11bc XXX ABI BREAKING CHANGE - New load/heap/stack/shm
Address for program loading, kernel heap, userspace SHM regions, and
stacks have been changed.

Delete:
  toolchain/build
  toolchain/local
  .userspace_check

Run:
  python userspace/build.py clean
  make clean-disk
  make clean
  ./build.sh
2013-04-21 17:35:03 -07:00
Kevin Lange
9b5e3ed2cf Script to get (but not build) GCC extras
(gmp, mpc, mpfr)
2013-04-21 11:24:52 -07:00
Kevin Lange
c98ba11128 -1 is a much better thing to return 2013-04-21 11:23:06 -07:00
Kevin Lange
42e70f6c79 Only libstdc++ for second pass of gcc 2013-04-20 15:43:19 -07:00
Kevin Lange
a7cd255546 Various C library adjustments
Fix weird linking issues with newlib:
- Get rid of dlmalloc
- Also get rid of klmalloc

Adjust crt0 operation:
- Kill the dead loop at the end
- Pass main to pre_main as a function pointer to move `main` reference
  into crt0.o

- Fix a build script derp with trying to remove build and local
  directories (gets rid of some warnings)
2013-04-17 22:23:38 -07:00
Kevin Lange
7a6e193b6a Remove stale directories for those, too 2013-04-13 00:23:02 -07:00
Kevin Lange
84938d1258 Install vim to /bin/vim not /bin/vim.xxx 2013-04-13 00:10:29 -07:00
Kevin Lange
0f3f85a981 Ncurses and vim 2013-04-12 23:53:21 -07:00
Kevin Lange
96b1d7e23a Mesa 7.5.2 in toolchain 2013-04-12 21:20:08 -07:00
Kevin Lange
4fa39ba510 Also do that in the main build scripts 2013-04-09 01:31:11 -07:00
Kevin Lange
4fed4d96ea Nuke malign.c when building newlib 2013-04-09 00:16:42 -07:00
Kevin Lange
4fc6fe741a Add usleep to newlib, silence some warnings 2013-03-26 23:30:09 -07:00
Kevin Lange
bc2e4741c7 Random bits and pieces 2013-03-22 15:11:19 -07:00
Kevin Lange
ce4c6bea52 Better debug output, using serial, for userspace 2013-03-22 12:39:05 -07:00
Kevin Lange
674f047bde fix stat for missing file 2013-03-22 12:14:04 -07:00
Kevin Lange
fa79c89e54 Some fixes and cleanup 2013-03-22 11:58:22 -07:00
Kevin Lange
ef459bdaad More rough stubs and fixes 2013-03-20 21:24:55 -07:00
Kevin Lange
21aeb34ea4 Rough ioctl with support for winsize 2013-03-18 23:57:40 -07:00
Kevin Lange
ff429a7d07 Fix termios.h in newlib 2013-03-18 13:23:25 -07:00
Kevin Lange
71342f842d procfs, and more pty cleanup 2013-03-18 00:52:12 -07:00
Kevin Lange
e02cf79e2a Rough PTY support (needs work) 2013-03-17 16:34:23 -07:00
Kevin Lange
eb92cccecd Cleanup 2013-03-15 00:52:09 -07:00
Kevin Lange
22f04f137b Relatively compliant uname() implementation
Also, sleep() as a function (implemented by way of nanosleep) and new
absolute and relative sleep system calls added to newlib.

[ci skip] I damn well know this is going to break CI.
2013-03-13 21:55:25 -07:00
Kevin Lange
580cee4dd8 Don't build zlib with the --solo flag 2013-02-02 15:10:52 -08:00
Kevin Lange
2eb3077270 errrg 2013-01-27 17:17:52 -08:00
Kevin Lange
14b939832d Add Cairo and Pixman (slightly outdated) to toolchain 2013-01-27 16:27:18 -08:00
Kevin Lange
ef7c49b94c Global initializers. 2013-01-25 15:59:33 -08:00
Kevin Lange
609cd514f1 set toolchain path 2012-12-07 20:35:33 -08:00
Kevin Lange
e9f89f157b Pull newlib from github as well 2012-12-04 20:43:55 -08:00
Kevin Lange
fe7ac5a219 Disable output from the actual install process 2012-12-04 20:37:19 -08:00
Kevin Lange
e51e75be68 Maybe possibly speed up build script 2012-12-04 20:15:59 -08:00
Kevin Lange
b5e7eb64dd Actually fix the patch? 2012-12-03 16:13:49 -08:00
Kevin Lange
bb6cd41903 Fix patch? 2012-12-03 15:17:46 -08:00
Kevin Lange
b246132c6b Attempt to patch a bug out of gcc
... so that it builds on newer versions of itself.
2012-12-02 19:05:56 -08:00
Kevin Lange
c93b5617e8 Support C++ (roughly) in toolchain
* Reenables building of libstdc++
* Enables building of g++
* WARNING: The static binary loader does NOT support static
  initializer functions! You must run them yourself (see
  userspace/test-cpp.cpp for an example that initializes the standard
  streams in order to use cout) until this is fixed.
* C++ stuff is slow to load, try to manually strip, it'll speed things
  up a bit.
2012-11-20 19:28:22 -08:00
Kevin Lange
a60a78d157 Updated toolchain stuff with some new headers.
I'm working on termios support... it's stubs for now, though.
2012-10-09 21:02:43 -07:00
Kevin Lange
c8b3a480c7 Scripts to run the clang analyzer 2012-10-09 21:00:50 -07:00
Kevin Lange
1a648129cb Fix import for dirent.h 2012-10-08 19:37:46 -07:00
Kevin Lange
5249138dcd Environment variables, integrated with newlib.
* Patched crt0 to support a pre_main
* pre_main sets up environment variables, can do other things later,
  but then just jumps to main with the same arguments.
* Updated a bunch of apps to pass environment variables around.
2012-10-08 00:17:50 -07:00
Kevin Lange
147f112151 Updated toolchain scripts for better libc builds 2012-10-08 00:17:32 -07:00
Kevin Lange
987fdf2959 Fix one last libpng 1.5.12 / 1.5.13 issue 2012-09-29 16:32:28 -07:00
Kevin Lange
e199e30efd Update toolchain libpng 2012-09-29 15:57:41 -07:00
Kevin Lange
8dec80deb9 [risky] Try to merge in dirent.h stuff.
This might not work. I hope it does, though.
2012-09-16 20:37:22 -07:00
Kevin Lange
352badfadf Cleanup some things
* Remove old login background [unused]
* Remove glock (graphical lock) [outdated]
* Have toolchain/activate set pkg-config variables
  XXX: You will have unset PKG_CONFIG_LIBDIR to configure native
  software if you have activated the toolchain! Otherwise, your
  pkgconfig information will be incorrect.
* Fixed a bug in the compositor where we would give window stack order 0
  to applications that didn't ask for it because depths were assigned by
  wid which starts at 0. Make it start at 1 instead, no chance of an app
  getting the wrong stack order (this shoudn't have any effect on how
  things work with a login app, since it grabs wid 0; but if you boot
  directly into a non-login environment, minor timing issues can do odd
  things.)
2012-09-16 18:14:07 -07:00
Kevin Lange
32fe610b7c Updates to newlib patches
* Replace my allocator with dlmalloc [public domain]
* Path up setjmp.S so that it doesn't call CLI
* Add some stubs to syscalls.c
2012-09-14 19:11:45 -07:00
Kevin Lange
46d8f11c88 Add libpng/zlib to the toolchain
* Also some minor updates to the toolchain in general.
* Replacing the old bitmap wallpaper (not the actual wallpaper, but the
  terminal one) with a fresh new wallpaper as a PNG.
2012-09-12 20:06:22 -07:00
Kevin Lange
027d90a53b Fix an incorrect definition for a syscall
Wow that was a bad one.
2012-09-04 22:33:36 -07:00
Kevin Lange
ed0b4d2e4b Accidentally moved a cp of a header...
... to a point before its destination existed.
2012-09-04 20:47:25 -07:00
Kevin Lange
07955c83c6 Fix dozens of build warnings and other oddities.
* Finally bring syscall.h up to speed and include all syscalls in the
  syscall module of the C library.
* Remove the third-party obfuscated C demos (we have nyancat, good
  enough)
* Fix userspace apps to build without complaining about undeclared
  strtok_r by disable __STRICT_ANSI__
* Fix .eh_frame by including the proper stuff with libgcc.
2012-09-04 20:27:49 -07:00
Kevin Lange
989b43ee68 Fix malloc in libc? 2012-06-01 02:02:02 +09:00
Kevin Lange
112d61fec6 Revert "Remove my allocator from newlib patches"
This reverts commit 82ca77e8bb.
2012-06-01 01:02:00 +09:00
Kevin Lange
755058d9af Fix some typos in the toolchain scripts 2012-05-31 22:53:42 +09:00
Kevin Lange
94bac01312 Remove accidentally added swap files. 2012-05-26 10:17:30 +09:00
Kevin Lange
2c3cb1578e Merge branch 'master' of github.com:klange/osdev 2012-05-17 13:47:42 -04:00
Kevin Lange
82ca77e8bb Remove my allocator from newlib patches 2012-05-17 13:47:23 -04:00
Kevin Lange
5fe2fdcfe8 Break out on failure 2012-05-17 12:18:16 -04:00
Kevin Lange
e9e4d89ac8 Toolchain installer now does freetype 2012-05-17 11:50:25 -04:00
Kevin Lange
309dfed2bf Uncomment gcc and binutils builders 2012-05-16 23:12:11 -04:00
Kevin Lange
59649f8fed activate script 2012-05-16 23:10:06 -04:00
Kevin Lange
b7647f108f Build toolchain should produce working gcc now 2012-05-16 23:08:43 -04:00
Kevin Lange
659727e514 Toolchain build stuff should work, but not c++ yet. 2012-05-16 23:03:17 -04:00
Kevin Lange
af8e7d9e00 Prepare script should be done. 2012-05-16 22:21:37 -04:00
Kevin Lange
37bd5caf53 Toolchain stuff continued 2012-05-16 21:56:31 -04:00
Kevin Lange
94037f482f Working on toolchain autobuild 2012-05-16 21:37:06 -04:00