This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

linker problem with WinCE exe's (2)


Hello again !

Second mail about "linker problem with WinCE exe's", please have a look to the newsgroup
histrory.

First I would like to thank Ian and DJ Delorie for the quik answer.


1) symbol->value:
 Is also 0, it seems that idata$x is not like a symbol (look to the linker output at the
end of the mail).

2) symbol->section->output_section->vma:
 Is always 0x14000, independent if it is idata$2, idata$3 or any other

3) symbol->section->output_offset:
Is in all cases (idata$2, idata$3,...) equal to 0 too.

4) about _bfd_coff_generic_relocate_section:
I had just a short look, but I will study it in more detail. But in my case I try to
generate MIPS code for WinCE.



I am very thankful if you have some ideas again !


Richard




Here you can see what the linker tells me with the -M option:
=============================================
Memory Configuration

Name             Origin             Length
*default*        0x00000000         0xffffffff

Linker script and memory map

:
:

 *(.gcc_except_table)

.bss            0x00012000        0x8
                0x00012000                __bss_start__=.
 *(.bss)
 *(COMMON)
 COMMON         0x00012000        0x8
/usr/src/packages/cegcc/lib/libc.lib(crtw32/startup/obj_mips_h/crt0dat.obj)
                0x00012000                _onexitbegin
                0x00012004                _onexitend
                0x00012008                __bss_end__=.

.data           0x00013000      0x200
                0x00013000                __data_start__=.
 *(.data)
 .data          0x00013000       0x48 mshello.obj
 .data          0x00013048        0x8
/usr/src/packages/cegcc/lib/libc.lib(crtw32/startup/obj_mips_h/crt0dat.obj)
                0x0001304c                C_Termination_Done
                0x00013048                exitflag
 *(.data2)
                0x00013050                __data_end__=.
 *(.data$)

.rdata
 *(.rdata)
 *(.eh_frame)
 *(.rdata$)

.edata
 *(.edata)

/DISCARD/
 *(.debug$S)
 *(.debug$T)
 *(.debug$F)
 *(.drectve)

.idata          0x00014000      0x200
 *(.idata$2)
 .idata$2       0x00014000       0x14 /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

                0x00014000                _IMPORT_DESCRIPTOR_COREDLL
>>>>> The next 3 lines are totally confusing for me. I think it should not happen that
there is no length and that there is always the same address.
                0x00014000                idata$2
                0x00014000                idata$5
                0x00014000                idata$4
 *(.idata$3)
 .idata$3       0x00014014       0x14 /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

                0x00014014                _NULL_IMPORT_DESCRIPTOR
 *(.idata$4)
 .idata$4       0x00014028        0x4 /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

 .idata$4       0x0001402c        0x4 /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

 .idata$4       0x00014030        0x4 /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

 *(.idata$5)
 .idata$5       0x00014034        0x4 /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

                0x00014034                _imp_MessageBoxW
 .idata$5       0x00014038        0x4 /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

                0x00014038                _imp_ExitThread
 .idata$5       0x0001403c        0x4 /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

                0x0001403c                COREDLL_NULL_THUNK_DATA
 *(.idata$6)
 .idata$6       0x00014040        0xe /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

 .idata$6       0x0001404e        0xe /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

 .idata$6       0x0001405c        0xc /usr/src/packages/cegcc/lib/coredll.lib(COREDLL.dll)

 *(.idata$7)

.CRT            0x00015000      0x200
 *(.CRT$)
 .CRT$XCA       0x00015000        0x4
/usr/src/packages/cegcc/lib/libc.lib(crtw32/startup/obj_mips_h/crt0init.obj)
                0x00015000                _xc_a



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]