summaryrefslogtreecommitdiff
path: root/src/sim/process.cc
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2007-09-11 00:01:24 -0400
committerAli Saidi <saidi@eecs.umich.edu>2007-09-11 00:01:24 -0400
commit19fbdcd30bfcbfe11b2a1a315039f0e3b68025a1 (patch)
tree851314640efc3d6864bcd5d9ad40c1d270a3514d /src/sim/process.cc
parent0f57b407a3df68f93e73e0635569d7bf5dd151b0 (diff)
downloadgem5-19fbdcd30bfcbfe11b2a1a315039f0e3b68025a1.tar.xz
Loader: Error if a TLS section is found in the binary.
--HG-- extra : convert_revision : d763c0382f3cbcc9786510f5a8e521ec9d55eff1
Diffstat (limited to 'src/sim/process.cc')
-rw-r--r--src/sim/process.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/sim/process.cc b/src/sim/process.cc
index 4fa5c7aad..f943cb565 100644
--- a/src/sim/process.cc
+++ b/src/sim/process.cc
@@ -453,9 +453,15 @@ LiveProcess::create(const std::string &nm, System *system, int stdin_fd,
if (objFile->isDynamic())
fatal("Object file is a dynamic executable however only static "
- "executables are supported!\n Please recompile your "
+ "executables are supported!\n Please recompile your "
"executable as a static binary and try again.\n");
+ if (objFile->hasTLS())
+ fatal("Object file has a TLS section and loading of TLS sections "
+ "are not currently supported!\n Please recompile your "
+ "executable with a non-TLS toolchain or add TLS support to "
+ "M5 and try again\n");
+
#if THE_ISA == ALPHA_ISA
if (objFile->getArch() != ObjectFile::Alpha)
fatal("Object file architecture does not match compiled ISA (Alpha).");