From mboxrd@z Thu Jan 1 00:00:00 1970 From: pino@dohd.org (Martijn van Buul) Date: Mon, 15 Jan 2001 15:53:15 +0100 Subject: [pups] Stupid question.. Message-ID: <20010115155315.A16975@mud.stack.nl> Hey. I'm playing around with a /53 running 2.11BSD, trying to port some software, and I have a (probably stupid) problem: environ. When I write a simple program like #include extern char **environ; void main(argc, argv) int argc; char **argv; { printf("Hello world!"); environ=environ; } and compile & link it using cc ("cc -o test test.c"), things go fine, however if I link things manually ("cc -c test.c ; ld -o test test.o -lc") I get an unresolved _environ. By some experimentation, I noticed that including /lib/crt0.o in the linker helps to some extent - however, the binary generated by cc works like a charm, while the manually linked version quits with a bus error. Any ideas? -- Martijn van Buul - Pino at dohd.org - http://www.stack.nl/~martijnb/ Geek code: G-- - Visit OuterSpace: mud.stack.nl 3333 Kees J. Bot: The sum of CPU power and user brain power is a constant. Received: (from major at localhost) by minnie.cs.adfa.edu.au (8.9.3/8.9.3) id JAA08435 for pups-liszt; Tue, 16 Jan 2001 09:22:57 +1100 (EST) (envelope-from owner-pups at minnie.cs.adfa.edu.au) Received: from henry.cs.adfa.edu.au (henry.cs.adfa.edu.au [131.236.21.158]) by minnie.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id JAA08430 for ; Tue, 16 Jan 2001 09:22:55 +1100 (EST) (envelope-from wkt at henry.cs.adfa.edu.au) Received: (from wkt at localhost) by henry.cs.adfa.edu.au (8.11.1/8.9.3) id f0FMTm309828 for pups at minnie.cs.adfa.edu.au; Tue, 16 Jan 2001 09:29:48 +1100 (EST) (envelope-from wkt) Received: from moe.2bsd.com (MOE.2BSD.COM [206.139.202.200]) by minnie.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id JAA08355 for ; Tue, 16 Jan 2001 09:17:00 +1100 (EST) (envelope-from sms at moe.2bsd.com) Received: (from sms at localhost) by moe.2bsd.com (8.10.1/8.10.1) id f0FMFjJ26746 for pups at minnie.cs.adfa.edu.au; Mon, 15 Jan 2001 14:15:45 -0800 (PST) Date: Mon, 15 Jan 2001 14:15:45 -0800 (PST) From: "Steven M. Schultz" Message-Id: <200101152215.f0FMFjJ26746 at moe.2bsd.com> To: pups at minnie.cs.adfa.edu.au Subject: Re: [pups] Stupid question.. Sender: owner-pups at minnie.cs.adfa.edu.au Precedence: bulk Hi - > From: Martijn van Buul > > however if I link things manually ("cc -c test.c ; ld -o test test.o -lc") > I get an unresolved _environ. By some experimentation, I noticed that > including /lib/crt0.o in the linker helps to some extent - however, > the binary generated by cc works like a charm, while the manually > linked version quits with a bus error. Any ideas? Try placing /lib/crt0.o before the test.o: ld -o test /lib/crt0.o test.o -lc on another note it's usually not a good idea to call a program 'test' because when you are least expecting it you will end up running /bin/test and wonder what is wrong. Steven