Skip navigation.
Home
The QNX Community Portal

View topic - App QNX 6.3 to 6.5.0

App QNX 6.3 to 6.5.0

QNX Application portings.

Re: App QNX 6.3 to 6.5.0

Postby Tim » Thu Jul 10, 2014 12:55 pm

Good Luck and Good Hunting.

I doubt the issue is going to be anything to do with mig4nto. It's almost surely going to be related to changing compilers.

The big things we noticed when switching were that:
1) Uninitialized variables (in C type code) were treated differently. By that I mean the newer compiler assigned different local variables to be register variables and thus vulnerable to not being initialized.
2) Stack variables were treated differently. For example we found some local arrays in our code declared as ' char a[10]' and a bug in the code was doing loops from 1-10 instead of 0-9 and walking off the end into the stack which wasn't mangling things in 2.95 but was in 3.3.5. I think this had to do with how chars and shorts were being 4 byte aligned. This alignment is the kind of thing that *may* affect your shared memory regions depending on what's stored there and how you copy data into/out of these regions.

Not to scare you too much but you may find that once you fix the start up problem that you encounter lots of other problems once the code runs. You will have to basically regression test everything.

Tim
Tim
Senior Member
 
Posts: 1392
Joined: Wed Mar 10, 2004 12:28 am

Re: App QNX 6.3 to 6.5.0

Postby adibood » Wed Jul 16, 2014 4:46 pm

Hi Tim,

I tried a last thing before to look further in P25 by adding some delay (5ms) between the process creation (qnx_spawn) and the first send of parameters (Com_SendMessAndWait) in SpawnAndSendParam function.
My idea was to be sure that the created process switch to receive blocked state before starter send the message. It could explain why sendmx returns me a "No such process" error.

The fact it's working with this "dirty" patch...Once all process are started, everything runs well, realtime constraints are respected for the moment. The good point is that delay is only needed during creation and initialisation phase.

If i have time, i'll port all sources to 6.5 without the mig4nto strap but for now i leave it like this.

Thanks for your time and all your advise !

Ade
adibood
Active Member
 
Posts: 14
Joined: Mon Nov 18, 2013 9:57 am

Previous

Return to Porting

Who is online

Users browsing this forum: No registered users and 2 guests