Commit graph

284 commits

Author SHA1 Message Date
George Koehler 54028e403e Delete unused misc/getpw.c from libc.
@hexcoder- reported in https://github.com/davidgiven/ack/issues/57
that our getpw() has bugs.

I don't fix these bugs, because Illumos and Linux manual pages say
that getpw() is obsolete.  The function can overflow its buffer, so it
is never safe to use.  Our libc did not build getpw().
2017-10-28 14:25:39 -04:00
George Koehler 0a2dfd650d Delete malloc.h and tgmath.h from libc.
This malloc.h might get confused with the private malloc.h in our
libc.  C programs should #include <stdlib.h> for malloc().

This tgmath.h has no useful content, and never worked because
complex.h is missing.

Touch build.lua (by deleting some whitespace) so the *.h globs see
the deletions.
2017-10-28 14:24:35 -04:00
George Koehler b00a2c906d Build fdopen(), hypot(), putenv() in libc.
These functions are in POSIX; hypot() is in C99.  Also build cabs()
because it rides with hypot(), but don't declare cabs() in any header
file, because our compiler can't parse C99 "double complex" type.

Touch build.lua so it sees that .c files moved.
2017-10-28 13:33:57 -04:00
David Given c569ca15d8 Clean up how the language libraries refer to plat headers; they should be using
the +pkg forms of the rules and getting the headers via the paths in descr,
rather than depending on the +headers version.
2016-12-05 21:05:24 +01:00
David Given 9481487e3d Implement calloc() (accidentally got dropped with the malloc rewrite). 2016-11-23 22:16:25 +01:00
George Koehler 08f9869a63 Remove unused defines from lang/cem/libcc.ansi/math/localmath.h
This undoes part of bfeb736, and returns to using DBL_MAX_EXP and
DBL_MIN_EXP from float.h.

Add a dependency on math/localmath.h and other local header files so
libc is rebuilt when those headers change.
2016-11-06 15:49:47 -05:00
George Koehler 19ca28e22f Undo commit bfeb736 for lang/cem/libcc.ansi/headers/float.h
This restores the correct values of DBL_MAX, DBL_MIN_EXP, and related
constants.  This fixes some range checks within libc, causing
atof("-36e90") and atof("1.44e-288") to return the correct values.
2016-11-06 15:01:25 -05:00
David Given f67c98e239 Distributions are a pain --- let's not bother any more. Instead, we just tag
the repository and download a complete snapshot, old and ancient stuff and all.
2016-09-02 23:00:38 +02:00
David Given 612e38f1c6 Remove the old make-based build system, plus some big chunks of horribly
obsolete protomake build system.
2016-09-02 22:17:51 +02:00
David Given 856eb120b3 Add files which got missed in the initial build pass. 2016-08-20 14:04:17 +02:00
David Given b549980af2 Wasn't exporting the plat headers; refactor to make this a little cleaner. 2016-08-14 11:01:36 +02:00
David Given a200a2fb53 Replaced the funky and hard-to-compile ACK malloc with a much smaller
and simpler one stolen from K&R. libc builds now.
2016-08-11 00:30:32 +02:00
David Given 3ce4e53aa9 Most of libc builds now (missing malloc). 2016-08-08 23:55:47 +02:00
David Given 0d77cb8279 We can build our first C file. 2016-08-07 21:56:53 +02:00
David Given 88bd7ce126 Remove defunct pmfiles.
--HG--
branch : default-branch
2016-06-03 13:56:50 +02:00
David Given ff0c78cc78 Merge from default.
--HG--
branch : dtrg-videocore-branch-branch
2016-03-13 21:13:09 +01:00
David Given d94c1c8150 Updated distr files.
--HG--
branch : dtrg-videocore
rename : mach/i80/.distr => mach/vc4/.distr
rename : plat/cpm/.distr => plat/rpi/.distr
2013-06-21 23:38:21 +01:00
David Given 55be35a68a Add a stub malloc.h.
--HG--
branch : dtrg-videocore
rename : lang/cem/libcc.ansi/headers/stdlib.h => lang/cem/libcc.ansi/headers/malloc.h
2013-06-20 00:15:14 +01:00
David Given d273497077 Add some missing libc functions: setenv, unsetenv, strdup.
--HG--
rename : lang/cem/libcc.ansi/stdlib/getenv.c => lang/cem/libcc.ansi/stdlib/setenv.c
rename : lang/cem/libcc.ansi/string/strlen.c => lang/cem/libcc.ansi/string/strdup.c
extra : source : 64d6e6eec18d76bf8f3947ec5d171db94acdb282
2013-05-29 21:41:58 +01:00
David Given 074b42aa97 Add some missing libc functions: setenv, unsetenv, strdup.
--HG--
branch : dtrg-videocore
rename : lang/cem/libcc.ansi/stdlib/getenv.c => lang/cem/libcc.ansi/stdlib/setenv.c
rename : lang/cem/libcc.ansi/string/strlen.c => lang/cem/libcc.ansi/string/strdup.c
2013-05-29 21:41:58 +01:00
David Given f522aba4af Add support for snprintf and vsnprintf. Try and make the return value a bit
more standards-compliant.

