[Info-vax] The (now lost) future of Alpha.

Johnny Billquist bqt at softjar.se
Mon Aug 6 13:08:45 EDT 2018


On 2018-08-06 14:09, Craig A. Berry wrote:
> On 8/5/18 8:07 PM, Bill Gunshannon wrote:
>> On 08/05/2018 08:55 PM, John Reagan wrote:
>>> Read, write, etc. are not in a C standard. They are in POSIX.
> 
> Exactly, and on unixy systems they are native services (syscalls), not C
> library functions.

Maybe a rather fine distinction, and nitpicking, but the system calls 
are also C functions in a library. It's just that they are just wrappers 
around the actual system call, to make it accessible from C.

On most systems, the actual syscall itself is invoked through some 
illegal or trapped instruction, which gets into the OS, which then 
figures out what syscall was invoked. But your C program will not do 
that illegal instruction directly. You call something that looks like a 
C function, and sortof is, it's just that it's a shim for the trapping 
into the OS. And that shimming needs to be in a library that your 
program can include, and as a function callable from C.

So sure, your compiler, and program, do not need any assembler, but 
there will be a library you *need* to include, which exposes C callable 
functions, but which is written in assembler.

   Johnny

-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol



More information about the Info-vax mailing list