Index: NSIS/Contrib/Modern UI/Language files/Luxembourgish.nsh diff -u NSIS/Contrib/Modern UI/Language files/Luxembourgish.nsh:1.3 NSIS/Contrib/Modern UI/Language files/Luxembourgish.nsh:1.4 --- NSIS/Contrib/Modern UI/Language files/Luxembourgish.nsh:1.3 Thu Jul 21 09:36:40 2005 +++ NSIS/Contrib/Modern UI/Language files/Luxembourgish.nsh Thu Aug 4 14:04:42 2005 @@ -6,7 +6,7 @@ ;-------------------------------- -!insertmacro MUI_LANGUAGEFILE_BEGIN "LUXEMBOURGISH" +!insertmacro MUI_LANGUAGEFILE_BEGIN "Luxembourgish" !define MUI_LANGNAME "Lėtzebuergesch" ;Use only ASCII characters (if this is not possible, use the English name) Index: NSIS/SCons/Config/gnu diff -u NSIS/SCons/Config/gnu:1.16 NSIS/SCons/Config/gnu:1.19 --- NSIS/SCons/Config/gnu:1.16 Sat Jul 16 03:09:17 2005 +++ NSIS/SCons/Config/gnu Fri Aug 5 08:27:03 2005 @@ -16,7 +16,14 @@ ### flags -defenv['ENTRY_FLAG'] = lambda x: '-Wl,-e,_' + x + '@16' +def entry(x): + if x == 'WinMain': + x = '_WinMain@16' + elif x == 'DllMain': + x = '_DllMain@12' + return '-Wl,-e%s' % x + +defenv['ENTRY_FLAG'] = entry defenv['MAP_FLAG'] = '-Wl,-Map,${TARGET.base}.map' defenv['EXCEPTION_FLAG'] = '' defenv['NODEFLIBS_FLAG'] = '-nostdlib -Wl,--exclude-libs,msvcrt.a' @@ -65,6 +72,7 @@ plugin_env.Append(CCFLAGS = '-Wall') # level 3 warnings plugin_env.Append(LINKFLAGS = '-s') # strip +plugin_env.Append(LINKFLAGS = '-mwindows') # build windows executables plugin_env.Append(LINKFLAGS = '$ALIGN_FLAG') # 512 bytes align plugin_env.Append(LINKFLAGS = '$MAP_FLAG') # generate map file @@ -94,7 +102,7 @@ # sure the sections will be written in the correct order. # -stub_env.Append(LINKFLAGS = '-Wl,%s' % File('linker_script').abspath) +stub_env.Append(LINKFLAGS = '-T %s' % File('linker_script').abspath) # # GCC requires some functions from the CRT to be present, if certain Index: NSIS/SCons/Config/linker_script diff -u NSIS/SCons/Config/linker_script:1.1 NSIS/SCons/Config/linker_script:1.2 --- NSIS/SCons/Config/linker_script:1.1 Sat Jul 2 10:53:21 2005 +++ NSIS/SCons/Config/linker_script Fri Aug 5 08:27:58 2005 @@ -1,10 +1,210 @@ +OUTPUT_FORMAT(pei-i386) SECTIONS { - .text : { *(.text) } - .data : { *(.data) } - .rdata : { *(.rdata) } - .bss : { *(.bss) } - .idata : { *(.idata) } - .ndata BLOCK(__section_alignment__) : { [ .ndata ] } - .rsrc : { *(.rsrc) } + .text __image_base__ + __section_alignment__ : + { + *(.init) + *(.text) + *(SORT(.text$*)) + *(.glue_7t) + *(.glue_7) + ___CTOR_LIST__ = .; __CTOR_LIST__ = . ; + LONG (-1); + *(EXCLUDE_FILE (*crtend.o) .ctors); + *(.ctor); + *(SORT(.ctors.*)); + *crtend.o (.ctors); + LONG (0); + ___DTOR_LIST__ = .; __DTOR_LIST__ = . ; + LONG (-1); + *(EXCLUDE_FILE (*crtend.o) .dtors); + *(.dtor); + *(SORT(.dtors.*)); + *crtend.o (.dtors); + LONG (0); + *(.fini) + /* ??? Why is .gcc_exc here? */ + *(.gcc_exc) + PROVIDE (etext = .); + *(.gcc_except_table) + } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explictly include it after __data_end__. */ + .data BLOCK(__section_alignment__) : + { + __data_start__ = . ; + *(.data) + *(.data2) + *(SORT(.data$*)) + __data_end__ = . ; + *(.data_cygwin_nocopy) + } + .rdata BLOCK(__section_alignment__) : + { + *(.rdata) + *(SORT(.rdata$*)) + *(.eh_frame) + ___RUNTIME_PSEUDO_RELOC_LIST__ = .; + __RUNTIME_PSEUDO_RELOC_LIST__ = .; + *(.rdata_runtime_pseudo_reloc) + ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; + __RUNTIME_PSEUDO_RELOC_LIST_END__ = .; + } + .pdata BLOCK(__section_alignment__) : + { + *(.pdata) + } + .bss BLOCK(__section_alignment__) : + { + __bss_start__ = . ; + *(.bss) + *(COMMON) + __bss_end__ = . ; + } + .edata BLOCK(__section_alignment__) : + { + *(.edata) + } + /DISCARD/ : + { + *(.debug$S) + *(.debug$T) + *(.debug$F) + *(.drectve) + } + .idata BLOCK(__section_alignment__) : + { + /* This cannot currently be handled with grouped sections. + See pe.em:sort_sections. */ + SORT(*)(.idata$2) + SORT(*)(.idata$3) + /* These zeroes mark the end of the import list. */ + LONG (0); LONG (0); LONG (0); LONG (0); LONG (0); + SORT(*)(.idata$4) + SORT(*)(.idata$5) + SORT(*)(.idata$6) + SORT(*)(.idata$7) + } + .CRT BLOCK(__section_alignment__) : + { + ___crt_xc_start__ = . ; + *(SORT(.CRT$XC*)) /* C initialization */ + ___crt_xc_end__ = . ; + ___crt_xi_start__ = . ; + *(SORT(.CRT$XI*)) /* C++ initialization */ + ___crt_xi_end__ = . ; + ___crt_xl_start__ = . ; + *(SORT(.CRT$XL*)) /* TLS callbacks */ + /* ___crt_xl_end__ is defined in the TLS Directory support code */ + ___crt_xp_start__ = . ; + *(SORT(.CRT$XP*)) /* Pre-termination */ + ___crt_xp_end__ = . ; + ___crt_xt_start__ = . ; + *(SORT(.CRT$XT*)) /* Termination */ + ___crt_xt_end__ = . ; + } + .tls BLOCK(__section_alignment__) : + { + ___tls_start__ = . ; + *(.tls) + *(.tls$) + *(SORT(.tls$*)) + ___tls_end__ = . ; + } + .endjunk BLOCK(__section_alignment__) : + { + /* end is deprecated, don't use it */ + PROVIDE (end = .); + PROVIDE ( _end = .); + __end__ = .; + } + .ndata BLOCK(__section_alignment__) : + { + *(.ndata) + } + .rsrc BLOCK(__section_alignment__) : + { + *(.rsrc) + *(SORT(.rsrc$*)) + } + .reloc BLOCK(__section_alignment__) : + { + *(.reloc) + } + .stab BLOCK(__section_alignment__) (NOLOAD) : + { + *(.stab) + } + .stabstr BLOCK(__section_alignment__) (NOLOAD) : + { + *(.stabstr) + } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section. Unlike other targets that fake this by putting the + section VMA at 0, the PE format will not allow it. */ + /* DWARF 1.1 and DWARF 2. */ + .debug_aranges BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_aranges) + } + .debug_pubnames BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_pubnames) + } + /* DWARF 2. */ + .debug_info BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_info) *(.gnu.linkonce.wi.*) + } + .debug_abbrev BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_abbrev) + } + .debug_line BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_line) + } + .debug_frame BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_frame) + } + .debug_str BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_str) + } + .debug_loc BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_loc) + } + .debug_macinfo BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_macinfo) + } + /* SGI/MIPS DWARF 2 extensions. */ + .debug_weaknames BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_weaknames) + } + .debug_funcnames BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_funcnames) + } + .debug_typenames BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_typenames) + } + .debug_varnames BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_varnames) + } + /* DWARF 3. */ + .debug_ranges BLOCK(__section_alignment__) (NOLOAD) : + { + *(.debug_ranges) + } } +