--HG--
extra : source : a19eb606871f918e3d9e195b487b5276855edc8e
2013-05-29 17:10:58 +01:00
David Given 69953d016c Add support for snprintf and vsnprintf. Try and make the return value a bit
more standards-compliant.

--HG--
branch : dtrg-videocore
2013-05-29 17:10:58 +01:00
David Given 98e745d04c Fix awful bug where uint32_t was sometimes defined as a short.
--HG--
branch : dtrg-videocore
2013-05-25 00:33:01 +01:00
David Given 11377070fd Update distribution files.
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +01:00
David Given 07453d184a Top, topgen, aelflod. Moved the libraries back into the platform-specific
directories --- wrangling descr files was too hard. C programs can be built
for cpm, pc86, linux386, linux68k!

--HG--
branch : dtrg-buildsystem
rename : util/ack/build.mk => util/led/build.mk
rename : util/LLgen/build.mk => util/topgen/build.mk
2013-05-13 23:26:15 +01:00
David Given b0c238eb5d Made a start on building the runtimes for each platform and language; the
Linuxes all build.

--HG--
branch : dtrg-buildsystem
rename : modules/src/em_mes/build.mk => modules/src/read_em/build.mk
rename : plat/pc86/build.mk => plat/linux386/build.mk
rename : plat/pc86/build.mk => plat/linux68k/build.mk
rename : plat/pc86/build.mk => plat/linuxppc/build.mk
rename : util/ack/build.mk => util/misc/build.mk
2013-05-12 23:51:55 +01:00
David Given c1aca7dae5 First milestone of replacing the build system.
--HG--
branch : dtrg-buildsystem
rename : lang/cem/cpp.ansi/Parameters => lang/cem/cpp.ansi/parameters.h
2013-05-12 20:45:55 +01:00
George Koehler 0131ca4d46 Delete 689 undead files.
These files "magically reappeared" after the conversion from CVS to
Mercurial.  The old CVS repository deleted these files but did not
record *when* it deleted these files.  The conversion resurrected these
files because they have no history of deletion.  These files were
probably deleted before year 1995.  The CVS repository begins to record
deletions around 1995.

These files may still appear in older revisions of this Mercurial
repository, when they should already be deleted.  There is no way to fix
this, because the CVS repository provides no dates of deletion.

