]> Zhao Yanbai Git Server - minix.git/log
minix.git
12 years agoCross compile MFS ramdisk
Thomas Veerman [Fri, 15 Jun 2012 14:13:12 +0000 (14:13 +0000)]
Cross compile MFS ramdisk

12 years agoMake mkfs.mfs cross compilable
Thomas Veerman [Tue, 12 Jun 2012 18:45:29 +0000 (20:45 +0200)]
Make mkfs.mfs cross compilable

12 years agoNot every shell understands 'let'
Thomas Veerman [Tue, 12 Jun 2012 18:51:17 +0000 (20:51 +0200)]
Not every shell understands 'let'

12 years agoUpdate nbsd_ports to account for new utils
Thomas Veerman [Mon, 11 Jun 2012 11:49:23 +0000 (11:49 +0000)]
Update nbsd_ports to account for new utils

12 years agoBuild file cross compilation tool
Thomas Veerman [Fri, 8 Jun 2012 09:32:09 +0000 (09:32 +0000)]
Build file cross compilation tool

12 years agoxinstall fix for cross compilation
Thomas Veerman [Fri, 8 Jun 2012 09:29:47 +0000 (09:29 +0000)]
xinstall fix for cross compilation

12 years agoUpdate gitignore for releasetools
Thomas Veerman [Thu, 7 Jun 2012 13:35:33 +0000 (13:35 +0000)]
Update gitignore for releasetools

12 years agoImport NetBSD tools and build.sh
Thomas Veerman [Wed, 6 Jun 2012 14:46:00 +0000 (14:46 +0000)]
Import NetBSD tools and build.sh

This commit finalizes support for cross compilation. The tools
directory are all links to the actual tools and are built on the
host system to build Minix. build.sh is the work horse that takes
care of all environment settings. It's slightly adjusted for Minix.
The /usr/src/Makefile has additional targets needed for cross
compilation.

12 years agoRemove duplicate sed
Thomas Veerman [Wed, 6 Jun 2012 14:41:53 +0000 (14:41 +0000)]
Remove duplicate sed

12 years agoFix sed for cross compilation
Thomas Veerman [Wed, 6 Jun 2012 14:32:59 +0000 (14:32 +0000)]
Fix sed for cross compilation

12 years agoImport NetBSD xinstall
Thomas Veerman [Wed, 6 Jun 2012 14:31:59 +0000 (14:31 +0000)]
Import NetBSD xinstall

Also, fix mk files for cross compilation.

12 years agoImport NetBSD mtree
Thomas Veerman [Wed, 6 Jun 2012 14:34:11 +0000 (14:34 +0000)]
Import NetBSD mtree

mtree is only used for cross compilation at this point. Also, the
required patches to make it compile on Minix cripple it probably
enough to make it unusable anyway.

12 years agoImport NetBSD mktemp
Thomas Veerman [Wed, 6 Jun 2012 14:28:48 +0000 (14:28 +0000)]
Import NetBSD mktemp

12 years agoImport NetBSD make
Thomas Veerman [Wed, 6 Jun 2012 14:24:31 +0000 (14:24 +0000)]
Import NetBSD make

12 years agoImport NetBSD flex
Thomas Veerman [Wed, 6 Jun 2012 14:10:32 +0000 (14:10 +0000)]
Import NetBSD flex

12 years agoImport NetBSD byacc
Thomas Veerman [Wed, 6 Jun 2012 13:25:48 +0000 (13:25 +0000)]
Import NetBSD byacc

12 years agoPartially import gcc and binutils
Thomas Veerman [Wed, 6 Jun 2012 13:06:52 +0000 (13:06 +0000)]
Partially import gcc and binutils

They are used as build tools for cross compilation. This import does
not include the full distribution. Rather, it sports a shell script
that will download and patch the distribution when compiled from
/usr/src/tools (yet to be committed). This part of the source tree is
only necessary for cross compilation. It's not used or compiled for
native builds.

12 years agoImport NetBSD nawk
Thomas Veerman [Wed, 6 Jun 2012 13:03:39 +0000 (13:03 +0000)]
Import NetBSD nawk

