-/* Pro-process emacs.exe for profiling by MSVC.
- Copyright (C) 1999, 2002, 2003, 2004, 2005,
- 2006 Free Software Foundation, Inc.
+/* Pre-process emacs.exe for profiling by MSVC.
+ Copyright (C) 1999, 2001-2011 Free Software Foundation, Inc.
This file is part of GNU Emacs.
-GNU Emacs is free software; you can redistribute it and/or modify
+GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.
+along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
Andrew Innes <andrewi@harlequin.co.uk> 16-Jan-1999
based on code from addsection.c
PIMAGE_NT_HEADERS
(__stdcall * pfnCheckSumMappedFile) (LPVOID BaseAddress,
- DWORD FileLength,
- LPDWORD HeaderSum,
- LPDWORD CheckSum);
+ DWORD FileLength,
+ LPDWORD HeaderSum,
+ LPDWORD CheckSum);
#undef min
#undef max
/* File handling. */
typedef struct file_data {
- char *name;
- unsigned long size;
- HANDLE file;
- HANDLE file_mapping;
- unsigned char *file_base;
+ const char *name;
+ unsigned long size;
+ HANDLE file;
+ HANDLE file_mapping;
+ unsigned char *file_base;
} file_data;
int
-open_input_file (file_data *p_file, char *filename)
+open_input_file (file_data *p_file, const char *filename)
{
HANDLE file;
HANDLE file_mapping;
}
int
-open_output_file (file_data *p_file, char *filename, unsigned long size)
+open_output_file (file_data *p_file, const char *filename, unsigned long size)
{
HANDLE file;
HANDLE file_mapping;
}
int
-open_inout_file (file_data *p_file, char *filename)
+open_inout_file (file_data *p_file, const char *filename)
{
HANDLE file;
HANDLE file_mapping;
/* Return pointer to section header for named section. */
IMAGE_SECTION_HEADER *
-find_section (char * name, IMAGE_NT_HEADERS * nt_header)
+find_section (const char *name, IMAGE_NT_HEADERS *nt_header)
{
PIMAGE_SECTION_HEADER section;
int i;
#define PTR_TO_RVA(ptr) ((DWORD)(ptr) - (DWORD) GetModuleHandle (NULL))
#define PTR_TO_OFFSET(ptr, pfile_data) \
- ((unsigned char *)(ptr) - (pfile_data)->file_base)
+ ((unsigned const char *)(ptr) - (pfile_data)->file_base)
#define OFFSET_TO_PTR(offset, pfile_data) \
((pfile_data)->file_base + (DWORD)(offset))
variables, because of dumping.]
We could potentially generate the relocation data ourselves by making
- two versions of temacs, one with an extra dummmy section before
+ two versions of temacs, one with an extra dummy section before
EMHEAP to offset it, and then compare the dumped executables from
both. That is a lot of work though, and it doesn't solve the problem
of dumped pointers to static variables, which also can be relocated.
#define COPY_CHUNK(message, src, size) \
do { \
- unsigned char *s = (void *)(src); \
+ unsigned const char *s = (void *)(src); \
unsigned long count = (size); \
printf ("%s\n", (message)); \
printf ("\t0x%08x Offset in input file.\n", s - p_infile->file_base); \
PIMAGE_NT_HEADERS nt_header;
file_data in_file, out_file;
char out_filename[MAX_PATH], in_filename[MAX_PATH];
- char *ptr;
strcpy (in_filename, argv[1]);
strcpy (out_filename, argv[2]);
}
/* eof */
-
-/* arch-tag: 144ca747-168e-43a0-9736-3f4c0ba1657f
- (do not change this comment) */