diff options
Diffstat (limited to 'ld/emultempl')
-rw-r--r-- | ld/emultempl/beos.em | 19 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 8 |
2 files changed, 6 insertions, 21 deletions
diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em index 24d4c44..4e06372 100644 --- a/ld/emultempl/beos.em +++ b/ld/emultempl/beos.em @@ -216,23 +216,8 @@ set_pe_subsystem (void) set_pe_name ("__subsystem__", v[i].value); /* If the subsystem is windows, we use a different entry - point. We also register the entry point as an undefined - symbol. from lang_add_entry() The reason we do - this is so that the user - doesn't have to because they would have to use the -u - switch if they were specifying an entry point other than - _mainCRTStartup. Specifically, if creating a windows - application, entry point _WinMainCRTStartup must be - specified. What I have found for non console - applications (entry not _mainCRTStartup) is that the .obj - that contains mainCRTStartup is brought in since it is - the first encountered in libc.lib and it has other - symbols in it which will be pulled in by the link - process. To avoid this, adding -u with the entry point - name specified forces the correct .obj to be used. We - can avoid making the user do this by always adding the - entry point name as an undefined symbol. */ - lang_add_entry (v[i].entry, 1); + point. */ + lang_default_entry (v[i].entry); return; } diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 1336a31..bd6f191 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -139,9 +139,9 @@ gld_${EMULATION_NAME}_before_parse (void) #if (PE_DEF_SUBSYSTEM == 9) || (PE_DEF_SUBSYSTEM == 2) #if defined TARGET_IS_mipspe || defined TARGET_IS_armpe - lang_add_entry ("WinMainCRTStartup", FALSE); + lang_default_entry ("WinMainCRTStartup"); #else - lang_add_entry ("_WinMainCRTStartup", FALSE); + lang_default_entry ("_WinMainCRTStartup"); #endif #endif #endif @@ -457,7 +457,7 @@ set_pe_subsystem (void) { char *alc_entry; - /* lang_add_entry expects its argument to be permanently + /* lang_default_entry expects its argument to be permanently allocated, so we don't free this string. */ alc_entry = xmalloc (strlen (initial_symbol_char) + strlen (entry) @@ -467,7 +467,7 @@ set_pe_subsystem (void) entry = alc_entry; } - lang_add_entry (entry, FALSE); + lang_default_entry (entry); return; } |