12 years agoAdd gnu directory for gmake
Thomas Veerman [Wed, 6 Jun 2012 12:02:46 +0000 (12:02 +0000)]
Add gnu directory for gmake

12 years agoAdd mk and h files needed for cross compilation
Thomas Veerman [Wed, 6 Jun 2012 12:01:38 +0000 (12:01 +0000)]
Add mk and h files needed for cross compilation

12 years agoRename tools to releasetools
Thomas Veerman [Fri, 8 Jun 2012 13:09:54 +0000 (13:09 +0000)]
Rename tools to releasetools

This is in preparation of NetBSD's tools directory to build tools
for cross compilation.

12 years agoRewrite osrelease.sh to parse Minix version
Thomas Veerman [Wed, 6 Jun 2012 11:53:19 +0000 (11:53 +0000)]
Rewrite osrelease.sh to parse Minix version

12 years agoDynamically determine which ramdisk to use
Thomas Veerman [Wed, 6 Jun 2012 11:49:36 +0000 (11:49 +0000)]
Dynamically determine which ramdisk to use

.Also, rename ext2_ramdisk to ramdisk_ext2.

12 years agoUse MACHINE_ARCH instead of ARCH
Thomas Veerman [Wed, 6 Jun 2012 11:27:00 +0000 (11:27 +0000)]
Use MACHINE_ARCH instead of ARCH

12 years agoRemove MINIXSRCDIR and use NETBSDSRCDIR
Thomas Veerman [Wed, 6 Jun 2012 11:16:32 +0000 (11:16 +0000)]
Remove MINIXSRCDIR and use NETBSDSRCDIR

NETBSDSRCDIR is used all over the place anyway, and this reduces
our diff with NetBSD a little.

12 years agoNo need to define NETBSD_SOURCE explicitly
Thomas Veerman [Wed, 6 Jun 2012 09:46:10 +0000 (09:46 +0000)]
No need to define NETBSD_SOURCE explicitly

12 years agoUse buildsystem commands instead of {cp,mkdir}
Thomas Veerman [Mon, 7 May 2012 14:28:01 +0000 (16:28 +0200)]
Use buildsystem commands instead of {cp,mkdir}

12 years agomtree.sh: reverse last two parameters
Thomas Veerman [Mon, 7 May 2012 14:22:27 +0000 (14:22 +0000)]
mtree.sh: reverse last two parameters

This way we can treat DESTDIR like a special case just as the build
system does (i.e., if not set, assume DESTDIR="/").

12 years agoCross-compilation fixes
Thomas Veerman [Mon, 7 May 2012 11:38:39 +0000 (13:38 +0200)]
Cross-compilation fixes

. Some Makefile fixes to automatically differentiate between a normal
  compilation and cross-compilation. Also, build compressed images.
. Harmonize ramdisk rc scripts for normal use case and ext2 ramdisk.
. ext2_ramdisk filesystem prototype fixes.

12 years agoFix mk file for cross compilation (2)
Thomas Veerman [Wed, 2 May 2012 12:33:27 +0000 (14:33 +0200)]
Fix mk file for cross compilation (2)

12 years agonewroot is gone too
Thomas Veerman [Wed, 2 May 2012 12:01:12 +0000 (14:01 +0200)]
newroot is gone too

12 years agobios_wini is no longer amongst us
Thomas Veerman [Wed, 2 May 2012 11:56:43 +0000 (13:56 +0200)]
bios_wini is no longer amongst us

12 years agoNew file(1) port
Dirk Vogt [Wed, 2 May 2012 11:23:57 +0000 (13:23 +0200)]
New file(1) port

12 years agoFix up mtree.sh
Dirk Vogt [Wed, 2 May 2012 11:19:41 +0000 (13:19 +0200)]
Fix up mtree.sh

12 years agoAlso copy kernel into multiboot dir
Dirk Vogt [Tue, 1 May 2012 15:04:37 +0000 (17:04 +0200)]
Also copy kernel into multiboot dir

