[Simh] OpenBSD (5.6) issues

Mark Pizzolato - Info Comm Mark at infocomm.com
Tue Nov 11 14:53:03 EST 2014


On Tuesday, November 11, 2014 at 12:45 AM, Cory Smelosky wrote:
> On Tue, 11 Nov 2014, khandy21yo wrote:
> 
> >
> > Pcreposix is the eegex in peripheral nerves? she'sregular expression).
> >
> 
> Yeah, it's the regex library...there's also regex.h support but it apparently
> found pcreposix.

pcreposix is preferred over the default C library provided regex capabilities since the regular expressions supported are richer.  In general if pcreposix is available it is used.

The strange thing in this case, is that the linker (being invoked behind gcc) doesn't seem to be aware of the system available library search paths which are defined.  These are visible in the first line of output from the command (ldconfig -r).  

The makefile has been adjusted to detect this problem and add -L<libpcreposix-path> when necessary.

> > It looks like you are having isues witg word size. Your machine seems
> confusef about word size issues. I386 amd64 and  x86?_64 all sem ro
> show  up.
> >
> 
> Hmmm, strange it only appears in the (probably-less-maintained) simulators.
> ;););)
> 
> > I also thibk I remember that gcc and egcs hadsome compatibility issues.
> Wasnt  egcs begore gcc 4.2, not a later version?
> >
> 
> Just binary naming oddities from the OpenBSD crew...not sure why they re-
> used the egcs name.

Actually, the PC complaints are name collisions with readline components which are dynamically loaded.  It seems that some readline dependent libraries export a variable PC which collides with the PC defined in the simulator.  Since scp's use of readline usage is very simple, I'm pretty sure that the existence of the name collision doesn't actually cause a problem.

This issue will occur with any simulator which has a global variable PC defined.  Many/most simulators have a PC register, but this is often defined as a macro which refers to an element of an array:
For example, the PDP11 has:
#define PC R[7]
In this case, there is no global variable called PC which exists in the linker observed name space, and thus no warning happens when readline is dynamically loaded at simulator startup.

I believe that this is completely safe to ignore.

Thanks for pointing out the issues.

- Mark


More information about the Simh mailing list