[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [microblaze-uclinux] PPPD problem with fork()




Thanks Carsten,

It seems OK without the size-optimization.
Probably there is a problem in the toolchain?

Stephane



"Bartsch Carsten" <cbartsch@xxxxxxxxxx>
Envoyé par : owner-microblaze-uclinux@xxxxxxxxxxxxxx

03/03/2009 16:26

Veuillez répondre à
microblaze-uclinux@xxxxxxxxxxxxxx

A
<microblaze-uclinux@xxxxxxxxxxxxxx>
cc
Objet
RE: [microblaze-uclinux] PPPD problem with fork()





Switching off size-optimization (remove -Os compiler option) helps my test-app, all addresses are now the same in parent and child process.
 
Carsten
 
 
De: owner-microblaze-uclinux@xxxxxxxxxxxxxx [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] En nombre de sgomes@xxxxxxxxxxx
Enviado el:
martes, 03 de marzo de 2009 15:06
Para:
microblaze-uclinux@xxxxxxxxxxxxxx
Asunto:
[microblaze-uclinux] PPPD problem with fork()

 

Hi,


I currently use the petalinux system with MMU support. I use the sources files retrieved from petalinux-mmu-v0.10.tar.gz and not the latest sources files.

When I try to use pppd application to communicate with a modem, I have a bug.

I use pppd with the connect option which gives pppd a command to execute. This command is executed using a fork() and execv().

The problem is that after the fork() call, in the created child, the pointers, pointing on strings in the parent, point on a NULL pointer.


But if I compile pppd with #define __uCLinux__  which implies to use a vfork() instead a fork(), pppd runs properly.


Has someone met the same problem in pppd or in other applications using a fork()?



Regards,


Stephane