12 years agoext2 ramdisk: copy rc to correct destination
Dirk Vogt [Tue, 1 May 2012 15:01:30 +0000 (17:01 +0200)]
ext2 ramdisk: copy rc to correct destination

12 years agoramdisk: don't do anything at dependall
Dirk Vogt [Tue, 1 May 2012 14:58:59 +0000 (16:58 +0200)]
ramdisk: don't do anything at dependall

12 years agoFix compiler check
Dirk Vogt [Tue, 1 May 2012 14:57:11 +0000 (16:57 +0200)]
Fix compiler check

12 years agoMake var overridable for cross compilation
Thomas Veerman [Tue, 1 May 2012 14:55:13 +0000 (16:55 +0200)]
Make var overridable for cross compilation

12 years agoInclude ext2 ramdisk in build and remove sync
Dirk Vogt [Tue, 1 May 2012 14:51:03 +0000 (16:51 +0200)]
Include ext2 ramdisk in build and remove sync

As the ramdisk and ext2 ramdisk don't build anything for the install
and all targets, memory does not have to wait for them anymore.

12 years agoAdd ext2 ramdisk, intended for cross compilation
Dirk Vogt [Tue, 1 May 2012 14:46:53 +0000 (16:46 +0200)]
Add ext2 ramdisk, intended for cross compilation

12 years agoMake ramdisk location configurable
Dirk Vogt [Tue, 1 May 2012 14:43:09 +0000 (16:43 +0200)]
Make ramdisk location configurable

Also, the ramdisk is now built when the memory driver is compiled.

12 years agoWhen MKUNPRIV is set do not require root privilege
Dirk Vogt [Tue, 1 May 2012 14:32:15 +0000 (16:32 +0200)]
When MKUNPRIV is set do not require root privilege

12 years agoMakefile fixups for cross compilation
Dirk Vogt [Tue, 1 May 2012 14:09:06 +0000 (16:09 +0200)]
Makefile fixups for cross compilation

12 years agoMake TTY cross-compilable
Dirk Vogt [Tue, 1 May 2012 13:17:05 +0000 (15:17 +0200)]
Make TTY cross-compilable

12 years agoMake commands cross-compilable
Dirk Vogt [Tue, 1 May 2012 13:13:07 +0000 (15:13 +0200)]
Make commands cross-compilable

12 years agoLet the kernel load figure out where to put mods
Dirk Vogt [Tue, 1 May 2012 13:04:26 +0000 (15:04 +0200)]
Let the kernel load figure out where to put mods

This patch makes the mkimage tool obsolete

12 years agoCreate cc symlink to clang
Thomas Veerman [Thu, 7 Jun 2012 13:34:12 +0000 (13:34 +0000)]
Create cc symlink to clang

12 years agodrop from segments physcopy/vircopy invocations
Ben Gras [Sat, 16 Jun 2012 17:29:37 +0000 (17:29 +0000)]
drop from segments physcopy/vircopy invocations

. sys_vircopy always uses D for both src and dst
. sys_physcopy uses PHYS_SEG if and only if corresponding
  endpoint is NONE, so we can derive the mode (PHYS_SEG or D)
  from the endpoint arg in the kernel, dropping the seg args
. fields in msg still filled in for backwards compatability,
  using same NONE-logic in the library

12 years agodrop segments from safemap/safeunmap invocations
Ben Gras [Sat, 16 Jun 2012 18:42:27 +0000 (18:42 +0000)]
drop segments from safemap/safeunmap invocations

12 years agoAdd hot plugging infrastructure in rc file.
Kees Jongenburger [Mon, 4 Jun 2012 11:15:23 +0000 (11:15 +0000)]
Add hot plugging infrastructure in rc file.

Adding hot plugging infrastructure in rc file. This includes
starting the devman service, mounting it's file system and
starting the corresponding devmand daemon.

This patch also provide error free shutdown of the USB sub-system.

The USB sub system needs to be shutdown in a certain order but also
consists of components living in /usr/pkg/. By checking the
existence of usbd we can stop it in the correct order.

12 years agoAdd devmand configuration to /etc.
Kees Jongenburger [Tue, 5 Jun 2012 10:49:50 +0000 (10:49 +0000)]
Add devmand configuration to /etc.

