0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-10-10 00:25:06 -04:00

codeview: Look up %include path when determining files to hash.

The hash calculation in calc_md5 tries to open the source file via
"filename" again. For %includes, this is the file name that was
specified in the %include directive, not the actual name of the file
that was opened by the preprocessor. In other words, this fails if the
include file is not in the current working directory.

Add pp_input_fopen that uses the preprocessor include path lookup
code to resolve a file name and open it, and use that in codeview.c.

Signed-off-by: Fabian Giesen <fabiang@radgametools.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
This commit is contained in:
Fabian Giesen
2016-04-28 13:48:14 -07:00
committed by Cyrill Gorcunov
parent 3421a3f3f3
commit 0bbc38dbd5
3 changed files with 22 additions and 1 deletions

View File

@@ -44,6 +44,7 @@
#include "nasm.h"
#include "nasmlib.h"
#include "preproc.h"
#include "saa.h"
#include "output/outlib.h"
#include "output/pecoff.h"
@@ -308,7 +309,7 @@ static void calc_md5(const char *const filename,
FILE *f;
MD5_CTX ctx;
f = fopen(filename, "r");
f = pp_input_fopen(filename);
if (!f)
goto done;