Commit Graph

25 Commits

Author SHA1 Message Date
396e00ce59 cmake: static library dependencies
CMake does not support linker groups, which were used to "automatically"
fix circular dependencies between different static FAIL* libraries and
the ordering of dynamic external libraries broke linking.
CMake can however correctly invoke the linker if dependencies are decribed
correctly (even if circular). This required changing all add_dependencies
calls between libraries to target_link_libraries (which creates a link-time
dependency) and linking all experiments to fail-sal.

Change-Id: I3a0d5dddb9b3d963ef538814e20d6b3de85d4ec5
2014-03-24 11:47:46 +01:00
4cb97a7fa5 formatting, typos, comments, details
Change-Id: Iae5f1acb653a694622e9ac2bad93efcfca588f3a
2014-01-22 13:08:13 +01:00
122eb8c9dc use uint32 for addresses in protobuf msgs
This prevents integer overflows when using addresses > 2GiB, which are
common for x86 operating systems with paging (Linux, Fiasco.OC) or
some test cases on the PandaBoard.

Note that this results in slightly different result table definitions
when automatically translating an experiment's protobuf message in the
DatabaseCampaign.

This change affects all existing protobuf messages to prevent
copy/paste propagation of this issue.

Change-Id: I09ec4b9d45eddd67a7a24c8b101e8b2b258df5e2
2014-01-21 00:08:41 +01:00
b37a475dfd campaign-controlled experiments depend on fail-comm library
An experiment talking to a campaign server via the JobClient/JobServer
interface needs the FailControlMessage.proto compiler to run before the
experiment is compiled.  A dependency on fail-comm ensures this.
2013-03-19 22:21:42 +01:00
f5a1213ce1 checksum-oostubs-fix due to arch. changes (tested)
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2029 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-31 12:18:37 +00:00
125914a305 BochsRegister.hpp and BochsRegisterIDs.hpp not needed anymore
The includes of these headers have already been removed from the experiments. In the current code, the content of the header BochsRegister.hpp is rather simply copied to x86/Architecture.hpp. It is therefore necessary to revisit the code soon (especially the FIXME related to register IDs).

Another problem is that there is no generalization of register IDs. Thus, all experiments are currently specific to a concrete architecture (which is not desired).

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2010 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2013-01-17 13:41:23 +00:00
hsc
a911ebb353 Revert "explicit aspect activation"
Unfortunately, this does not (yet) work as advertised.  I need to fight another
round of CMake battles before retrying.  Reverting to previous state for now.

This reverts r1753.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1767 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-19 09:45:00 +00:00
hsc
a29ad39f5e explicit aspect activation
ag++ is now called with a list of currently active aspect headers
(ag++ -a aspect1.ah -a aspect2.ah ...).  This resolves several problems at
once:
 -  Build directories may be positioned arbitrarily now, they need not be
    a subdirectory of the project anymore.
 -  Multiple build directories can coexist within the project tree.  Before
    this commit, the generated instantiate-*.ah aspect headers disturbed
    neighboring build trees.
 -  Due to this, the regression test should be runnable much more easily
    now.
 -  The build time was reduced by an average of about 10%.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1753 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-10-17 15:22:23 +00:00
hsc
d983aecf73 added missing dependencies on protobuf library
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1672 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-20 17:22:05 +00:00
hsc
f9c96ddf2d prefix internal libraries to avoid naming conflicts with system libraries
This is a precaution to avoid current and future naming conflicts with
common system libraries.  libutil (part of libc) is the first, but probably
not the last example that already caused trouble twice.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1614 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-12 07:52:30 +00:00
hsc
e56918e40e centralized and cmake-based campaign server+port config
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1590 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-09-04 13:57:01 +00:00
chb
e6546c1365 limit number of sequential FAIL* experiments to 50, in order to prevent swapping
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1494 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-08-15 11:05:27 +00:00
2076d21e61 Experiment updates due to last commit.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1449 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-12 10:45:39 +00:00
chb
7adb59e68e checksum-oostubs: update experiment target
* make use of standAlone pointcut expression (seems to work properly)
 * updated test case, where bochs fails (once again) ;-)

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1421 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-04 09:39:55 +00:00
chb
4e2e02e48c checksum-oostubs: unsure why waiting, if finished_reached before FI
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1418 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-04 07:53:56 +00:00
hsc
7e9914d576 checksum-oostubs: pruning takes ~3s now
TODO: modularize single-bit flip fault-space pruning

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1416 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-03 14:33:06 +00:00
hsc
aba1ad1e4d checksum-oostubs: traces aren't single protobuf messages
... therefore we shouldn't use the .pb file extension here.  Simply rename
your existing .pb to .tc for reuse.

+defining LOCAL for experiment debugging (disabled)

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1415 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-03 14:33:03 +00:00
hsc
9d0bb7b6b5 install targets for fail-client and server
"make install" installs both fail-client and the campaign server, if the
experiment provides one.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1414 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-03 13:27:07 +00:00
chb
e0072e393b checksum-oostubs: instr_offset + mem_addr for bochs debugging
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1408 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-07-03 10:03:39 +00:00
chb
5259f3497b checksum-oostubs experiment update for new ecc aspects
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1384 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-22 14:19:35 +00:00
chb
10ac5aac45 update checksum-oostubs target + experiment (use ecc for classes w/ inheritance)
* TODO: find bug in standAlone variant

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1380 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-22 12:14:55 +00:00
chb
aa838b3c5a update checksum-oostubs for new timer
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1376 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-21 12:46:17 +00:00
chb
32481e1442 update for checksum-oostubs
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1375 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-21 12:43:30 +00:00
hsc
00bcf3986e statename variable is not unused
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1326 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-11 13:48:16 +00:00
2575604b41 Fail* directories reorganized, Code-cleanup (-> coding-style), Typos+comments fixed.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1321 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-06-08 20:09:43 +00:00