12 years agoAdd support in devmand for using config dirs.
Kees Jongenburger [Mon, 4 Jun 2012 09:34:04 +0000 (09:34 +0000)]
Add support in devmand for using config dirs.

Add support in devmand for using configuration directories to
allow 3rd party packages to add configuration items.

12 years agoUpgrade libddekit and introduce devmand.
Kees Jongenburger [Tue, 5 Jun 2012 09:43:18 +0000 (09:43 +0000)]
Upgrade libddekit and introduce devmand.

Devmand (Device manager daemon) is the daemon that will
dynamically manage services based on events received from
the system.

12 years agoMove setjmp and strnlen to common/lib.
Kees Jongenburger [Tue, 5 Jun 2012 09:37:32 +0000 (09:37 +0000)]
Move setjmp and strnlen to common/lib.

Move setjmp and strnlen to common/lib to allow libddekit to use them.

12 years agodrop segment from safecopy invocations
Ben Gras [Sat, 16 Jun 2012 01:46:15 +0000 (03:46 +0200)]
drop segment from safecopy invocations

. all invocations were S or D, so can safely be dropped
  to prepare for the segmentless world
. still assign D to the SCP_SEG field in the message
  to make previous kernels usable

12 years agodumpcore: use ptrace function to trigger a coredump
Ben Gras [Fri, 15 Jun 2012 00:38:00 +0000 (02:38 +0200)]
dumpcore: use ptrace function to trigger a coredump

. dumpcore currently relies on minix segments
. also ptrace dumpcore fix

12 years agopm: ignore notify() from unknown sender
Ben Gras [Thu, 14 Jun 2012 13:36:38 +0000 (15:36 +0200)]
pm: ignore notify() from unknown sender

. avoids annoying error message if e.g. buggy drivers
  send pm notify()s that pm tries to reply() ENOSYS to

12 years agofurther libexec generalization
Ben Gras [Wed, 6 Jun 2012 17:05:28 +0000 (19:05 +0200)]
further libexec generalization

. new mode for sys_memset: include process so memset can be
  done in physical or virtual address space.
. add a mode to mmap() that lets a process allocate uninitialized
  memory.
. this allows an exec()er (RS, VFS, etc.) to request uninitialized
  memory from VM and selectively clear the ranges that don't come
  from a file, leaving no uninitialized memory left for the process
  to see.
. use callbacks for clearing the process, clearing memory in the
  process, and copying into the process; so that the libexec code
  can be used from rs, vfs, and in the future, kernel (to load vm)
  and vm (to load boot-time processes)

12 years agoexec() cleanup, generalization, improvement
Ben Gras [Wed, 30 May 2012 17:34:07 +0000 (19:34 +0200)]
exec() cleanup, generalization, improvement

. make exec() callers (i.e. vfs and rs) determine the
  memory layout by explicitly reserving regions using
  mmap() calls on behalf of the exec()ing process,
  i.e. handling all of the exec logic, thereby eliminating
  all special exec() knowledge from VM.
. the new procedure is: clear the exec()ing process
  first, then call third-party mmap()s to reserve memory, then
  copy the executable file section contents in, all using callbacks
  tailored to the caller's way of starting an executable
. i.e. no more explicit EXEC_NEWMEM-style calls in PM or VM
  as with rigid 2-section arguments
. this naturally allows generalizing exec() by simply loading
  all ELF sections
. drop/merge of lots of duplicate exec() code into libexec
. not copying the code sections to vfs and into the executable
  again is a measurable performance improvement (about 3.3% faster
  for 'make' in src/servers/)

12 years agodrop aout support
Ben Gras [Wed, 6 Jun 2012 22:35:10 +0000 (00:35 +0200)]
drop aout support

justification: soon we won't be able to execute sep I&D aouts at
all (because of the vanishing segments), which was the default mode
to generate them so most binaries will be sep I&D.

this makes the vfs/rs exec() unification work simpler.

after unification, common I&D aout could be added back quite simply.

