aboutsummaryrefslogtreecommitdiff
path: root/gold/output.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2011-04-12 18:06:16 +0000
committerIan Lance Taylor <ian@airs.com>2011-04-12 18:06:16 +0000
commit88597d3422353743f77a4f4de1f3e790cb9f1645 (patch)
treea6b753e0fd883354777437707f2bc12e66b31474 /gold/output.h
parent32a946987b2c683c06d55efc2d4d7e682f164e4e (diff)
downloadgdb-88597d3422353743f77a4f4de1f3e790cb9f1645.zip
gdb-88597d3422353743f77a4f4de1f3e790cb9f1645.tar.gz
gdb-88597d3422353743f77a4f4de1f3e790cb9f1645.tar.bz2
* configure.ac: Check for sys/mman.h and mmap. Check for mremap
with MREMAP_MAYMOVE. * output.h (class Output_file): Add map_is_allocated_ field. * output.cc: Only #include <sys/mman.h> if it exists. If mmap is not available, provide stubs. If mremap is not available, #define it to gold_mremap. (MREMAP_MAYMOVE): Define if not defined. (Output_file::Output_file): Initialize map_is_allocated_. (Output_file::resize): Check map_is_allocated_. (Output_file::map_anonymous): If mmap fails, use malloc. (Output_file::unmap): Don't do anything for an anonymous map. * fileread.cc: Only #include <sys/mman.h> if it exists. If mmap is not available, provide stubs. (File_read::View::~View): Use free rather than delete[]. (File_read::make_view): Use malloc rather than new[]. If mmap fails, use malloc. (File_read::find_or_make_view): Use malloc rather than new[]. * gold.h: Remove HAVE_REMAP code. * mremap.c: #include <errno.h>. Only #include <sys/mman.h> if it exists. Rename mremap to gold_mremap. If mmap is not available don't do anything. * configure, config.in: Rebuild.
Diffstat (limited to 'gold/output.h')
-rw-r--r--gold/output.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/gold/output.h b/gold/output.h
index d62ae73..f47c724 100644
--- a/gold/output.h
+++ b/gold/output.h
@@ -1,6 +1,6 @@
// output.h -- manage the output file for gold -*- C++ -*-
-// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
@@ -4221,6 +4221,8 @@ class Output_file
unsigned char* base_;
// True iff base_ points to a memory buffer rather than an output file.
bool map_is_anonymous_;
+ // True if base_ was allocated using new rather than mmap.
+ bool map_is_allocated_;
// True if this is a temporary file which should not be output.
bool is_temporary_;
};