Giacomo Tesio
b9acacfcc8
coverity-scan.sh: set CPATH to workaround cross-compiling issues
2017-04-23 14:04:35 +02:00
Giacomo Tesio
ac1176d9ff
newlib: set CPATH for coverity too
2017-04-23 13:36:49 +02:00
Giacomo Tesio
bd3884cc9c
README.md: git submodule update --depth 1 (as newlib has a lot of history)
2017-04-23 12:25:10 +02:00
Giacomo Tesio
e0901def6d
continuous-build.sh: set CPATH to workaround cross-compiling issues
2017-04-22 18:57:25 +02:00
Giacomo Tesio
2c9e1fa260
newlib: fix typo
2017-04-22 18:30:06 +02:00
Giacomo Tesio
c983cc4c59
newlib: set CPATH to cross compiler's includes
2017-04-22 18:25:31 +02:00
Giacomo Tesio
860f67ca6e
newlib: travis-ci madness... why? why?
2017-04-22 18:06:31 +02:00
Giacomo Tesio
03fabf2031
newlib: travis-ci madness... why?
2017-04-22 18:05:04 +02:00
Giacomo Tesio
b5fc12ec37
.travis.yml: try gcc-4.9
2017-04-22 17:47:51 +02:00
Giacomo Tesio
c159c88b4d
newlib: travis-ci madness
2017-04-22 17:46:49 +02:00
Giacomo Tesio
12c928f7f0
newlib: fix host configuration
2017-04-22 14:35:11 +02:00
Giacomo Tesio
e932450b73
newlib: specify build and host to configure
2017-04-22 14:27:18 +02:00
Giacomo Tesio
25d20d27cd
newlib: fix shell script
2017-04-22 14:00:09 +02:00
Giacomo Tesio
520e3e2787
devtools: newlib: print config.log on build error
2017-04-22 12:06:49 +02:00
Giacomo Tesio
f0e5ff1f50
libposix: reindent license header
2017-04-22 00:49:02 +02:00
Giacomo Tesio
c2982db8a2
newlib: run first QA checks
2017-04-22 00:46:55 +02:00
Giacomo Tesio
2f45a5e689
devtools: updated cross compiled newlib
2017-04-22 00:43:17 +02:00
Giacomo Tesio
c2204d83a5
libposix: getppid
2017-04-22 00:40:39 +02:00
Giacomo Tesio
d2a0389ae4
fs: no "default" posix library
2017-04-21 23:59:27 +02:00
Giacomo Tesio
a1b4085b7b
libc: keep __libc_init weak definition private
2017-04-21 23:58:06 +02:00
Giacomo Tesio
4142b70d32
libposix: allow custom translations of exit status
2017-04-21 23:56:43 +02:00
Giacomo Tesio
61f47bce83
Fix posix.h license header
...
LibPOSIX is distributed as Affero GNU General Purpose License version 3, as you can see in the code. This was just a typo.
2017-04-20 01:01:47 +02:00
Giacomo Tesio
188a07782d
libposix: initial draft
2017-04-19 23:48:54 +02:00
Giacomo Tesio
e70feee4a3
libc: introduce "jehanne_" namespace
...
With this commit all functions declared in libc.h have been renamed
with the "jehanne_" prefix. This is done for several reason:
- it removes conflicts during symbol resolution when linking
standard C libraries like newlib or musl
- it allows programs depending on a standard C library to directly
link to a library depending on our non standard libc (eg libsec).
To ease transiction two files are provided:
- sys/include/lib9.h that can be included instead of <libc.h> to use
the old names (via a simple set of macros)
- sys/src/lib/c/lib9.c that can be compiled with a program where the
macro provided by lib9.h are too dumb (see for example rc or grep).
In the kernel port/lib.h has been modified accordingly and some of
the functions it directly provides has been renamed too (eg malloc
in qmalloc.c and print in devcons.c).
2017-04-19 23:48:21 +02:00
Giacomo Tesio
d38f7bb488
cross-compiler: use automake 1.11.6 instead of 1.11.1
2017-03-23 18:44:52 +01:00
Giacomo Tesio
cf5144b744
devtools: disk-create.sh: remove perl dependency
2017-02-25 11:09:33 +01:00
Giacomo Tesio
25f2fb7eef
devtools: update continuous-build.sh
2017-02-22 00:56:42 +01:00
Giacomo Tesio
a55f6222e4
travis-ci: install qemu 2.1 from ppa:jacob/virtualisation
...
Ubuntu Trusty provides Qemu 2.0, but we need the 2.1 version to use AHCI.
So we use it from Zimmermann's PPA repository.
2017-02-22 00:49:33 +01:00
Giacomo Tesio
59d5307584
disk-create.sh: hack fdisk calls for compatibility
2017-02-16 21:34:52 +01:00
Giacomo Tesio
c3388cc5c3
travis-ci: update devtools to fix build (hopefully)
2017-02-15 01:19:21 +01:00
Giacomo Tesio
d16c45e229
travis-ci: install syslinux; set SYSLINUXBIOS
2017-02-11 00:51:49 +01:00
Giacomo Tesio
2fd3a3848b
travis-ci: install syslinux-utils
2017-02-11 00:23:57 +01:00
Giacomo Tesio
d4ef3a2344
QA: run /qa/check on a disk image too
2017-02-10 23:54:47 +01:00
Giacomo Tesio
64466d840e
libc.h: simplify ARGBEGIN macro
...
Should fix CID 155592 since the idiom:
argv0 = nil;
ARGBEGIN{
...
}ARGEND
would not produce logically dead code.
2017-02-08 00:19:22 +01:00
Giacomo Tesio
7609abaaf3
libauth: fix potential null deref in auth_proxy
...
Should fix CID 155820
2017-02-08 00:07:01 +01:00
Giacomo Tesio
1f59502bf5
kernel/boot: #ec/console (from kernel args) defines the console to start
2017-02-04 01:04:51 +01:00
Giacomo Tesio
19bf511603
kernel: devdup: fix dup(n, 0)
...
Completes e1a14b49be
2017-01-24 22:24:55 +01:00
Giacomo Tesio
edd84db070
kernel: import 9front's PCI improvements
2017-01-24 22:24:43 +01:00
Giacomo Tesio
c2b06ebf80
kernel: fix out of bound read in trap()
...
Reported by coverity, CID 155927: if vno == 32 it would access index
32 of excname at trap.c:339.
2017-01-24 22:24:20 +01:00
Giacomo Tesio
6dd0f2e130
kernel: use pprint instead of print in elf64ldseg.
...
Should also fix CID 156242, CID 156240 and CID 156236 avoiding
access to uninitialized pointers (get64, get32 and get16).
2017-01-24 22:23:17 +01:00
Giacomo Tesio
db8aab1a04
kernel: boot: fix more dup() leaks reported by coverity
2017-01-24 22:22:58 +01:00
Giacomo Tesio
aa25654232
libsec: improve fix #4 : check valid length in TLS (msgRecv)
...
This commit should complete the work done at 90fe80e73b
Should also fix CID 155874.
2017-01-24 22:22:20 +01:00
Giacomo Tesio
f6e1c78244
devtools: various fixes
2017-01-20 01:54:36 +01:00
Giacomo Tesio
0e29b708cb
published: doc/hacking/overview.md
2017-01-20 01:53:06 +01:00
Giacomo Tesio
5952f36a44
devtools: introduce ./hacking/gdb.sh and improve ./hacking/devshell.sh
2017-01-19 19:34:56 +01:00
Giacomo Tesio
65cdad4317
libc: rewrite putenv and getenv.
...
These new implementations
- do several validity check on input parameters
- allow a bit larger variable names (127 bytes, aka sizeof(Proc.genbuf)-1)
- preserve nulls in the content (the original version used to replace
'\0' with ' '). I can't see why they did, actually.
See also http://marc.info/?l=9fans&m=148475801229908&w=2
Should also fix CID 155718
2017-01-19 00:58:43 +01:00
Giacomo Tesio
d43be3861b
libc: fix potential nil dereference in system() posix wrapper
...
Should also fix CID 155750.
2017-01-18 23:36:18 +01:00
Giacomo Tesio
b05c21397e
libc: rewrite brk() and sbrk()
...
Also fix Coverity 1 scan defects, CID 155773 and CID 155768, removing
less-than-zero comparisons of unsigned values that were never true.
2017-01-18 23:35:41 +01:00
Giacomo Tesio
6e816b293d
libmp: fix #6 : mptole takes `p` xor `pp`
...
See commit 0f82a2c3c3
for further info
Also fix build after typo.
2017-01-18 01:59:44 +01:00
Giacomo Tesio
0f82a2c3c3
libmp: fix #5 : mptole takes `p` xor `pp`
...
According to http://man.cat-v.org/9front/2/mp mptole either take p or pp:
> Mptobe and mptole convert an mpint to a byte array. The
> former creates a big endian representation, the latter a
> little endian one. If the destination buf is not nil, it
> specifies the buffer of length blen for the result. If the
> representation is less than blen bytes, the rest of the
> buffer is zero filled. **If buf is nil**, then a buffer is
> allocated and a pointer to it is deposited in the location
> pointed to by **bufp**. Sign is ignored in these conversions,
> i.e., the byte array version is always positive.
Assert accordingly.
2017-01-18 01:47:31 +01:00