12 years agovm: add third-party mmap() mode and PROCCTL
Ben Gras [Tue, 5 Jun 2012 22:50:13 +0000 (00:50 +0200)]
vm: add third-party mmap() mode and PROCCTL

these two functions will be used to support all exec() functionality
going into a single library shared by RS and VFS and exec() knowledge
leaving VM.

. third-party mmap: allow certain processes (VFS, RS) to
  do mmap() on behalf of another process
. PROCCTL: used to free and clear a process' address space

12 years agokernel: compact utility functions
Ben Gras [Wed, 30 May 2012 23:25:31 +0000 (01:25 +0200)]
kernel: compact utility functions

12 years agoendianness compile fixes
Ben Gras [Wed, 6 Jun 2012 00:17:48 +0000 (02:17 +0200)]
endianness compile fixes

12 years agokernel: make sure mpx.S is linked early
Ben Gras [Fri, 1 Jun 2012 14:58:00 +0000 (16:58 +0200)]
kernel: make sure mpx.S is linked early

. for qemu multiboot detection

12 years agosynctree compile fix
Ben Gras [Fri, 25 May 2012 10:59:34 +0000 (12:59 +0200)]
synctree compile fix

. rename CANCEL to ORDER_CANCEL so the CANCEL enum name doesn't
  clash with a minix header file. also endianness test fix.

12 years agono USE_BOOTPARAM
Ben Gras [Sat, 5 May 2012 09:48:21 +0000 (11:48 +0200)]
no USE_BOOTPARAM

12 years agokernel: neater arch-dependent split in Makefiles
Ben Gras [Fri, 4 May 2012 16:45:54 +0000 (18:45 +0200)]
kernel: neater arch-dependent split in Makefiles

. files in kernel/ references in kernel/Makefile, but
  in kernel/arch/i386/ in kernel/arch/i386/Makefile.inc

12 years agoonly elf/multiboot images
Ben Gras [Tue, 1 May 2012 11:55:49 +0000 (13:55 +0200)]
only elf/multiboot images

12 years agomthread: mmap returns MAP_FAILED on error
Ben Gras [Wed, 30 May 2012 22:46:47 +0000 (00:46 +0200)]
mthread: mmap returns MAP_FAILED on error

12 years agoset major version of shlibs to 0
Ben Gras [Wed, 9 May 2012 14:45:11 +0000 (16:45 +0200)]
set major version of shlibs to 0

WARNING: this will break existing dynamically linked binaries if they
exist. If you have any:
. re-build world statically first if necessary
. remove libraries from /lib and /usr/lib
. then build world

This change:
. avoids possible future dismay when interfacing other
  systems' binaries; done until they are abi-compatible

Thanks to Antoine Leca for pointing this out.

12 years agoretire BIOS_SEG and umap_bios
Ben Gras [Wed, 9 May 2012 16:34:40 +0000 (18:34 +0200)]
retire BIOS_SEG and umap_bios

. readbios call is now a physical copy with range check in
  the kernel call instead of BIOS_SEG+umap_bios
. requires all access to physical memory in bios range to go
  through sys_readbios
. drivers/dpeth: wasn't using it
. adjusted printer

12 years agobrazilian keymap
Ben Gras [Fri, 4 May 2012 11:56:04 +0000 (13:56 +0200)]
brazilian keymap

contributed by David Augusto.

12 years agoVFS: fix "process already free" panic on reboot
David van Moolenbroek [Wed, 2 May 2012 15:41:17 +0000 (17:41 +0200)]
VFS: fix "process already free" panic on reboot

Reported by Claudiu Dan Gheorghe, debugged by Thomas and myself

12 years agotest43: fix dangling-symlink case
David van Moolenbroek [Wed, 2 May 2012 15:39:58 +0000 (17:39 +0200)]
test43: fix dangling-symlink case

12 years agolibarchive import
Ben Gras [Mon, 30 Apr 2012 23:56:44 +0000 (01:56 +0200)]
libarchive import

. clean and nbsd_ports managed import
. also makes it shared

12 years agolibmthread: don't always verify library initialization
Thomas Veerman [Tue, 1 May 2012 09:44:49 +0000 (09:44 +0000)]
libmthread: don't always verify library initialization

