Hello Frank (and others)
I don`t know which make is installed on my system. How can I check the "origin" or "brand" ?
I`m sure, it is the default make that comes with a freebsd CD installation.
Did you install a new make version when you tested the gpc compiler system on netbsd ? ...I don`t think so.
Anyway, I didn`t find a bsd port of gnu make. Can I get it from the gnu webpage ?
Greetings
Karim
********************************************************************
Are you using …
[View More]GNU make? (If not, please do. You can install it in
parallel to BSD make, say as gmake, and invoke gmake instead of
make. You might have to restart building from scratch then.)
Frank
[View Less]
> use gpc -v to show invocation of collect2
OK, seems to see the right path (i.e.
/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1 ), but
no results.
Checking the path shows an old library, dating from july of the
previous year... weird, it cannot be found in the new build.
Removal of libgpc.so resolves everyting :-)
Thanks!
Marten Jan
/cluster3/deruiter 124 % ll
/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1
total 21040
-rwxr-xr-x 1 deruiter staff …
[View More] 8573062 May 7 16:34 cc1
-rwxr-xr-x 1 deruiter staff 355561 May 7 16:34 collect2
-rwxr-xr-x 1 deruiter staff 598881 May 7 16:34 cpp0
-rw-r--r-- 1 deruiter staff 1648 May 7 16:34 crtbegin.o
-rw-r--r-- 1 deruiter staff 2036 May 7 16:34 crtbeginS.o
-rw-r--r-- 1 deruiter staff 1952 May 7 16:34 crtbeginT.o
-rw-r--r-- 1 deruiter staff 1216 May 7 16:34 crtend.o
-rw-r--r-- 1 deruiter staff 1272 May 7 16:34 crtendS.o
-rwxr-xr-x 1 deruiter staff 8431263 May 7 16:34 gpc1
-rwxr-xr-x 1 deruiter staff 186331 May 7 16:34 gpcpp
drwxr-xr-x 7 deruiter staff 4096 May 7 16:34 include
-rw-r--r-- 1 deruiter staff 1757576 May 7 16:34 libgcc.a
-rw-r--r-- 1 deruiter staff 210436 May 7 16:34 libgcc_eh.a
-rw-r--r-- 1 deruiter staff 600712 May 7 16:34 libgpc.a
-rwxr-xr-x 1 deruiter staff 484434 Jul 25 2003 libgpc.so
-rw-r--r-- 1 deruiter staff 6843 May 7 16:34 specs
-rwxr-xr-x 1 deruiter staff 222854 May 7 16:34 tradcpp0
drwxr-xr-x 2 deruiter staff 4096 May 7 16:34 units
/cluster3/deruiter 119 % gpc -v t.p -o t
Reading specs from
/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/specs
Configured with: /cluster3/deruiter/system/src/gcc-3.2.1/configure
--prefix=/cluster3/deruiter/system --enable-languages=pascal
Thread model: posix
gpc version 20030830, based on gcc-3.2.1
/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/gpcpp
-D__BITS_LITTLE_ENDIAN__=1 -D__BYTES_LITTLE_ENDIAN__=1
-D__WORDS_LITTLE_ENDIAN__=1 -D__NEED_NO_ALIGNMENT__=1 -v -D__GNUC__=3
-D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=1 -D__GXX_ABI_VERSION=102
-D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__
-D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix
-D__NO_INLINE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386
-D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ t.p
-famtmpfile=/tmp/cctInn8S.gpa /tmp/cc4FxSeC.i
GNU Pascal Compiler PreProcessor version 20030830, based on gcc-3.2.1
(i386 Linux/ELF)
/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/gpc1
/tmp/cc4FxSeC.i -quiet -dumpbase t.p -version
-famtmpfile=/tmp/cctInn8S.gpa -o /tmp/cc9ISZwl.s
GNU Pascal version is actually 20030830, based on gcc-3.2.1
GNU Pascal version 3.2.1 (i686-pc-linux-gnu)
compiled by GNU C version 3.2.1.
as -V -Qy -o /tmp/ccM54ZJ8.o /tmp/cc9ISZwl.s
GNU assembler version 2.13.90.0.2 (i386-redhat-linux) using BFD
version 2.13.90.0.2 20020802
/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/collect2
--eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o t
/usr/lib/crt1.o /usr/lib/crti.o
/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/crtbegin.o
-L/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1
-L/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../..
/tmp/ccM54ZJ8.o -lgpc -lm -lgcc -lgcc_eh -lc -lgcc -lgcc_eh
/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/crtend.o
/usr/lib/crtn.o
/tmp/ccM54ZJ8.o: In function `main':
/tmp/ccM54ZJ8.o(.text+0x80): undefined reference to
`__GPC_RTS_VERSION_20030830__'
collect2: ld returned 1 exit status
[View Less]
Hi all,
Trying to install gpc version 20030830 I ran into a problem with ld.
Singling out the problem I have the following (trivial :-) pascal
program t.p. The log shows all, I hope.
including or excluding the line `uses gpc;' does not change the
result.
I do not know if I have to set things correct for ld, or that the
system-wide install of gpc (version 20030507) interferes with my
user-install in /cluster3/deruiter/system/bin
Anyways, I do not get an executable, and all help is …
[View More]welcome.
Please ask if information is missing
Regards, Marten Jan
/cluster3/deruiter 87 % cat t.p
program t;
uses gpc;
begin
writeln('hello world');
end.
/cluster3/deruiter 88 % gpc --automake t.p -o t
/tmp/cct9af9n.o: In function `main':
/tmp/cct9af9n.o(.text+0x85): undefined reference to
`__GPC_RTS_VERSION_20030830__'
collect2: ld returned 1 exit status
/cluster3/deruiter 89 % which gpc
/cluster3/deruiter/system/bin/gpc
/cluster3/deruiter 90 % gpc --version
gpc 20030830, based on gcc-3.2.1
Copyright (C) 1987-2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There
is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
/cluster3/deruiter 91 % gcc --version
gcc (GCC) 3.2.1
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There
is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
/cluster3/deruiter 92 % which gcc
/cluster3/deruiter/system/bin/gcc
/cluster3/deruiter 93 % gpc -print-file-name=libgpc.a
/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/libgpc.a
/cluster3/deruiter 94 % grep __GPC_RTS_VERSION_20030830__ `gpc
-print-file-name=libgpc.a`
Binary file
/cluster3/deruiter/system/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/libgpc.a
matches
[View Less]
I compiled two versions of 'Hello World!', one in C and the other in Pascal
in the ctgwin environment, as follows:
C source hello.c: int main() {printf("Hello World!\n");}
command line: gcc hello.c -o helloc.exe
Pascal source: program Hello; begin writeln('Hello World!')
end.
command line: gpc hello.pas -o hellopas.exe
The sizes of the binaries I obtained were, respectively (copied from the DOS
prompt dir command):
HELLOC EXE …
[View More] 11.296 bytes
HELLOPAS EXE 283.531 bytes
Why the sizes of these files are so different?
What must be done in order to obtain a hellopas.exe file of reasonable size?
Thanks in advance.
Claudio
[View Less]
Hi,
I am looking for a clean way, how to get rid of the heap marking in
gpc-20030830. It seems to me that the simplest way how to do it now, is to
comment the
Mark (FirstMark)
statement in system.pas:808 (initialization code), but I think that there
should be a better way, particularly after reading this GPC posting:
http://www.gnu-pascal.de/crystal/gpc/en/mail8202.html .
It says:
> PrepareDisposePointer shouldn't do much unless `Mark' is used
> (anywhere in the program) which, e.…
[View More]g., the `HeapMon' unit does. If
> you use either of them, this probably explains it. `Mark' is not
> optimized for speed (I consider it mostly an outdated and/or
> debugging thing).
The speed-up factor is pretty significant - 8-12 times faster without
marking - since I have milions or tens of milions (de)allocations.
Thanks for any advice,
Josef Urban
[View Less]
I've been using Pascal a while, but it was only recently that I
decided to use Pascal for OO programming. Having only used records
and typed files up to this point, I'm wondering how objects are saved
to stream.
Am I right in supposing that only instance variables are saved? If
so, then what about the instance variables of objects inside an
object? And the instance variables of objects inside an object,
that's inside an object (and... you get the idea)?
I know I should just try it and see …
[View More]for myself, but there are times
when trial-and-error must take a backseat to give way to asking, and I
think this is one of those times.
TIA.
--
Political Dissident Neil Santos
Free Software Advocate Jabber: nsantos(a)jabber.org
Please avoid sending me attachments encoded in secret formatting.
See http://www.fsf.org/philosophy/no-word-attachments.html
[View Less]
Dixitur illum ih8mj(a)fjf.gnu.de scribere...
>> gpc-20030830
>> gcc-3.3.1
>Are you using GNU make? (If not, please do. You can install it in
>parallel to BSD make, say as gmake, and invoke gmake instead of
>make. You might have to restart building from scratch then.)
Alternatively, you can use the port from MirOS (mirbsd.de), which
uses BSD make, but only gcc-3.2.3 (propolice) with gpc-20030830.
On the other hand, newer versions aren't officially supported
anyways - plus …
[View More]I've done great efforts to also rewrite the Ada
makefiles for our make.
bye,
//Thorsten
--
Solange man keine schmutzigen Tricks macht, und ich meine *wirklich*
schmutzige Tricks, wie bei einer doppelt verketteten Liste beide
Pointer XORen und in nur einem Word speichern, funktioniert Boehm ganz
hervorragend. -- Andreas Bogk über boehm-gc in d.a.s.r
[View Less]
Hello all!
Recently I've discovered Frank (IIRC) telling us that the MD5 unit is,
in contrast to all other units (I just double-checked), not licenced
under the GNU LGPL, or GPL with library exception clause, but rather
plain GPL because it contains code from Ulrich Drepper's glibc imple-
mentation of the MD5 algorithm.
I took the time and prepared a new, BSD-licenced, implementation of
the code, while preserving the old framework (ie, interface), and
having as few diffs against existing code …
[View More]as possible.
On the other hand, since a few of the old functions continue to
exist, would please the original author of the md5.pas file stand
up and give permission to have the "new" md5.pas, which comes
without other GPL-licenced code, under the licence shown in the
attached file?
If that's cleared up, I would like to have the md5.pas in the
stock distribution replaced, and the md5c.c added.
As for md5c.c - it depends on <sys/types.h> to exist (I think
that's OK per ANSI/ISO C), and checks for a definition LITTLE_ENDIAN
(if it's not defined, big endian is assumed) - that might be a
portability problem to be solved. Since you are far better in gcc
and non-BSD environments than myself, I'll leave that to you.
But please let's clear up the licence issues first.
We need permission from the FSF (who got assigned copyright for
the old md5.pas file) or the person who originally wrote all the
other routines (starting at MD5Clear, continuing over MD5Compare,
MD5Str etc.).
By acknowledging this, GPC's runtime environment is fully suitable
for being used to compile, link and redistribute any application,
not just Free Software.
Thanks in advance, and in the hope to be helpful
//Thorsten
--
Solange man keine schmutzigen Tricks macht, und ich meine *wirklich*
schmutzige Tricks, wie bei einer doppelt verketteten Liste beide
Pointer XORen und in nur einem Word speichern, funktioniert Boehm ganz
hervorragend. -- Andreas Bogk über boehm-gc in d.a.s.r
[View Less]
Not sure if this one has come up yet, but I have been experiencing some
strange behavior in that some of my strings seem to disappear when used
as parameters for procedure calls.
I'm not in a position to offer a demo program, and unfortunately, this
does not seem to happen in every situation, but here is in essence what
is happening. Consider:
TYPE
STRING63 = STRING(63);
FUNCTION x : STRING63; { returns a nonempty string }
PROCEDURE y(z, t : STRING63);
{ ... }
VAR
a, b : …
[View More]STRING63;
BEGIN
a := 'hi';
y(x, a);
<..>
Now if I try to use t within y, I should get the string 'hi', but it
turns out to be an empty string (even if I WRITE(t) immediately after
the opening BEGIN in the procedure). However, if I do this:
a := 'hi';
b := x;
y(b, a);
then it works correctly.
There seems to be a problem with using a function returning a string
(maybe just one with no parameters?) directly as an argument to a
procedure. Storing the result in a variable then using the variable as
the parameter solves the problem.
Obviously this creates a simple workaround, but it is still a bug...
-----------------------------------------------------------
Frank D. Engel, Jr. <fde101(a)fjrhome.net>
____________________________________________________________
Free 20 MB Bannerless Domain Hosting, 1000 MB Data Transfer
10 Personalized POP and Web E-mail Accounts, and more.
Get It Now At www.doteasy.com
[View Less]
Hi
this program:
program writebug;
var
b1, b2: string (80);
f: Text;
begin
Assign (f, 'ref.txt');
Reset (f);
readln (f, b2);
while not eof(f) do
begin
ReadLn (f, b1);
if b1 [ 1 ] = '=' then
writeln( b2, ' ':64 - length( b2 ), 'bug')
else
WriteLn ( b2);
b2 := b1;
end;
writeln ( b1);
Close (f);
end.
Using either gpc built with gcc-3.3.3 or gcc-3.4.0
and this input file named ref.txt:
The Alphabetical GPC Language Reference
…
[View More]Abs
===
absolute
========
oops.
gives me this output:
The Alphabetical GPC Language Reference
Abs bug
=== bug
absolute bug
======== bug
oops.
Unless I have egg on my face (again), the word "bug" should not appear on
the "===" lines.
Russ
[View Less]