elf2e32: new release!

I finally fix bug causes broken code section in symbian binaries. Some motherfucker move out of loop pointer increment. Maybe there was some “bomb” for other developers who unaffiled with nokia? It was so heavy to find…

There was another bug: sizeof(char*) in visual studio compiler have 4 bytes but in mingw – 8! Hehe, correctness binary not affected that bug.

There some things need be done:

  1. rewrite binary generator logic because one test failes and debugger cant help
  2. Write more tests
  3. Print variables in writable static data section
Advertisements
elf2e32: new release!

elf2e32: stable release out!

Stable release out after 4 month fixing runtime and compile-time failures. Grab source code here and build as x32(x64 version not tested).

There remains small bug – garbadge 8bit bit gap between export and import sections. Also –e32dump still displays raw data for some fields.

Well, I succesfully build pys60 on early bugfix state. Testcases succeeded and I want investigate why abld so slow on big projects.

Anyway my main goal – port symbian to rasberry pi. Why? It has open gpu driver with manufacture documentation.

 

elf2e32: stable release out!

wtf?!

error: narrowing conversion of ‘2150115144u’ from ‘unsigned int’ to ‘TInt32 {aka long int}’ inside { } [-Wnarrowing]
const TUid KUidCustomCrossCheck={KUidCustomCrossCheckValue};

warning: narrowing conversion of ‘aUid’ from ‘TInt {aka int}’ to ‘TUint32 {aka long unsigned int}’ inside { } [-Wnarrowing]
{TUid uid={aUid};return uid;}

Change in e32cmn.h TUid member type iUid in c++14 and errors became varnings! Code:

#if (__cplusplus >= 201402L)
TUint32 iUid; // warnings
#else
TInt32 iUid; // errors
#endif

 

 

wtf?!

Extending S60_5th_Edition_SDK_v1.0

What done:
ld v2.25.1 incorrectly recognized order params in generated makefile, but this order is normal for ld (Symbian ADT Sourcery G++ Lite 4.4-172) 2.19.51.20090709.

SYMBIAN_UREL_LINK_FLAGS contain linker option “–Tdata 0xAA00000”.

This command: “\t\$(LD) “,”\$(STATIC_LIBS) “,”\$(SYMBIAN_UDEB_LINK_FLAGS) “, “\$(SHARED_OBJECT_OPTION) “,  “\$(CODE_SEGMENT_START) “, “\$(DATA_SEGMENT_START) 0x400000 ” treats binutils 2.25.1 like ld –Tdata 0x400000 and value SYMBIAN_UREL_LINK_FLAGS ignored.

This is fix for cl_bpabi.pm:

if ($Bld =~ /DEB/)
{
&main::Output(
“\t\$(LD) “,”\$(STATIC_LIBS) “,”\$(SYMBIAN_UDEB_LINK_FLAGS) “, “\$(SHARED_OBJECT_OPTION) “,
“\$(CODE_SEGMENT_START) “, “\$(DATA_SEGMENT_START) 0x400000 “, “\$(SYMVER_OPTION) “,”\$(SO_NAME_OPTION) “,
“$LinkAs”,”\$(SYMBIAN_UDEB_LINK_FLAGS) ”
);
}
else
{
&main::Output(
“\t\$(LD) “,”\$(STATIC_LIBS) “,”\$(SYMBIAN_UREL_LINK_FLAGS) “,”\$(SHARED_OBJECT_OPTION) “,
“\$(CODE_SEGMENT_START) “, “\$(DATA_SEGMENT_START) 0x400000 “, “\$(SYMVER_OPTION) “,”\$(SO_NAME_OPTION) “,
“$LinkAs”,”\$(SYMBIAN_UREL_LINK_FLAGS) ”
);
}

 

Failed add declaration for operators new and delete conforming C++11/14 in gcce.h… Working from start but not now…

 

Extending S60_5th_Edition_SDK_v1.0