This can be turned back on when the library is compiled with
-DMTHREAD_STRICT (which enables more sanity checks). However,
always performing this check shows up in system profiling results.

12 years agoVFS: unlock vmnt when out of vnodes
Thomas Veerman [Mon, 23 Apr 2012 13:45:14 +0000 (13:45 +0000)]
VFS: unlock vmnt when out of vnodes

12 years agoVFS: release what can be released
Thomas Veerman [Mon, 23 Apr 2012 13:33:43 +0000 (13:33 +0000)]
VFS: release what can be released

Only attempt to release blocked processes that are blocked. There is
no use in trying to find more blocked processes than we know that are
blocked (on a pipe).

12 years agoVFS: simplify stat for pipes
Thomas Veerman [Wed, 18 Apr 2012 13:44:33 +0000 (13:44 +0000)]
VFS: simplify stat for pipes

According to POSIX the st_size field of struct stat is undefined for
fifos and anonymous pipes. Thus we can do anything we want. We save a
copy by not being accurate on pipe sizes.

12 years agoVFS: use S_IS* macros
Thomas Veerman [Wed, 25 Apr 2012 12:44:42 +0000 (12:44 +0000)]
VFS: use S_IS* macros

12 years agoVFS: I_PIPE is redundant
Thomas Veerman [Mon, 16 Apr 2012 09:04:32 +0000 (09:04 +0000)]
VFS: I_PIPE is redundant

Also, use S_IS* macros instead of manual comparison.

12 years agoAT_SUN_EXECNAME support
Ben Gras [Wed, 18 Apr 2012 14:32:38 +0000 (16:32 +0200)]
AT_SUN_EXECNAME support

. vfs: pass execname in aux vectors
. ld.elf_so: use this to expand $ORIGIN
. this requires the executable to reserve more
  space at exec() calling time

12 years agokernel: mon_return cleanup
Ben Gras [Wed, 25 Apr 2012 15:44:55 +0000 (17:44 +0200)]
kernel: mon_return cleanup

cleanup of boot monitor related code.

12 years agoEnable LZMA supprt with tar(1)
Antoine Leca [Wed, 22 Feb 2012 23:35:10 +0000 (00:35 +0100)]
Enable LZMA supprt with tar(1)

12 years agoMFS: reimplement block clean marking fix
David van Moolenbroek [Fri, 20 Apr 2012 15:23:09 +0000 (17:23 +0200)]
MFS: reimplement block clean marking fix

MFS' get_block() must never return a newly acquired block buffer that
is marked dirty from previous use. This patch replaces git-dd59d50,
which assumed a working model where blocks for device NO_DEV would
never be dirty. For at least one scenario, that assumption does not
hold, triggering superblock overwrite warnings. In this patch, blocks
are explicitly marked as clean upon being repurposed. The working
model is now restored to be: the dirty state of a block is relevant
only when its associated device is not set to NO_DEV.

12 years agoVFS: reimplement truncate mtime/ctime fix
David van Moolenbroek [Fri, 20 Apr 2012 09:12:04 +0000 (11:12 +0200)]
VFS: reimplement truncate mtime/ctime fix

POSIX mandates that a file's modification and change time be left
untouched upon truncate/ftruncate iff the file size does not change.
However, an open(O_TRUNC) call must always update the modification and
change time of the file, even if it was already zero-sized. VFS uses
the file systems' truncate call to implement O_TRUNC. This patch
replaces git-255ae85, which did not take into account the open case.
The size check is now moved into VFS, so that individual file systems
need not check for this case anymore.

12 years agorun test fix, take two
David van Moolenbroek [Fri, 20 Apr 2012 09:34:56 +0000 (11:34 +0200)]
run test fix, take two

12 years agodaily cron: fix timestamp updating
Ben Gras [Thu, 19 Apr 2012 14:48:48 +0000 (16:48 +0200)]
daily cron: fix timestamp updating

. previously was not updated causing daily to be run on
  every boot

