Commit Graph

2153 Commits

Author SHA1 Message Date
Norman Feske
b1b59fe8a6 Support for building all libs via 'make lib'
Normally, the build system creates libraries as mere side effects of
building targets. There is no way to explicitly trigger the build of
libraries only. However, in some circumstances (for example for testing
the thorough build of all libraries) a mechanism for explicitly building
libraries would be convenient. This patch implements this feature. It
consists of two changes.

The new pseudo target at 'base/src/lib/target.mk' gathers all libraries
that are available in all repositories specified for the build directory
and makes its target depend on them. This way, by building 'lib', all
libraries would be traversed. However, in the (likely) situation that
those libraries include one or more invalid libraries (libraries with
unsatisfied build requirements), the build system would skip the target.

Hence, the second change introduces a new condition 'FORCE_BUILD_LIBS'
to the build system. By setting this variable to 'yes' in the 'target.mk'
file, we let the build system to traverse library dependencies for
all valid libraries regardless of the presence of any invalid library.
2012-01-24 18:56:35 +01:00
Norman Feske
91f59690c4 Handle corner case in nested RM handling
When using an ELF image as returned from the iso9660 server, such an
image is represented as a managed dataspace composed of various portions
of one RAM dataspace, each portion attached with a different offset.
Now, when mapping the text segment of the ELF image (usually starting at
0x1000 within the image), the code mapped at 0x1000 may correspond to
any offset within the RAM dataspace used by the iso9660 server. In
particular, the src-fault address (the one within the RAM dataspace) may
be higher than dst-fault address (somewhere just above 0x1000 where a
page-fault occurred). Thereby, 'curr_rm_base' may become negative
during the reverse lookup of 'Rm_client::pager'. This corner case used
to let the 'Fault_area::constrain' function return an invalid fault
area, and thereby let the reverse lookup fail. The improved version
explicitly checks for the address overflow condition and tries to
constrain the dst fault address to the largest possible log2 page within
the positive address range.
2012-01-23 21:04:57 +01:00
Althaf K Backer
31cda45e26 Fixed a typo (added 'require'), fix #87 2012-01-19 20:37:29 +01:00
Althaf K Backer
5659ab5e6c Fixed a typo 'you to your' 2012-01-18 11:00:22 +01:00
Stefan Kalkowski
05b0927302 Fix subversion usage of 'make prepare' in base-foc
It turns out that recent subversion clients are more nitpicking with respect to
the usage of 'svn update'. Formerly it was ok to just checkout a toplevel
directory of  some repository, and then update that parts in the repo that are
needed. This is used in the preparation makefile in 'base-foc' to just checkout
a small part of the L4Re software stack. Recent clients complain about using
update with some remote target, so we've to use 'checkout' here too.
This commit fixes #84.
2012-01-17 23:17:08 +01:00
Norman Feske
50b5a0d36d Const qualifiers for Input::Event accessors 2012-01-17 23:06:02 +01:00
Christian Helmuth
5ca9f16ff0 Refactor Linux socket handling into platform header
Besides the IPC framework, the daemon bridge will be the second user of
these functions.
2012-01-17 17:19:30 +01:00
Norman Feske
ca122e75bc Simplified news item for web layout 2012-01-17 17:18:22 +01:00
Norman Feske
826a709fb6 News item about GitHub repository 2012-01-17 17:01:35 +01:00
Norman Feske
b4506ea15e Fix postal address of Genode Labs 2012-01-17 16:09:13 +01:00
Norman Feske
e1af0b3292 Updated doc/contributions.txt
With the recent change of Genode's development process and the switch to
GitHub, the contributions document has become a bit outdated. I rewrote
the document in a tutorial-like style and incorporated several practical
hints, in particular related to the recommended use of Git.
2012-01-17 15:39:43 +01:00
Norman Feske
793cbff1f6 Use correct name of the HelenOS kernel (SPARTAN) 2012-01-17 12:45:02 +01:00
Norman Feske
35af6cd34a Add rsync to road map as suggested by Martin Stein 2012-01-17 10:33:07 +01:00
Norman Feske
e78bc02fcc Document Julian's Gentoo Portage overlay 2012-01-17 10:32:16 +01:00
Norman Feske
0a9d2dda7b Script for running bash interactively on Noux 2012-01-17 10:26:49 +01:00
Christian Helmuth
3b4a2d8c4c Ignore Vi swp files and patch residuals 2012-01-16 22:23:02 +01:00
Norman Feske
cc85dc8afb Let GDB monitor use HLT for breakpoints, fix #83
The patch fixes a corner-case problem with using the two-byte 'INT 0'
instruction for breakpoints. The fix changes the breakpoint instruction
to the single-byte 'HLT'. 'HLT' is a privileged instruction and triggers
an exception when executed in user mode. Patch by Christian Prochaska.
2012-01-13 20:07:15 +01:00
Norman Feske
441d672440 Improved interactive GDB monitor run script
The new 'gdb_monitor_interactive.run' script extends the original
'gdb_monitor.run' script with a startup sequence that automates the
initial break-in at the main function of a dynamically linked binary.
Patch by Christian Prochaska.
2012-01-13 20:01:00 +01:00
Norman Feske
90e36f23af Consider CC_MARCH to find lx_hybrid crtn, fix #82
Patch by Christian Prochaska. This patch fixes problems with building
the 32-bit variant of 'fb_sdl' on a 64-bit host system.
2012-01-13 19:29:30 +01:00
Stefan Kalkowski
aa4fa69987 Fix links and image references in relase notes
Fixes #77.
2012-01-12 09:19:05 +01:00
Norman Feske
76127433b7 Rationale for not quoting single '"' chars 2012-01-12 09:18:34 +01:00
Norman Feske
8c3f832f09 Noux: quote env values, fix #66
When reading the values of environment variables supplied via Genode
config mechanism, the XML attribute values were taken as is. On the libc
side, however, the values are processed using Genode's 'Arg_string'
functions. When unquoted, 'Arg_string' expects values to be either
identifiers or numbers. In the general case, however, env values cannot
be expected to satisfy these requirements. Hence, it is better to always
quote these values when reading the XML config. An alternative (maybe
better) solution would be to not use the 'Arg_string' classes in the
libc side.
2012-01-12 09:18:13 +01:00
Julian Stecklina
1db46a2345 Parameter passing to libc's open and fcntl, fix #73
By including the relevant headers, this problem is prevented in the
future because the compiler will complain.
2012-01-12 09:17:36 +01:00
Julian Stecklina
3c54d39307 Provide a default implementation of chdir, fix #68
The default implementation relies on the sequence open, fchdir, close.
Enable this implementation for the Noux libc plugin.
2012-01-12 09:17:14 +01:00
Stefan Kalkowski
d43126e8e7 Fix section declaration in 'base-mb/doc/microblaze.txt'
Use first-level declaration for 'Current state' section, if there is no
section above it in the hierarchy. Fixes #78.
2012-01-10 18:56:40 +01:00
Stefan Kalkowski
e0b0f9b9a2 Correct URI to 'challenges' page in the 'road_map.txt'. Fixes #74. 2012-01-10 18:50:00 +01:00
Norman Feske
500f02fa8d Simplified image references in release notes 2012-01-09 22:43:52 +01:00
Norman Feske
6bc2a44ba2 Tool cxx_to_html to convert C++ source to HTML 2012-01-08 14:09:47 +01:00
Norman Feske
8cb27e2813 Let tcgetattr succeed for libc_log
At the startup of python's termios module, a sequence of 'tcgetattr' and
'tcsetattr' calls is executed. If one of those calls fails, the
initialization gets canceled. 'tcgetattr' is implemented via ioctl
operations on stdout. To let those operations succeed, the default
implementation of ioctl ('Plugin::ioctl') cannot be used because it
returns -1. Adding a dummy ioctl to the libc_log back end alleviates
this problem.
2012-01-06 19:07:34 +01:00
Norman Feske
1bd2b0ec08 List of automatically executed test cases 2012-01-06 16:43:54 +01:00
Norman Feske
c4adddb6b7 Add libc/compat to libc, fix #63 2012-01-06 13:21:29 +01:00
Martin Stein
26915c14b7 Add santity checks in 'tool/tool_chain', fix #62
In addition to autogen and autoconf, the tool-chain build script
requires ncurses (for building GDB), wget (to download the tool-chain
source code), and texinfo. Let the tool check if these packages are
installed instead of failing later during the build.
2012-01-06 09:49:43 +01:00
Stefan Kalkowski
8dd9c48a1a Fix dependency rules in openjpeg library makefile.
Let the object-files be dependend on the headers, that have to be constructed,
instead of making the source files dependend on them. Fixes #65.
2012-01-06 09:33:33 +01:00
Norman Feske
938ffd2bd5 Add libc/regex to libc, fix #64 2012-01-06 09:25:57 +01:00
Norman Feske
0938e3ef06 News item about FOSDEM 2012 2012-01-04 21:54:58 +01:00
Norman Feske
08ce32215d Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
Norman Feske
12d139aff6 News item for road map 2012 2012-01-02 17:43:52 +01:00
Norman Feske
394e10510c Road Map 2012 2012-01-02 17:09:18 +01:00
Norman Feske
326a2483f0 Add openjpeg, jbig2dec, and mupdf to libports
MuPDF is a fast and versatile PDF rendering library with only a few
dependencies. It depends on openjpeg (JPEG2000 codec) and jbig2dec (b/w
image compression library). Therefore, this patch comprises the ports of
these libraries as well. All libraries compile well in the Genode build
system but are not tested yet.
2012-01-02 17:09:18 +01:00
Norman Feske
e5ac9422e7 Add 'memory.h' to libc
The 'memory.h' libc header is included by the openjpeg library.
2012-01-02 17:09:18 +01:00
Norman Feske
b5d7a75a22 Return ECHO flag from TIOCGETA ioctl
This patch sets the ECHO flag for the TIOCGETA ioctrl operation. This
flag is examined by libreadline to control the policy of echoing user
input. This patch in needed to run bash in interactive mode in Noux.
2012-01-02 17:09:18 +01:00
Norman Feske
d09c7e699e Direct _ioctl to libc plugin interface
Removed dummy implementation of '_ioctl'. This function is called
internally within the libc, i.e., by 'tcgetattr'. For running
libreadline in Noux, we need to hook into those ioctl operations via
the libc plugin interface.
2012-01-02 17:09:18 +01:00
Norman Feske
20213e2c76 Frame skipping for terminal
This patch changes decouples the conversion of the terminal state to
pixels from the write RPC function. Intermediate terminal states
produced by sub sequential write operations do not end up on screen one
by one but only the final state becomes visible. This drastically
improves the speed of scrolling through large text output.
2012-01-02 17:09:18 +01:00
Norman Feske
7a8ad10ffd Define _GNU_SOURCE for all users of syscall lib
Move the definition of '_GNU_SOURCE' from 'import-lx_hybrid.mk' to
'import-syscall.mk' because this definition may (potentially) affect all
programs that include Linux headers installed on the host - not only
hybrid Linux/Genode programs. Fixes #52
2011-12-24 06:14:54 +08:00
Norman Feske
032f9810a9 Resolve ambiguity about SDL headers in fb_sdl
This patch prevents 'fb_sdl' from wrongly using SDL headers located in
the libports repository. We have to make sure to use the headers
installed on the host system.
2011-12-24 06:14:54 +08:00
Norman Feske
46e3dbee3a Ignore generated files of gmp and mpfr libs 2011-12-24 06:14:53 +08:00
Genode Labs
d1891e8a27 Merge final fixes from internal repositories 2011-12-23 14:04:29 +01:00
Norman Feske
6ce4e47c1c Do not rely on '/sbin/' in PATH
Do not rely on '/sbin/' being present in the PATH variable. This patch
fixes build problems of hybrid Linux/Genode programs on Debian.
2011-12-22 17:23:09 +01:00
Norman Feske
3d5cfde313 Signal accounting in the explicit-reply path
Properly account signal count in the explicit-reply path (when source-
client gets immediately unblocked by 'signal_session_component::submit').
This patch prevents the delivery of superfluous signals with num == 0.
2011-12-22 17:20:45 +01:00
Norman Feske
defd6a9b58 Use POSIX threads in Linux/Genode hybrids
- Let hybrid Linux/Genode programs use POSIX threads for the
  implementation of the Thread API.
- Prevent linkage of cxx library to hybrid Linux/Genode programs because
  the cxx functionality is covered by glibc.
2011-12-22 17:17:44 +01:00