Added sparc_solaris stuff
This commit is contained in:
parent
a430cb7d8e
commit
980faf36f0
8
mach/sparc_solaris/.distr
Normal file
8
mach/sparc_solaris/.distr
Normal file
|
@ -0,0 +1,8 @@
|
|||
Action
|
||||
ce
|
||||
ce_cg
|
||||
libdb
|
||||
libem
|
||||
libend
|
||||
libsys
|
||||
mach_params
|
24
mach/sparc_solaris/Action
Normal file
24
mach/sparc_solaris/Action
Normal file
|
@ -0,0 +1,24 @@
|
|||
name "Sparc Solaris code expander library"
|
||||
system "sparc_solaris"
|
||||
dir ce
|
||||
end
|
||||
name "Sparc Solaris code expander"
|
||||
system "sparc_solaris"
|
||||
dir ce_cg
|
||||
end
|
||||
name "Sparc Solaris EM library"
|
||||
system "sparc_solaris"
|
||||
dir libem
|
||||
end
|
||||
name "Sparc Solaris end library"
|
||||
system "sparc_solaris"
|
||||
dir libend
|
||||
end
|
||||
name "Sparc Solaris system call library"
|
||||
system "sparc_solaris"
|
||||
dir libsys
|
||||
end
|
||||
name "Sparc Solaris debugger support library"
|
||||
system "sparc_solaris"
|
||||
dir libdb
|
||||
end
|
1
mach/sparc_solaris/ce/.distr
Normal file
1
mach/sparc_solaris/ce/.distr
Normal file
|
@ -0,0 +1 @@
|
|||
proto.make
|
37
mach/sparc_solaris/ce/proto.make
Normal file
37
mach/sparc_solaris/ce/proto.make
Normal file
|
@ -0,0 +1,37 @@
|
|||
# $Header$
|
||||
|
||||
#PARAMS do not remove this line!
|
||||
|
||||
MACH = sparc_solaris
|
||||
OBJ = as
|
||||
SRC_DIR = $(SRC_HOME)/mach/sparc/ce
|
||||
|
||||
CEG = $(TARGET_HOME)/lib.bin/ceg/util
|
||||
|
||||
all:
|
||||
( cd $(SRC_DIR); make )
|
||||
make -f $(CEG)/make_asobj "OBJ="$(OBJ) "MACH="$(MACH) "SRC_DIR="$(SRC_DIR)
|
||||
|
||||
install:
|
||||
( cd $(SRC_DIR); make )
|
||||
-mkdir $(TARGET_HOME)/lib.bin/$(MACH)
|
||||
make -f $(CEG)/make_asobj "OBJ="$(OBJ) "MACH="$(MACH) "SRC_DIR="$(SRC_DIR) install
|
||||
|
||||
cmp:
|
||||
( cd $(SRC_DIR); make )
|
||||
make -f $(CEG)/make_asobj "OBJ="$(OBJ) "MACH="$(MACH) "SRC_DIR="$(SRC_DIR) cmp
|
||||
|
||||
pr:
|
||||
@pr $(SRC_DIR)/proto.make $(SRC_DIR)/EM_table.x $(SRC_DIR)/mach.h \
|
||||
$(SRC_DIR)/mach.c $(SRC_DIR)/cache.c.x
|
||||
|
||||
opr:
|
||||
make pr | opr
|
||||
|
||||
# total cleanup
|
||||
clean:
|
||||
make -f $(CEG)/make_asobj "OBJ="$(OBJ) clean
|
||||
|
||||
# only remove ce, ceg, and back directories
|
||||
dclean:
|
||||
make -f $(CEG)/make_asobj "OBJ="$(OBJ) dclean
|
1
mach/sparc_solaris/ce_cg/.distr
Normal file
1
mach/sparc_solaris/ce_cg/.distr
Normal file
|
@ -0,0 +1 @@
|
|||
proto.make
|
42
mach/sparc_solaris/ce_cg/proto.make
Normal file
42
mach/sparc_solaris/ce_cg/proto.make
Normal file
|
@ -0,0 +1,42 @@
|
|||
# $Header$
|
||||
|
||||
#PARAMS do not remove this line!
|
||||
|
||||
SRC_DIR=$(SRC_HOME)/mach/sparc/ce_cg
|
||||
MACH=sparc_solaris
|
||||
LIB_DIR=$(TARGET_HOME)/modules/lib
|
||||
EM_LIB=$(TARGET_HOME)/lib.bin
|
||||
INCLUDE=-I$(TARGET_HOME)/modules/h -I$(TARGET_HOME)/h
|
||||
CE_A= $(TARGET_HOME)/lib.bin/$(MACH)/ce.$(LIBSUF)
|
||||
BACK_A= $(TARGET_HOME)/lib.bin/$(MACH)/back.$(LIBSUF)
|
||||
|
||||
CFLAGS=$(INCLUDE) -DCODE_EXPANDER $(COPTIONS)
|
||||
LDFLAGS=$(LDOPTIONS)
|
||||
LDLIBS=$(LIB_DIR)/libread_emk.$(LIBSUF) $(CE_A) $(BACK_A) \
|
||||
$(LIB_DIR)/libprint.$(LIBSUF) $(LIB_DIR)/libstring.$(LIBSUF) \
|
||||
$(LIB_DIR)/liballoc.$(LIBSUF) $(LIB_DIR)/libsystem.$(LIBSUF) \
|
||||
$(EM_LIB)/em_data.$(LIBSUF) $(LIB_DIR)/libflt.$(LIBSUF)
|
||||
|
||||
all: cg
|
||||
|
||||
install: all
|
||||
-mkdir $(TARGET_HOME)/lib.bin/$(MACH)
|
||||
cp cg $(TARGET_HOME)/lib.bin/$(MACH)/cg
|
||||
|
||||
cmp: all
|
||||
cmp cp cg $(TARGET_HOME)/lib.bin/$(MACH)/cg
|
||||
|
||||
clean:
|
||||
rm -f *.$(SUF) cg
|
||||
|
||||
cg: convert.$(SUF) $(CE_A) $(BACK_A)
|
||||
$(CC) $(LDFLAGS) -o cg convert.$(SUF) $(LDLIBS)
|
||||
|
||||
convert.$(SUF): $(SRC_DIR)/convert.c
|
||||
$(CC) $(CFLAGS) -c $(SRC_DIR)/convert.c
|
||||
|
||||
pr:
|
||||
@pr $(SRC_DIR)/proto.make $(SRC_DIR)/convert.c
|
||||
|
||||
opr:
|
||||
make pr | opr
|
1
mach/sparc_solaris/libdb/.distr
Normal file
1
mach/sparc_solaris/libdb/.distr
Normal file
|
@ -0,0 +1 @@
|
|||
machdep.s
|
64
mach/sparc_solaris/libdb/machdep.s
Normal file
64
mach/sparc_solaris/libdb/machdep.s
Normal file
|
@ -0,0 +1,64 @@
|
|||
.globl $__Get_PC, $__Set_PC
|
||||
|
||||
! $Header$
|
||||
|
||||
! This is the machine-dependant part of the ACK debugger support.
|
||||
! $__Get_PC takes a frame pointer (local base) argument and returns the
|
||||
! return address from this frame.
|
||||
! $__Set_PC takes a frame pointer (local base) argument plus a return
|
||||
! address and sets the return address of this frame to the
|
||||
! return address supplied.
|
||||
|
||||
$__Get_PC:
|
||||
ld [%l0],%o0
|
||||
tst %o0
|
||||
beq 3f
|
||||
nop
|
||||
cmp %o0,%l1
|
||||
bne 1f
|
||||
nop
|
||||
add %i7, 8, %o0
|
||||
3:
|
||||
retl
|
||||
nop
|
||||
1:
|
||||
ta 3
|
||||
add %l1,%g0,%o1
|
||||
2: add %o1,7,%o2
|
||||
andn %o2,7,%o2
|
||||
ld [%o2+4],%o1
|
||||
cmp %o0,%o1
|
||||
bne 2b
|
||||
nop
|
||||
ld [%o2+0x3c],%o0
|
||||
inc 8,%o0
|
||||
retl
|
||||
nop
|
||||
|
||||
$__Set_PC:
|
||||
ld [%l0],%o0
|
||||
tst %o0
|
||||
beq 3f
|
||||
nop
|
||||
cmp %o0,%l1
|
||||
bne 1f
|
||||
nop
|
||||
ld [%l0+4],%i7
|
||||
dec 8,%i7
|
||||
3:
|
||||
retl
|
||||
nop
|
||||
1:
|
||||
ta 3
|
||||
add %l1,%g0,%o1
|
||||
2: add %o1,7,%o2
|
||||
andn %o2,7,%o2
|
||||
ld [%o2+4],%o1
|
||||
cmp %o0,%o1
|
||||
bne 2b
|
||||
nop
|
||||
ld [%l0+4],%o0
|
||||
dec 8,%o0
|
||||
st %o0,[%o2+0x3c]
|
||||
retl
|
||||
nop
|
4
mach/sparc_solaris/libem/.distr
Normal file
4
mach/sparc_solaris/libem/.distr
Normal file
|
@ -0,0 +1,4 @@
|
|||
LIST
|
||||
libem_s.a
|
||||
READ_ME
|
||||
Makefile
|
5
mach/sparc_solaris/libem/Makefile
Normal file
5
mach/sparc_solaris/libem/Makefile
Normal file
|
@ -0,0 +1,5 @@
|
|||
distr:
|
||||
rm -f libem_s.a
|
||||
ln ../../sparc/libem/libem_s.a libem_s.a
|
||||
rm -f LIST
|
||||
ln ../../sparc/libem/LIST LIST
|
2
mach/sparc_solaris/libem/READ_ME
Normal file
2
mach/sparc_solaris/libem/READ_ME
Normal file
|
@ -0,0 +1,2 @@
|
|||
As long as none of the libem source files use .seg, we can use the
|
||||
source files of the sparc libem.
|
2
mach/sparc_solaris/libend/.distr
Normal file
2
mach/sparc_solaris/libend/.distr
Normal file
|
@ -0,0 +1,2 @@
|
|||
LIST
|
||||
end_s.a
|
5
mach/sparc_solaris/libend/LIST
Normal file
5
mach/sparc_solaris/libend/LIST
Normal file
|
@ -0,0 +1,5 @@
|
|||
end_s.a
|
||||
edata.s
|
||||
em_end.s
|
||||
end.s
|
||||
etext.s
|
3
mach/sparc_solaris/libend/edata.s
Normal file
3
mach/sparc_solaris/libend/edata.s
Normal file
|
@ -0,0 +1,3 @@
|
|||
.global $edata
|
||||
.section ".data"
|
||||
$edata:
|
3
mach/sparc_solaris/libend/em_end.s
Normal file
3
mach/sparc_solaris/libend/em_end.s
Normal file
|
@ -0,0 +1,3 @@
|
|||
.global $_end
|
||||
.section ".bss"
|
||||
$_end:
|
3
mach/sparc_solaris/libend/end.s
Normal file
3
mach/sparc_solaris/libend/end.s
Normal file
|
@ -0,0 +1,3 @@
|
|||
.global $end
|
||||
.section ".bss"
|
||||
$end:
|
3
mach/sparc_solaris/libend/etext.s
Normal file
3
mach/sparc_solaris/libend/etext.s
Normal file
|
@ -0,0 +1,3 @@
|
|||
.global $etext
|
||||
.section ".text"
|
||||
$etext:
|
5
mach/sparc_solaris/mach_params
Normal file
5
mach/sparc_solaris/mach_params
Normal file
|
@ -0,0 +1,5 @@
|
|||
MACH=sparc_solaris
|
||||
SUF=o
|
||||
ASAR=ar
|
||||
RANLIB=:
|
||||
MACHFL=-O -DNFS
|
Loading…
Reference in a new issue