12 years agouse linker to align fpu state save area
Ben Gras [Thu, 19 Apr 2012 13:06:47 +0000 (15:06 +0200)]
use linker to align fpu state save area

12 years agoprocfs: fix rare panic in add_inode
David van Moolenbroek [Tue, 17 Apr 2012 15:51:26 +0000 (17:51 +0200)]
procfs: fix rare panic in add_inode

Previously, procfs would consider all processes that have a non-free
kernel slot *or* an in-use PM slot. However, since AVFS, a non-free
kernel slot does not imply an in-use PM slot. As a result, procfs
may use PM slots that have a zero PID value. If two such entries are
present in the retrieved PM table, procfs would try to add two inodes
with the same name "0", triggering an assertion in vtreefs.

This patch makes procfs consider only the PM slot for (non-task)
processes.

12 years agoupdate_bootcfg: fix: generate absolute paths
Ben Gras [Wed, 18 Apr 2012 14:30:06 +0000 (16:30 +0200)]
update_bootcfg: fix: generate absolute paths

12 years agorun test fix
Ben Gras [Wed, 18 Apr 2012 13:59:37 +0000 (15:59 +0200)]
run test fix

12 years agoblock ioctls: pass request number
Ben Gras [Wed, 18 Apr 2012 09:01:15 +0000 (11:01 +0200)]
block ioctls: pass request number

12 years agorelease fixes
Ben Gras [Tue, 17 Apr 2012 12:02:14 +0000 (14:02 +0200)]
release fixes

. make ramdisk buildable without ../etc having pwd.db
. add cat to release bootstrap cmds
. support running dynamically linked executables for
  release bootstrap cmds
. import netbsd chroot to help

12 years agotest scripts fixes
Ben Gras [Mon, 16 Apr 2012 13:39:50 +0000 (15:39 +0200)]
test scripts fixes

12 years agodynamic executables on ramdisk support
Ben Gras [Tue, 10 Apr 2012 02:07:51 +0000 (02:07 +0000)]
dynamic executables on ramdisk support

See UPDATING about upgrading clang for dynamic linking.

. allow executables on ramdisk to be dynamically linked; this means
  putting a few required shared libraries and ld.elf_so on the ramdisk.
. this makes the ramdisk (usage) smaller when they are dynamic, but
  bigger when they're not.
. also we can safely ditch newroot and call mount directly as that is
  all newroot does.
. create proto.common to share a bunch of entries between
  small/nonsmall cases

12 years agotests: link them dynamically by default
Ben Gras [Sun, 8 Apr 2012 17:22:02 +0000 (19:22 +0200)]
tests: link them dynamically by default

. so that functionality is tested
. add test63 that actually tests dlopen(), dlsym(),
  etc. functionality; only built if clang supports it
. also test10 test to copy more of the executable

12 years agobuild shared versions of libraries
Ben Gras [Sat, 31 Mar 2012 00:28:03 +0000 (02:28 +0200)]
build shared versions of libraries

building defaults to off until clang is updated.

current clang does not handle -shared, necessary to change the ld
invocation to build shared libraries properly. a new clang should be
installed and MKPIC defaults to no unless the newer clang is detected.

changes:

. mainly small imports of a Makefile or two and small fixes
  (turning things back on that were turned off in Makefiles)
. e.g.: dynamic librefuse now depends on dynamic
  libpuffs, so libpuffs has to be built dynamically too
  and a make dependency barrier is needed in lib/Makefile
. all library objects now have a PIC (for .so) and non-PIC
  version, so everything is built twice.
. generate PIC versions of the compat (un-RENAMEd) jump files,
  include function type annotation in generated assembly
. build progs with -static by default for now
. also build ld.elf_so
. also import NetBSD ldd

12 years agorecognize and execute dynamically linked executables
Ben Gras [Tue, 3 Apr 2012 13:52:25 +0000 (15:52 +0200)]
recognize and execute dynamically linked executables

   . generalize libexec slightly to get some more necessary information
  from ELF files, e.g. the interpreter
. execute dynamically linked executables when exec()ed by VFS
. switch to netbsd variant of elf32.h exclusively, solves some
  conflicting headers