[net.lang.c] porting to a Prime seen as a probable negative experience

kendall@wjh12.UUCP (Sam Kendall) (09/08/84)

Porting to a Prime, with its 48-bit pointers and 32-bit longs, must be
real hell.  I know from reports of the usage of my runtime checker,
which has 96-bit pointers on typical machines, that there is some
assumption that pointers and ints are the same size in most programs of
any size, Ye, even unto lint itself!  Within lint there are several
places where the assumption is made.  If anyone cares to know where, let
him or her send me mail, and I will dig the information out.

	Sam Kendall	  {allegra,ihnp4,ima,amd}!wjh12!kendall
	Delft Consulting Corp.	    decvax!genrad!wjh12!kendall

sharpe@drivax.UUCP (Andrew Sharpe) (09/18/84)

Yeah, ints and pointers is a MAJOR issue. We are doing the 286 port,
and so far hundreds of bugs have been attributed to this problem...

-- 
			Andrew Sharpe
ihnp4!-------- \
mot! ---------- \
ucbvax!unisoft!  >	drivax!sharpe
ucscc!--------- /
amdahl!------- /

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (09/19/84)

If people would use lint they wouldn't have so much trouble with things
like 0 being used where (datum *)0 is called for.

rch@brunix.UUCP (Rich Yampell) (09/23/84)

>If people would use lint they wouldn't have so much trouble wih things
>like 0 being used where (datum *)0 is called for.

true, but it does not always follow that if one has a c compiler, one also
has lint.  I spent the summer working on CP/M 68K on a Motorola VME-10
and there was no lint (much to my chagrin many times over).  Instead, the
compiler tried to do more checking than one normally expects in a c
compiler.  And it failed abyssmally at that task.

BLARSON@ecld.#eclnet (09/23/84)

From:  Bob Larson <BLARSON@ecld.#eclnet>

> If people would use lint they wouldn't have so much trouble with things
> like 0 being used where (datum *)0 is called for.

If lint was available I would agree with you.  How can I use a tool I don't
have access to?  Besides, the case given of a parameter to a function call
is one I doubt that lint would find in error.  (How does it know what should
be passed to an external function?)

My main question: Is there a public domain non-unix lint available?  
If so, would someone send me a copy or post it to unix-sources 
(net.sources).

(Send me mail first so I don't get a dozen copies)

Thanks,
Bob Larson <Blarson@Usc-Ecl>
         ... ucbvax!blarson@Usc-ecl

-------

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (09/25/84)

How about doing your C software development on a UNIX system and exporting
the code to the target system for development.  I can think of about a dozen
advantages to doing this and only a couple of drawbacks.

gnu@sun.uucp (John Gilmore) (09/25/84)

Hmm, it sounds like porting to a 286 is also seen as a probable
negative experience.  And the same problem precurs on the "large
model" 8086/8088/etc.

A very talented compiler writer of my acquaintance says "You'll never
know just how brain damaged and broken the 8086 is until you have to
write a large-model compiler for it."  [My paraphrase.]  Sorry DRI,
but you knew the job was dangerous when you took it...

sharpe@drivax.UUCP (Andrew Sharpe) (09/29/84)

Yeah, you know you've got a brain-damaged chip when it does all its
iret segment register validation in system mode, not user mode. I'll
leave the ramifications of THAT to you guys to figure out.

Well, you do what you have to do...

-- 
			Andrew Sharpe
ihnp4!-------- \
mot! ---------- \
ucbvax!unisoft!  >	drivax!sharpe
ucscc!--------- /
amdahl!------- /

"When you have eliminated all the impossibilities, whatever remains,
however improbable, must be the truth" -- Sherlock Holmes