Don't add underscore prefix to amd64 symbols
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Tue, 30 Mar 2010 07:56:58 +0000 (07:56 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Tue, 30 Mar 2010 07:56:58 +0000 (07:56 +0000)
svn path=/trunk/; revision=46588

reactos/tools/rbuild/backend/mingw/linkers/ld.mak
reactos/tools/rbuild/module.cpp

index cbcc2bc..88da818 100644 (file)
@@ -6,6 +6,12 @@ LDFLAG_CONSOLE:=--subsystem=console
 LDFLAG_WINDOWS:=--subsystem=windows
 LDFLAG_NATIVE:=--subsystem=native
 
+LDFLAG_EXCLUDE_ALL_SYMBOLS=-exclude-all-symbols
+DLLTOOL_FLAGS=--kill-at
+ifeq ($(ARCH),amd64)
+    DLLTOOL_FLAGS= --no-leading-underscore
+endif
+
 #~ #(module, objs, deps, ldflags, output, def, libs, entry, base)
 #(module, objs, deps, ldflags, output, def, libs, entry, base, extralibs)
 define RBUILD_LINK
@@ -13,15 +19,15 @@ define RBUILD_LINK
 ifneq ($(6),)
 ${call RBUILD_intermediate_dir,$(5)}$$(SEP)lib${call RBUILD_name,$(5)}.a: $(6) | ${call RBUILD_intermediate_path,$(5)}
        $$(ECHO_IMPLIB)
-       $${dlltool} --def $(6) --kill-at --output-lib=$$@
+       $${dlltool} --def $(6) $(DLLTOOL_FLAGS) --output-lib=$$@
 
 ${call RBUILD_intermediate_dir,$(5)}$$(SEP)lib${call RBUILD_name,$(5)}.delayimp.a: $(6) | ${call RBUILD_intermediate_path,$(5)}
        $$(ECHO_IMPLIB)
-       $${dlltool} --def $(6) --kill-at --output-delaylib=$$@
+       $${dlltool} --def $(6) $(DLLTOOL_FLAGS) --output-delaylib=$$@
 
 ${call RBUILD_intermediate_path_noext,$(5)}.exp: $(6) | ${call RBUILD_intermediate_path,$(5)}
        $$(ECHO_IMPLIB)
-       $${dlltool} --def $(6) --kill-at --output-exp=$$@
+       $${dlltool} --def $(6) $(DLLTOOL_FLAGS) --output-exp=$$@
 
 $(1)_CLEANFILES+=\
        ${call RBUILD_intermediate_dir,$(5)}$$(SEP)lib$(notdir $(5)).a \
@@ -81,4 +87,4 @@ endef
 #~ #(module, def, deps, ldflags, libs, entry, base)
 #~ RBUILD_LINK_RULE=${call RBUILD_LINK,$(1),$(value $(1)_OBJS),$(3),$(4),$(value $(1)_TARGET),$(2),$(5) $(value $(1)_LIBS) $(5),$(6),$(7)}
 #(module, def, deps, ldflags, libs, entry, base, extralibs)
-RBUILD_LINK_RULE=${call RBUILD_LINK,$(1),$(value $(1)_OBJS),$(3),$(4),$(value $(1)_TARGET),$(2),$(value $(1)_LIBS),$(6),$(7),$(5)}
+RBUILD_LINK_RULE=${call RBUILD_LINK,$(1),$(value $(1)_OBJS),$(3),$(4),$(value $(1)_TARGET),$(2),$(value $(1)_LIBS),$(6),$(7),$(5)}
\ No newline at end of file
index 1fdc5d6..38a104a 100644 (file)
@@ -1358,7 +1358,7 @@ Module::GetEntryPoint() const
        if (entrypoint == "0" || entrypoint == "0x0")
                return "0";
        
-       if (Environment::GetArch() != "arm")
+       if (Environment::GetArch() != "arm" && Environment::GetArch() != "amd64")
                result = "_";
 
        result += entrypoint;