On 2020-03-11 18:03, Joe Lowder wrote: > One c-programming objective pertains to a small utility
> that I have used every day for the past 30+ years. It has
> worked flawlessly on a number of different flavor Linux
> installs on many dozens of computers. > Today, I found that it did not work when I copied it on
> to a new installation of Linux Mint 18.3 on a Lenovo
> model 500 laptop, giving me a segmentation core fault.
> So, I wonder if the source code perhaps needs to be
> re-compiled for this kernel? Or, is there something else
> I could try?
> http://www.upquick.com/temp/readin > http://www.upquick.com/temp/readin.c
This is some old code. I think it's old enough that some of its
assumptions about struct sizes, libc, and/or the compiler it was built
with have become obsolete. The gcc version is 18.104.22.168, while the oldest
binary I have sitting around here is from 1999 and was built with gcc
2.95.2. The binary segfaulted for me too.
Fortunately, all you should need to do is recompile it. Nothing to do
with the kernel here, it's all userspace and the termios ioctls are
still the same. It'll give you a metric ton of warnings, but that is to
be expected when doing software archaeology. "gcc -o readin-new
readin.c" and then see if readin-new works the way you expect when you
"echo -e "whatever\n" | ./readin-new 15".