13e88418f808bf2840646504481d6a5be1df16541njn
23e88418f808bf2840646504481d6a5be1df16541njn/*--------------------------------------------------------------------*/
33e88418f808bf2840646504481d6a5be1df16541njn/*--- Replacements for strcpy(), memcpy() et al, which run on the  ---*/
43e88418f808bf2840646504481d6a5be1df16541njn/*--- simulated CPU.                                               ---*/
51d0825ff46d57f0ce83c3fa88538a42f67022eeenjn/*---                                          mc_replace_strmem.c ---*/
63e88418f808bf2840646504481d6a5be1df16541njn/*--------------------------------------------------------------------*/
73e88418f808bf2840646504481d6a5be1df16541njn
83e88418f808bf2840646504481d6a5be1df16541njn/*
9137bc55f216bc7d9528f159a78cdf9025e0b02ffnethercote   This file is part of MemCheck, a heavyweight Valgrind tool for
100e1b514ab8e837f75a207a037ea53a6a721e9d28njn   detecting memory errors.
113e88418f808bf2840646504481d6a5be1df16541njn
1216f468ac6fc6fb4f654fd5b5412a20984e01ba7abart   Copyright (C) 2000-2013 Julian Seward
133e88418f808bf2840646504481d6a5be1df16541njn      jseward@acm.org
143e88418f808bf2840646504481d6a5be1df16541njn
153e88418f808bf2840646504481d6a5be1df16541njn   This program is free software; you can redistribute it and/or
163e88418f808bf2840646504481d6a5be1df16541njn   modify it under the terms of the GNU General Public License as
173e88418f808bf2840646504481d6a5be1df16541njn   published by the Free Software Foundation; either version 2 of the
183e88418f808bf2840646504481d6a5be1df16541njn   License, or (at your option) any later version.
193e88418f808bf2840646504481d6a5be1df16541njn
203e88418f808bf2840646504481d6a5be1df16541njn   This program is distributed in the hope that it will be useful, but
213e88418f808bf2840646504481d6a5be1df16541njn   WITHOUT ANY WARRANTY; without even the implied warranty of
223e88418f808bf2840646504481d6a5be1df16541njn   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
233e88418f808bf2840646504481d6a5be1df16541njn   General Public License for more details.
243e88418f808bf2840646504481d6a5be1df16541njn
253e88418f808bf2840646504481d6a5be1df16541njn   You should have received a copy of the GNU General Public License
263e88418f808bf2840646504481d6a5be1df16541njn   along with this program; if not, write to the Free Software
273e88418f808bf2840646504481d6a5be1df16541njn   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
283e88418f808bf2840646504481d6a5be1df16541njn   02111-1307, USA.
293e88418f808bf2840646504481d6a5be1df16541njn
303e88418f808bf2840646504481d6a5be1df16541njn   The GNU General Public License is contained in the file COPYING.
313e88418f808bf2840646504481d6a5be1df16541njn*/
323e88418f808bf2840646504481d6a5be1df16541njn
33c7561b931e249acf3768ead77638545b0ccaa8f1njn#include "pub_tool_basics.h"
346643e96a72e8530a7c8830c02ffb2fb4aee74c88philippe#include "pub_tool_poolalloc.h"
35c7561b931e249acf3768ead77638545b0ccaa8f1njn#include "pub_tool_hashtable.h"
36c7561b931e249acf3768ead77638545b0ccaa8f1njn#include "pub_tool_redir.h"
37c7561b931e249acf3768ead77638545b0ccaa8f1njn#include "pub_tool_tooliface.h"
381a046d5a3c34f924b648cc22c01f0a8e02ca221eflorian#include "pub_tool_clreq.h"
39c7561b931e249acf3768ead77638545b0ccaa8f1njn
4034419c1237100ca66b224e235bc6ded59c7ec2fenjn#include "mc_include.h"
4198abfc7bb7798c4ac4580f7e0bc7171de94a0255fitzhardinge#include "memcheck.h"
423e88418f808bf2840646504481d6a5be1df16541njn
43575ce8ef8fa86a502dabe152293320676922dcfebart#define RECORD_OVERLAP_ERROR(s, src, dst, len)                  \
444b3a74204894e943c43cb8e8aae39d813040702csewardj  VALGRIND_DO_CLIENT_REQUEST_STMT(                              \
45575ce8ef8fa86a502dabe152293320676922dcfebart                  _VG_USERREQ__MEMCHECK_RECORD_OVERLAP_ERROR,   \
46575ce8ef8fa86a502dabe152293320676922dcfebart                  s, src, dst, len, 0)
473e88418f808bf2840646504481d6a5be1df16541njn
489c7779b64eacf264ee427b97ae0df8596b1960ccbart#include "../shared/vg_replace_strmem.c"
49