News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Symbols mapped to non-existing object files

Started by jj2007, April 29, 2017, 10:00:02 AM

Previous topic - Next topic

jj2007

When I build a simple hello world, e.g. from the help file that appears during MasmBasic installation, there will be also a *.map file that contains inter alia such stuff:
0001:000000c6       _FreeLibrary@4             004010c6 f   kernel32:kernel32.dll
0001:000000cc       _ExitProcess@4             004010cc f   kernel32:kernel32.dll
0001:000000e0       _MbBufferGet@0             004010e0 f   MasmBasic:libtmpAK.obj
0001:000000f2       _MbBufferFix@0             004010f2 f   MasmBasic:libtmpAK.obj
0001:0000012a       _MbGetSlotPointer@0        0040112a f   MasmBasic:libtmpAK.obj


Now I could imagine uses for the ExitProcess@4 004010cc f   kernel32:kernel32.dll entry, but after building the library, there is definitely no longer a libtmpAK.obj hanging around, so this info must be completely useless.

Can anybody shed light on this?
a) why do I sometimes get a *.map, but more often not?
b) why is that link to non-existing temporary object files there?
c) can the info be stripped with some linker option?
d) which option suppresses the generation of the *.map file?

Thanks.

newrobert

after you delete map file, there should not map file, it's old file;

TWell

#2
_MbBufferGet@0 is in libtmpAK.obj in MasmBasic.lib ?

those -map or -debug options are somewhere in command line or in object directives, even leftover in some library.

EDIT: testing with another linker, like polink.exe eliminate some linker specific features.


jj2007

> _MbBufferGet@0 is in libtmpAK.obj in MasmBasic.lib ?
Sure they are.

> those -map or -debug options are somewhere in command line or in object directives, even leftover in some library.
I don't use these options anywhere.

I have spent hours on VS Linking and didn't find anything. Fact is that these references are useless because the obj files are gone...

newrobert


jj2007

This is not C++, my friend. Assembler sources are always rebuilt.