See http://sourceforge.net/mailarchive/message.php?msg_id=29823032
2012-09-20 22:26:32 -04:00
dtrg 075cb488a3 Call the correct kill() and getpid() syscalls rather than _kill() and _getpid(). 2010-10-02 21:51:40 +00:00
dtrg 51b41f72f8 Invoke genfiles explicitly with sh --- CVS doesn't store executable bits. 2010-08-01 10:35:33 +00:00
dtrg 54ce3f451b Configured distr system for the 6.0pre3 release. 2007-04-29 23:09:24 +00:00
dtrg 9d0f0a8fdd Disabled the code to throw signals on EM traps; this is the platform's job (and requires working signal support, which we may not have). 2007-04-29 20:46:48 +00:00
dtrg 013f58f94e Added the stdint.h header file. 2007-04-27 22:42:02 +00:00
dtrg 0d8578410c Cleaned up and enabled the support for conditionally emitting the floating-point stdio code. 2007-04-27 22:41:39 +00:00
dtrg 24ea8aee3d Updated for the 6.0pre2 release. 2007-04-24 20:45:58 +00:00
dtrg bfeb736c35 Stripped down the library to something approaching the ANSI C minimum and replaced most of the header files, to provide a reasonably consistent base to work up from. 2007-04-24 19:42:24 +00:00
dtrg 1c83baa702 Adapted for ANSI C and our pseudo-Posix syscall interface. 2007-04-21 23:18:14 +00:00
dtrg d77b4ce97c Renamed the language libraries and runtimes to have more
conventional names.
2007-02-26 22:36:56 +00:00
cvs2hg 2d80c1d2c8 fixup commit for tag 'release-6-0-pre-1' 2007-02-25 22:49:23 +00:00
dtrg b611731ec3 Updated .distr files for the new release. 2007-02-25 12:51:55 +00:00
dtrg 5c5f711cbb Done a major overhaul of the way target include files are installed and
how platform libraries are built. The ARCH pm variable has now been
renamed PLATFORM (which is more accurate) and a different ARCH
variable added, which represents the CPU family rather than the
hardware platform.
2007-02-20 00:46:10 +00:00
dtrg dbe10d2c19 Updated to the version 0.1 of Prime Mover (which involves some syntax changes). 2006-10-15 00:28:12 +00:00
dtrg 606012371e Added support for the ANSI C language runtime and preprocessor. 2006-07-30 23:45:18 +00:00
dtrg 67733b9d3c Added the correct shell script magic. (Some platforms insist on this.) 2006-07-30 23:37:15 +00:00
dtrg c1725577a7 Worked around a mysterious preprocessor oddness causing some
crucial whitespace to be removed.
2006-07-30 23:36:19 +00:00
ceriel 6ec3dd7ebd fix in flushbuf: make sure it does not return EOF when it actually succeeds 1996-04-24 13:06:00 +00:00
ceriel 73b54a2326 fixed bug with %[] in doscan.c 1996-04-01 09:08:59 +00:00
ceriel 7442852cad Removed unclear test 1995-12-18 11:02:18 +00:00
ceriel 0a643bb9d0 Improved the pow() function to give more exact results 1995-12-05 12:29:36 +00:00
ceriel 812b6f2158 Fixed obscure bug in setvbuf 1995-12-04 17:11:54 +00:00
ceriel e41c75c1bc Some minor changes 1995-08-17 10:03:43 +00:00
ceriel 5edfb9eccf Fix: had a semicolon too much (KJB) 1995-04-18 13:56:20 +00:00
ceriel 1db6a3029b Header --> Id 1994-06-24 14:02:31 +00:00
ceriel 12bc7ed391 Changed as suggested by Frans Meulenbroeks 1993-11-23 15:35:08 +00:00
ceriel 067ad0cc22 Fixed div() and ldiv() for machines with -1/2 = -1 1993-10-26 13:58:04 +00:00
ceriel b73eb4057e Fix: set error flag in some error cases 1993-10-07 09:44:03 +00:00
ceriel 4775779d8e Made more portable 1993-10-06 13:15:12 +00:00
ceriel 668b3fc2d8 New, improved fmod.c 1993-08-31 10:54:08 +00:00
ceriel a37e49b619 Added check, but probably never happens with correct FEF 1993-08-31 10:53:05 +00:00
ceriel 983e1bf095 Fix to icompute.c: always had one digit too much 1993-08-26 10:08:37 +00:00
ceriel 298fd07712 Prevent warning about overflow 1993-06-09 11:47:01 +00:00
ceriel 7eb7218667 Fixed bug in flushbuf: did not reset stream->_ptr on write error 1993-01-14 10:02:28 +00:00
ceriel 87cf9446fe Fixed comparison functions: unsigned char! 1992-07-22 12:51:53 +00:00
ceriel f3e5c3032f differing characters should be left untouched 1992-01-24 13:05:30 +00:00
ceriel 6e48c50a6c Put malloc.c after malloc in .distr file, otherwise it cannot be made 1991-12-19 10:22:15 +00:00
ceriel b23ed92d7e Use cp_dir to copy directories 1991-12-18 09:44:10 +00:00
ceriel 3c338b9a3f Fixed typo 1991-12-18 09:22:13 +00:00
ceriel 0deaae479b Updated LIST 1991-12-03 09:34:29 +00:00
ceriel b5ab00c143 Take sys/types.h and sys/stat.h from old C library 1991-12-02 16:43:08 +00:00
ceriel 68bee1244d removed sgtty.h; is taken from _tail_cc 1991-12-02 15:54:26 +00:00
ceriel 20a7f7b188 improved installation mechanism 1991-10-14 09:18:33 +00:00
ceriel 25cf41d9b7 Distribute malloc.c to improve lint library generation 1991-09-30 16:36:17 +00:00
ceriel e7b4e265d4 fixed some lint complaints 1991-09-30 16:24:45 +00:00
ceriel 8e572d417b fixed lint complaints 1991-09-30 16:12:08 +00:00
ceriel d8b3985528 Added entries for clean, etc. 1991-09-18 14:17:27 +00:00
ceriel 2ad0051a24 popen.c did not compile with __USG defined 1991-09-18 09:19:40 +00:00
ceriel 767c52b241 Fixed proto.make 1991-09-13 12:36:13 +00:00
ceriel 620f7e3d49 fix machine-dependant #if's 1991-09-04 15:37:41 +00:00
ceriel 3936acad08 Some minor mods 1991-08-27 08:57:28 +00:00
ceriel dd478032e6 New installation mechanism 1991-08-26 16:21:27 +00:00
ceriel 5d00c41800 Removed definition of EMHOME; it was not used 1991-08-07 10:52:35 +00:00
ceriel aec33f4d0f CLK_TCK --> CLOCKS_PER_SEC; was toch goed 1991-06-21 09:58:57 +00:00
ceriel 384d4c7647 corrected time.h header 1991-06-11 09:25:32 +00:00
ceriel 9e9e7db6b4 Fixed flushbuf() so that it works with POSIX conformant Unix versions 1991-06-10 17:07:18 +00:00
ceriel 3e9b9b3cbe Added isnan.c 1991-06-04 15:33:34 +00:00
ceriel e001541608 Fixed bug in checking of last char of environment variable 1991-04-24 12:18:03 +00:00
ceriel d6a224ea5f Changed name of loc_incl.h to loc_time.h 1991-04-22 13:21:11 +00:00
ceriel ab8022ccbd Fixed bug 1991-04-22 11:29:48 +00:00
ceriel 7c2c7f23e3 prevent overflow 1991-04-05 09:24:45 +00:00
ceriel 52287793fb Removed superfluous : 1991-03-26 18:41:47 +00:00
ceriel 319fb7cbff Removed evaluation order dependency bug 1991-03-21 09:49:35 +00:00
ceriel 7e8422d810 added check for Nan 1991-03-19 16:51:28 +00:00
ceriel e27071de78 Check for Nan 1991-03-19 16:39:40 +00:00
ceriel b893ec7013 m_a_i_n --> _m_a_i_n 1991-03-06 14:26:16 +00:00
ceriel 55bbaa1bf2 Fixed wrong %c conversion 1991-03-04 13:35:22 +00:00
ceriel cb7438cb99 Some modifications to improve floating point printing 1991-02-26 18:37:47 +00:00
ceriel d50d1f6c5e Added some casts so that it works for negative values 1991-02-26 18:17:21 +00:00
ceriel 1d73a4f04e Added hypot.c 1991-02-26 18:08:25 +00:00
ceriel 9c0b85db41 Fixed tmpnam(): name contained null-byte 1991-02-26 09:28:39 +00:00
ceriel cf10cabb6f fixed problems with flushbuf 1991-02-22 16:45:47 +00:00