I’ve been using RTP 6.0 (patches A, B and C) with a custom design using an
ElanSC400. My SC400 target is booted over a network and uses fs-nfs2 to
access files from a host machine. I’m using pdebug over the same network.
At start-up my application reads a modest amount of data from several small
configuration files before starting threads etc. Both the application and
the configuration files are served up from the host. This arrangement has
worked without problems through the several versions of RTP 6.0.
After installing RTP 6.1 on my host machine and rebuilding my target’s boot
image using the RTP 6.1 binaries, the fscanf() calls used to access data in
the configuration files now cause segmentation violations in libc.so.2. If
I relocate the configuration files to a RAM disk on the target, I still get
segmentation violations. The fscanf() calls are all of the form:
fscanf( fp, “variable=%lg\n”, ¶meter );
where parameter is a double. Replacing this with:
fgets( buf, 80, fp );
sscanf( buf, “variable=%lg”, ¶meter );
causes a segmentation violation in libc.so.2 on the sscanf() call (i.e. the
fgets() call works).
The same code running on my host machine works fine. Any suggestions for
the resolution of this problem would be appreciated.
Andrew Ward
andrew@intellidesign.com.au