New memory allocation functions with Linux fixes
authorjtvolpe <jtvolpe@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 4 Feb 2001 20:54:30 +0000 (20:54 +0000)
committerjtvolpe <jtvolpe@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 4 Feb 2001 20:54:30 +0000 (20:54 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@579 4a8a32a2-be11-0410-ad9d-d568d2c75423

27 files changed:
Makefile
Makefile.common.in
as/z80/Makefile
as/z80/asdata.c
as/z80/aslist.c
as/z80/assym.c
debugger/mcs51/Makefile.in
link/z80/Makefile
link/z80/Makefile.in
link/z80/lkarea.c
link/z80/lkdata.c
link/z80/lkeval.c
link/z80/lkhead.c
link/z80/lkihx.c
link/z80/lklex.c
link/z80/lklibr.c
link/z80/lklist.c
link/z80/lkmain.c
link/z80/lkrloc.c
link/z80/lks19.c
link/z80/lksym.c
src/Makefile.in
src/SDCC.y
src/SDCCglobl.h
src/SDCCmain.c
src/mcs51/Makefile
support/cpp/Makefile.in

index 9efd710eedec70eb821df8f0f8949d4b0611ddbc..029f78c6a815248f6040abe97f1420e209e892b9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,7 @@
 #
 #
 
+CFLAGS+=-g
 
 SHELL          = /bin/sh
 AUTOCONF       = autoconf
index 55bb167f3e75a5c9831b6ffb37ab59f70e4d38e4..f5705af3316c5a35673092a7faf763a94c133de7 100644 (file)
@@ -33,9 +33,12 @@ man2dir         = $(mandir)/man2
 infodir         = @infodir@
 srcdir          = @srcdir@
 
+SLIB                   = $(PRJDIR)/support/Util
+
 # Flags
+
 DEFS            = $(subs -DHAVE_CONFIG_H,,@DEFS@)
-CPPFLAGS        = @CPPFLAGS@ -I$(PRJDIR)
+CPPFLAGS        = @CPPFLAGS@ -I$(PRJDIR) -I$(SLIB)
 CFLAGS          = @CFLAGS@ -Wall
 M_OR_MM         = @M_OR_MM@
 
index b0056d28ed22e3bc02d61982d22f52042242453e..5b8e5c0ef5e2a040daa1f64c256e075af01d78a2 100644 (file)
@@ -3,14 +3,23 @@ PRJDIR = ../..
 include $(PRJDIR)/Makefile.common
 
 OBJDIR = obj/$(EXT)
+
 SDC    = .
+
+SLIBSRC        = NewAlloc.c
+
 SRC    = asdata.c asexpr.c aslex.c aslist.c asmain.c asout.c \
          assubr.c assym.c z80adr.c z80ext.c z80mch.c z80pst.c
+
 OBJS   = $(SRC:%.c=$(OBJDIR)/%.o)
+SLIBOBJS       = $(SLIBSRC:%.c=$(OBJDIR)/%.o) 
+
 BINS   = $(BUILDDIR)as$(EXT)
 
 CFLAGS += $(OPTS) -I. -DINDEXLIB -DMLH_MAP -DUNIX -DSDK
 CFLAGS += -funsigned-char
+CFLAGS += -I$(SLIB) 
+
 LDFLAGS += -lm
 
 all:   $(OBJDIR) dep $(BINS)
@@ -25,13 +34,16 @@ include Makefile.dep
 $(OBJDIR):
        mkdir -p $(OBJDIR)
 
-$(BINS): $(OBJS)
-       $(CC) $(LDFLAGS) -o $(BINS) $(OBJS)
+$(BINS): $(OBJS) $(SLIBOBJS)
+       $(CC) $(LDFLAGS) -o $(BINS) $(OBJS) $(SLIBOBJS)
 
 
 $(OBJDIR)/%.o: %.c
        $(CC) -c $(CFLAGS) -o $@ $<
 
+$(OBJDIR)/%.o: $(SLIB)/%.c
+       $(CC) -c $(CFLAGS) -o $@ $<
+
 clean:
        rm -rf $(OBJS) $(BINS) $(OBJDIR)
 
index 4af2fdcc5803d600b862e98bf6f8015eb0795176..189be0b275624d483fe278cb0b9ff070a94bde48 100644 (file)
 #include <setjmp.h>
 #include <string.h>
 
-//#if !defined(_MSC_VER)
-//#include <alloc.h>
-//#endif
-
 #include "asm.h"
 
 /*)Module      asdata.c
index 2c006cb3d1414cd37dc9ac36706f693c8da34573..e3a12b3e1192ed1a4515b1abadf2ead2e09b5a47 100644 (file)
 #include <stdio.h>
 #include <setjmp.h>
 #include <string.h>
+#include <malloc.h>
 
 //#include "newalloc.h"
-#if defined(_MSC_VER)
-#include <malloc.h>
-#else
-#include <alloc.h>
-#endif
+//#if defined(_MSC_VER)
+//#include <malloc.h>
+//#else
+//#include <alloc.h>
+//#endif
 
 #include "asm.h"
 
index 3aba5c280b7f6cba7bc25ded1968d185e026127b..3285265f813665a52cde841150f9795cb5e3ee4b 100644 (file)
 #include <stdio.h>
 #include <setjmp.h>
 #include <string.h>
-
-#if defined(_MSC_VER)
 #include <malloc.h>
-#else
-#include <alloc.h>
-#endif
+
+//#if defined(_MSC_VER)
+//#include <malloc.h>
+//#else
+//#include <alloc.h>
+//#endif
 
 #include "asm.h"
 
index 14cfd30ccd67b1d068ffa04eb4374c266c75f612..3de33c8c02a9011b6dfcacddb30553a80b172350 100644 (file)
@@ -13,6 +13,7 @@ CPP           = @CPP@
 INSTALL                = @INSTALL@
 
 PRJDIR         = ../..
+SLIB           = $(PRJDIR)/support/Util
 
 srcdir         = @srcdir@
 prefix         = @prefix@
@@ -27,7 +28,7 @@ man2dir         = $(mandir)/man2
 infodir         = ${prefix}/info
 
 STD_INC                = @sdcc_include_dir@
-CPPFLAGS       = @CPPFLAGS@ -I. -I$(PRJDIR) -I$(PRJDIR)/support
+CPPFLAGS       = @CPPFLAGS@ -I. -I$(PRJDIR) -I$(PRJDIR)/support -I$(SLIB)
 CFLAGS         = @CFLAGS@
 M_OR_MM                = @M_OR_MM@
 LDFLAGS                = @LDFLAGS@
@@ -35,6 +36,7 @@ LDFLAGS               = @LDFLAGS@
 LIBS            = @LIBS@
 LIBDIRS         =
 
+SLIBOBJS               = NewAlloc.o
 
 OBJECTS                = sdcdb.o symtab.o simi.o $(PRJDIR)/src/SDCCset.o \
                  break.o cmd.o $(PRJDIR)/src/SDCChasht.o \
@@ -90,12 +92,14 @@ include clean.mk
 
 # My rules
 # --------
-$(TARGET): $(OBJECTS)
-       $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBDIRS) $(LIBS)
+$(TARGET): $(OBJECTS) $(SLIBOBJS)
+       $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(SLIBOBJS) $(LIBDIRS) $(LIBS)
 
 .c.o:
        $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
 
+$(SLIBOBJS):%.o:$(SLIB)/%.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
 
 # Remaking configuration
 # ----------------------
index 6c4fbeae30e956d061281086bb11ac0c29d50778..39f64dacefda03f044ecd53a2890031ec72bda58 100644 (file)
@@ -3,25 +3,35 @@ PRJDIR = ../..
 include $(PRJDIR)/Makefile.common
 
 OBJDIR = obj/$(EXT)
+
+SLIBSRC        = NewAlloc.c
+
 SRC    = lkarea.c lkdata.c lkeval.c lkhead.c lkihx.c lklex.c \
          lklibr.c lklist.c lkmain.c lkrloc.c lks19.c lksym.c \
          lkgb.c lkgg.c
-OBJS   = $(SRC:%.c=$(OBJDIR)/%.o)
+
+OBJS   = $(SRC:%.c=$(OBJDIR)/%.o) 
+SLIBOBJS       = $(SLIBSRC:%.c=$(OBJDIR)/%.o) 
+
 BINS   = $(BUILDDIR)link$(EXT)
 
 CFLAGS += $(OPTS) -DINDEXLIB -DMLH_MAP -DUNIX -DSDK
 CFLAGS += -funsigned-char -DUNIX
+CFLAGS += -I$(PRJDIR)/as/$(PORT) -I$(SLIB) 
 
 all:   $(BINS)
 
-$(BINS): $(OBJDIR) $(OBJS)
-       $(CC) $(LDFLAGS) -o $(BINS) $(OBJS)
+$(BINS): $(OBJDIR) $(OBJS) $(SLIBOBJS)
+       $(CC) $(LDFLAGS) -o $(BINS) $(OBJS) $(SLIBOBJS) 
 
 $(OBJDIR):
        mkdir -p $(OBJDIR)
 
 $(OBJDIR)/%.o: %.c
-       $(CC) -c $(CFLAGS) -I$(PRJDIR)/as/$(PORT) -o $@ $<
+       $(CC) -c $(CFLAGS) -o $@ $<
+
+$(OBJDIR)/%.o: $(SLIB)/%.c
+       $(CC) -c $(CFLAGS) -o $@ $<
 
 clean:
        rm -rf $(OBJS) $(BINS) $(OBJDIR)
index 467a53af4d533fe1d7bab4cf4b171dbd92a697c5..911077f435e362d3ab9d0030834a0a36930b8c64 100644 (file)
@@ -26,11 +26,15 @@ man1dir         = $(mandir)/man1
 man2dir         = $(mandir)/man2
 infodir         = ${prefix}/info
 
-CPPFLAGS       = @CPPFLAGS@ -I. -I$(PRJDIR) -I$(PRJDIR)/as/z80
+SLIB   =$(PRJDIR)/support/Util
+
+CPPFLAGS       = @CPPFLAGS@ -I. -I$(PRJDIR) -I$(PRJDIR)/as/z80 -I$(SLIB)
 CFLAGS         = @CFLAGS@ -Wall -DINDEXLIB -DMLH_MAP -DUNIX -DSDK -DSDK_VERSION_STRING="\"3.0.0\"" -DTARGET_STRING="\"gbz80\"" -funsigned-char
 M_OR_MM                = @M_OR_MM@
 LDFLAGS                = @LDFLAGS@ -lm
 
+SLIBOBJS       = NewAlloc.o
+
 LKOBJECTS      = lkarea.o lkdata.o lkeval.o lkhead.o lkihx.o lklex.o \
                  lklibr.o lklist.o lkmain.o lkrloc.o lks19.o lksym.o \
                  lkgb.o lkgg.o 
@@ -42,8 +46,8 @@ LKZ80         = $(PRJDIR)/bin/link-z80
 # ------------------------------------------
 all: checkconf $(LKZ80)
 
-$(LKZ80): $(LKOBJECTS)
-       $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(LKOBJECTS) 
+$(LKZ80): $(SLIBOBJS) $(LKOBJECTS)
+       $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(SLIBOBJS) $(LKOBJECTS) 
 
 # Compiling and installing everything and runing test
 # ---------------------------------------------------
@@ -87,6 +91,8 @@ include clean.mk
 .c.o:
        $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
 
+$(SLIBOBJS):%.o:$(SLIB)/%.c
+       $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
 
 # Remaking configuration
 # ----------------------
index 445db4aa104fc3f451fec2f1aad39af56ace7688..f7236b9df3c3861a215dee2e648791fd9f983d0f 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 /*)Module      lkarea.c
index 58c30f589a2b420aa912e4e9b87c1c704b5fe1c5..b95654177d514bb2d99ebb076497c0ce178d81ef 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 /*)Module      lkdata.c
index 59a6c6b6f5d00f35342e87297e460d5fba145b12..183e54b2d8e601478da81fc639c1b10146ace9ce 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 /*)Module      lkeval.c
index e8011c51d68f18ccf70d45ce48dbd754a2d9bbb0..3eb127d9c3d7bb9d860ad65af471cd844dbe40c9 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 /*Module       lkhead.c
index e8cfddfe678b00b911ea2e7cf676cbf113d45bf6..a0e35d99122382e2e79778ae58451d64c96e0d38 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 /*)Module      lkihx.c
index 5447b736bb4b127a7f0ae45739f8f9e2587fbf11..670633bd1e9645c2e75f2d189eaf90ca52a5fe6e 100644 (file)
@@ -15,7 +15,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 /*)Module      lklex.c
index 4e730bef6c41de399028edf078b79257e37b5884..bc10c17246b605d5da96953b127aa1ca19108c0b 100644 (file)
@@ -21,8 +21,9 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
+#include "newalloc.h"
 
 /*)Module      lklibr.c
  *
index ddd20ea976732aa6ba972d8a58a8dd3e8b4d77fb..7f05525273a11b8985e53c611269fa2816dc890c 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 /*)Module      lklist.c
index a01fa62ebfa865be3adf25ad8983968e4787fb00..681c790200afed5bad43d4e19eaa7a7de6e2cab3 100644 (file)
@@ -14,7 +14,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 #ifndef SDK_VERSION_STRING
index 4a4b527efa8b96259abdb66e2630e2e06526334d..0f2d6ad0238af3358f6e82ede26e64edc4440885 100644 (file)
@@ -15,7 +15,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 /*)Module      lkrloc.c
index b326600f95e2aa3be83ef3148c5699bdfff37777..905e7e74c73ce9ede3d0ebb6c8fa10b8173cc7d8 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 /*)Module      lks19.c
index 0606dae773ffc4fb5c7884d37d23e383838a25cd..dac3479cd51b1702acffd8aed392e622ca8e7775 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <alloc.h>
+//#include <alloc.h>
 #include "aslink.h"
 
 /*)Module      lksym.c
index a2c567ae7771dfc970fdd50673476c13d8c44a73..5e05f3be8c6dea36c96b6f63e756347d98498d61 100644 (file)
@@ -18,8 +18,10 @@ LIBS         = -lm @LIBS@
 ifdef SDCC_SUB_VERSION
 CFLAGS         += -DSDCC_SUB_VERSION_STR=\"$(SDCC_SUB_VERSION)\"
 endif
+SLIBOBJS       = SDCCerr.o NewAlloc.o
 
-OBJECTS        = SDCCy.o SDCCerr.o SDCChasht.o SDCCmain.o \
+OBJECTS        = SDCCy.o SDCChasht.o SDCCmain.o \
                  SDCCsymt.o SDCCopt.o SDCCast.o SDCCmem.o SDCCval.o \
                  SDCCicode.o SDCCbitv.o SDCCset.o SDCClabel.o \
                  SDCCBBlock.o SDCCloop.o SDCCcse.o SDCCcflow.o SDCCdflow.o \
@@ -40,7 +42,7 @@ TARGET                = $(PRJDIR)/bin/sdcc
 
 # Compiling entire program or any subproject
 # ------------------------------------------
-all: ports checkconf $(LIBGC) $(TARGET)
+all: ports checkconf $(TARGET)
 
 ports:
        for i in $(PORTS); do $(MAKE) -C $$i; done
@@ -89,12 +91,15 @@ include clean.mk
 
 # My rules
 # --------
-$(TARGET): $(OBJECTS) $(PORT_LIBS)
-       $(CC) -o $@ $(OBJECTS) $(PORT_LIBS) $(LIBDIRS) $(LIBS)
+$(TARGET): $(SLIBOBJS) $(OBJECTS) $(PORT_LIBS)
+       $(CC) -o $@ $(SLIBOBJS) $(OBJECTS) $(PORT_LIBS) $(LIBDIRS) $(LIBS)
 
 .c.o:
        $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
 
+$(SLIBOBJS):%.o:$(SLIB)/%.c
+       $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+
 reswords.h: reswords.gperf Makefile
        gperf -o -k1,2,4 -t -C -N is_reserved_word $< > $@
 
index f34acde02c7c0b3f4ad4d6b10d7c5a45ddb601a7..cfc15ea5b9685ca9aca9756b81d96a634d3c42c2 100644 (file)
@@ -33,6 +33,7 @@
 #include "SDCCast.h"
 #include "port.h"
 #include "newalloc.h"
+#include "SDCCerr.h"
 
 extern int yyerror (char *);
 extern FILE    *yyin;
index d5547fdf135f82ee0430cac0e7b0f6db1e1409b6..59ac9a1cf7aea5e1515ab785cfa47a1ac83d970d 100644 (file)
@@ -1,4 +1,4 @@
-;/* SDCCglobl.h - global macros etc required by all files */
+/* SDCCglobl.h - global macros etc required by all files */
 #ifndef SDCCGLOBL_H
 #define SDCCGLOBL_H
 #include <memory.h>
@@ -88,22 +88,6 @@ typedef int bool;
     type *type##FreeStack [size]  ; \
     int   type##StackPtr = 0      ;
 
-#if 0
-#define  ALLOC(x,sz) if (!(x = calloc(1, sz)))      \
-         {                                          \ 
-            werror(E_OUT_OF_MEM,__FILE__,(long) sz);\
-            exit (1);                               \
-         }
-#endif
-
-#if 0
-#define ALLOCTYPE(type,size) if (!(type##Pool = calloc(1, size*sizeof(type))))\
-         {                                                            \
-            werror(E_OUT_OF_MEM,__FILE__,(long) size);               \
-            exit (1);                                                \
-         }
-#endif
-
 #define PUSH(x,y)   x##FreeStack[x##StackPtr++] = y
 #define PEEK(x)     x##FreeStack[x##StackPtr-1]
 #define POP(type)   type##FreeStack[--type##StackPtr]   
index 2d44d46607a1bb8eabeb11f9a582e2666a07f77b..69cfb2ebf09066c2c02cea4182dd54bb33a7e384 100644 (file)
    what you give them.   Help stamp out software-hoarding!  
 -------------------------------------------------------------------------*/
 
-#define USE_SYSTEM_SYSTEM_CALLS
+//#define USE_SYSTEM_SYSTEM_CALLS
 
 #include "common.h"
 #include <ctype.h>
 #include "newalloc.h"
+#include "SDCCerr.h"
 
 #if NATIVE_WIN32
 #include <process.h>
index d2783a6411658f8c2ddf02fb489b9e29abb782bd..89fa5dc04b4b720727628e818de850a0c43ffc3b 100644 (file)
@@ -5,7 +5,8 @@ include $(PRJDIR)/Makefile.common
 OBJ = gen.o ralloc.o main.o
 LIB = port.a
 
-CFLAGS += -I.. -I. -I../..
+#CFLAGS += -I.. -I. -I../..
+CFLAGS += -I$(PRJDIR)/src -I$(PRJDIR)/support/Util
 
 all: $(LIB)
 
index 5efe335bad2e623a44e4786d7eb539065acb4c71..21191d2b20c37a4c3dcb34c31f104fa1b038d402 100644 (file)
@@ -12,6 +12,10 @@ CC           = @CC@
 CPP            = @CPP@
 INSTALL                = @INSTALL@
 
+# Source library
+
+SLIB           =  ../Util
+
 PRJDIR         = ../..
 
 srcdir         = @srcdir@
@@ -27,11 +31,13 @@ man2dir         = $(mandir)/man2
 infodir         = ${prefix}/info
 
 STD_INC                = @sdcc_include_dir@
-CPPFLAGS       = @CPPFLAGS@ -I. -I$(PRJDIR) -D_FORASXXXX_
+CPPFLAGS       = @CPPFLAGS@ -I. -I$(PRJDIR) -I$(SLIB) -D_FORASXXXX_
 CFLAGS         = @CFLAGS@
 M_OR_MM                = @M_OR_MM@
 LDFLAGS                = @LDFLAGS@
 
+SLIBOBJS       = NewAlloc.o
+
 OBJECTS                = cppalloc.o cpperror.o cppexp.o cpphash.o cpplib.o cppmain.o support.o
 SOURCES                = $(patsubst %.o,%.c,$(OBJECTS))
 
@@ -42,8 +48,8 @@ TARGET                = $(PRJDIR)/bin/sdcpp
 # ------------------------------------------
 all: checkconf $(TARGET)
 
-$(TARGET): $(OBJECTS)
-       $(CC) $(LDFLAGS) -o $@ $(OBJECTS)
+$(TARGET): $(SLIBOBJS) $(OBJECTS)
+       $(CC) $(LDFLAGS) -o $@ $(SLIBOBJS) $(OBJECTS)
 
 # Compiling and installing everything and runing test
 # ---------------------------------------------------
@@ -88,6 +94,8 @@ include clean.mk
 .c.o:
        $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
 
+$(SLIBOBJS):%.o:$(SLIB)/%.c
+       $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
 
 # Remaking configuration
 # ----------------------