2004-10-05 Tomer Levi <Tomer.Levi@nsc.com>
* configure.host: Add support for crx.
        * libc/include/machine/ieeefp.h: Ditto.
        * libc/include/machine/setjmp.h: Ditto.
        * libc/machine/crx/Makefile.am: New file.
        * libc/machine/crx/configure.in: Ditto.
        * libc/machine/crx/setjmp.S: Ditto.
        * libc/machine/crx/getenv.c: Ditto.
        * libc/machine/crx/aclocal.m4: Generate.
        * libc/machine/crx/configure: Ditto.
        * libc/machine/crx/Makefile.in: Ditto.
        * libc/machine/crx/sys/asm.h: New file.
        * libc/machine/crx/sys/libh.h: Ditto.
        * libc/machine/crx/sys/syscall.h: Ditto.
			
			
This commit is contained in:
		| @@ -1,3 +1,19 @@ | |||||||
|  | 2004-10-05  Tomer Levi  <Tomer.Levi@nsc.com> | ||||||
|  |  | ||||||
|  |         * configure.host: Add support for crx. | ||||||
|  |         * libc/include/machine/ieeefp.h: Ditto. | ||||||
|  |         * libc/include/machine/setjmp.h: Ditto. | ||||||
|  |         * libc/machine/crx/Makefile.am: New file. | ||||||
|  |         * libc/machine/crx/configure.in: Ditto. | ||||||
|  |         * libc/machine/crx/setjmp.S: Ditto. | ||||||
|  |         * libc/machine/crx/getenv.c: Ditto. | ||||||
|  |         * libc/machine/crx/aclocal.m4: Generate. | ||||||
|  |         * libc/machine/crx/configure: Ditto. | ||||||
|  |         * libc/machine/crx/Makefile.in: Ditto. | ||||||
|  |         * libc/machine/crx/sys/asm.h: New file. | ||||||
|  |         * libc/machine/crx/sys/libh.h: Ditto. | ||||||
|  |         * libc/machine/crx/sys/syscall.h: Ditto. | ||||||
|  |  | ||||||
| 2004-10-05  Jeff Johnston  <jjohnstn@redhat.com> | 2004-10-05  Jeff Johnston  <jjohnstn@redhat.com> | ||||||
|  |  | ||||||
| 	* Makefile.am (stmp-targ-include): Support sys header files | 	* Makefile.am (stmp-targ-include): Support sys header files | ||||||
|   | |||||||
| @@ -93,6 +93,9 @@ case "${host_cpu}" in | |||||||
|   avr*) |   avr*) | ||||||
| 	newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mcall-prologues" | 	newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mcall-prologues" | ||||||
| 	;; | 	;; | ||||||
|  |   crx*) | ||||||
|  | 	machine_dir=crx | ||||||
|  | 	;; | ||||||
|   d10v*) |   d10v*) | ||||||
| 	machine_dir=d10v | 	machine_dir=d10v | ||||||
| 	;; | 	;; | ||||||
| @@ -307,6 +310,9 @@ case "${host}" in | |||||||
| 	  sys_dir=arm | 	  sys_dir=arm | ||||||
| 	fi | 	fi | ||||||
| 	;; | 	;; | ||||||
|  |   crx*) | ||||||
|  | 	sys_dir= | ||||||
|  | 	;; | ||||||
|   d10v*) |   d10v*) | ||||||
| 	sys_dir=d10v | 	sys_dir=d10v | ||||||
| 	;; | 	;; | ||||||
| @@ -496,6 +502,10 @@ case "${host}" in | |||||||
|   avr*) |   avr*) | ||||||
| 	newlib_cflags="${newlib_cflags} -DNO_EXEC -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES" | 	newlib_cflags="${newlib_cflags} -DNO_EXEC -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES" | ||||||
| 	;; | 	;; | ||||||
|  |   crx-*-*) | ||||||
|  |   	newlib_cflags="${newlib_cflags} -DHAVE_RENAME -DMISSING_SYSCALL_NAMES" | ||||||
|  | 	syscall_dir= | ||||||
|  | 	;; | ||||||
|   d10v*) |   d10v*) | ||||||
| 	newlib_cflags="${newlib_cflags} -DSMALL_MEMORY" | 	newlib_cflags="${newlib_cflags} -DSMALL_MEMORY" | ||||||
| 	syscall_dir=syscalls | 	syscall_dir=syscalls | ||||||
|   | |||||||
| @@ -214,6 +214,10 @@ | |||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifdef __CRX__ | ||||||
|  | #define __IEEE_LITTLE_ENDIAN | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #ifdef __fr30__ | #ifdef __fr30__ | ||||||
| #define __IEEE_BIG_ENDIAN | #define __IEEE_BIG_ENDIAN | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -174,6 +174,10 @@ _BEGIN_STD_C | |||||||
| #define _JBTYPE double | #define _JBTYPE double | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifdef __CRX__ | ||||||
|  | #define _JBLEN 9 | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #ifdef __fr30__ | #ifdef __fr30__ | ||||||
| #define _JBLEN 10 | #define _JBLEN 10 | ||||||
| #endif | #endif | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								newlib/libc/machine/crx/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								newlib/libc/machine/crx/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | ## Process this file with automake to generate Makefile.in | ||||||
|  |  | ||||||
|  | AUTOMAKE_OPTIONS = cygnus | ||||||
|  |  | ||||||
|  | INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) | ||||||
|  |  | ||||||
|  | noinst_LIBRARIES = lib.a | ||||||
|  |  | ||||||
|  | lib_a_SOURCES = setjmp.S getenv.c | ||||||
|  |  | ||||||
|  | ACLOCAL_AMFLAGS = -I ../../.. | ||||||
|  | CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host | ||||||
							
								
								
									
										327
									
								
								newlib/libc/machine/crx/Makefile.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										327
									
								
								newlib/libc/machine/crx/Makefile.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,327 @@ | |||||||
|  | # Makefile.in generated automatically by automake 1.4-p6 from Makefile.am | ||||||
|  |  | ||||||
|  | # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. | ||||||
|  | # This Makefile.in is free software; the Free Software Foundation | ||||||
|  | # gives unlimited permission to copy and/or distribute it, | ||||||
|  | # with or without modifications, as long as this notice is preserved. | ||||||
|  |  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||||||
|  | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||||||
|  | # PARTICULAR PURPOSE. | ||||||
|  |  | ||||||
|  |  | ||||||
|  | SHELL = @SHELL@ | ||||||
|  |  | ||||||
|  | srcdir = @srcdir@ | ||||||
|  | top_srcdir = @top_srcdir@ | ||||||
|  | VPATH = @srcdir@ | ||||||
|  | prefix = @prefix@ | ||||||
|  | exec_prefix = @exec_prefix@ | ||||||
|  |  | ||||||
|  | bindir = @bindir@ | ||||||
|  | sbindir = @sbindir@ | ||||||
|  | libexecdir = @libexecdir@ | ||||||
|  | datadir = @datadir@ | ||||||
|  | sysconfdir = @sysconfdir@ | ||||||
|  | sharedstatedir = @sharedstatedir@ | ||||||
|  | localstatedir = @localstatedir@ | ||||||
|  | libdir = @libdir@ | ||||||
|  | infodir = @infodir@ | ||||||
|  | mandir = @mandir@ | ||||||
|  | includedir = @includedir@ | ||||||
|  | oldincludedir = /usr/include | ||||||
|  |  | ||||||
|  | DESTDIR = | ||||||
|  |  | ||||||
|  | pkgdatadir = $(datadir)/@PACKAGE@ | ||||||
|  | pkglibdir = $(libdir)/@PACKAGE@ | ||||||
|  | pkgincludedir = $(includedir)/@PACKAGE@ | ||||||
|  |  | ||||||
|  | top_builddir = . | ||||||
|  |  | ||||||
|  | ACLOCAL = @ACLOCAL@ | ||||||
|  | AUTOCONF = @AUTOCONF@ | ||||||
|  | AUTOMAKE = @AUTOMAKE@ | ||||||
|  | AUTOHEADER = @AUTOHEADER@ | ||||||
|  |  | ||||||
|  | INSTALL = @INSTALL@ | ||||||
|  | INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) | ||||||
|  | INSTALL_DATA = @INSTALL_DATA@ | ||||||
|  | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||||||
|  | transform = @program_transform_name@ | ||||||
|  |  | ||||||
|  | NORMAL_INSTALL = : | ||||||
|  | PRE_INSTALL = : | ||||||
|  | POST_INSTALL = : | ||||||
|  | NORMAL_UNINSTALL = : | ||||||
|  | PRE_UNINSTALL = : | ||||||
|  | POST_UNINSTALL = : | ||||||
|  | build_alias = @build_alias@ | ||||||
|  | build_triplet = @build@ | ||||||
|  | host_alias = @host_alias@ | ||||||
|  | host_triplet = @host@ | ||||||
|  | target_alias = @target_alias@ | ||||||
|  | target_triplet = @target@ | ||||||
|  | AR = @AR@ | ||||||
|  | AS = @AS@ | ||||||
|  | CC = @CC@ | ||||||
|  | CPP = @CPP@ | ||||||
|  | EXEEXT = @EXEEXT@ | ||||||
|  | LDFLAGS = @LDFLAGS@ | ||||||
|  | MAINT = @MAINT@ | ||||||
|  | MAKEINFO = @MAKEINFO@ | ||||||
|  | NEWLIB_CFLAGS = @NEWLIB_CFLAGS@ | ||||||
|  | OBJEXT = @OBJEXT@ | ||||||
|  | PACKAGE = @PACKAGE@ | ||||||
|  | RANLIB = @RANLIB@ | ||||||
|  | VERSION = @VERSION@ | ||||||
|  | aext = @aext@ | ||||||
|  | libm_machine_dir = @libm_machine_dir@ | ||||||
|  | machine_dir = @machine_dir@ | ||||||
|  | newlib_basedir = @newlib_basedir@ | ||||||
|  | oext = @oext@ | ||||||
|  | sys_dir = @sys_dir@ | ||||||
|  |  | ||||||
|  | AUTOMAKE_OPTIONS = cygnus | ||||||
|  |  | ||||||
|  | INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) | ||||||
|  |  | ||||||
|  | noinst_LIBRARIES = lib.a | ||||||
|  |  | ||||||
|  | lib_a_SOURCES = setjmp.S getenv.c | ||||||
|  |  | ||||||
|  | ACLOCAL_AMFLAGS = -I ../../.. | ||||||
|  | CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host | ||||||
|  | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||||||
|  | mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs | ||||||
|  | CONFIG_CLEAN_FILES =  | ||||||
|  | LIBRARIES =  $(noinst_LIBRARIES) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | DEFS = @DEFS@ -I. -I$(srcdir)  | ||||||
|  | CPPFLAGS = @CPPFLAGS@ | ||||||
|  | LIBS = @LIBS@ | ||||||
|  | lib_a_LIBADD =  | ||||||
|  | lib_a_OBJECTS =  setjmp.o getenv.o | ||||||
|  | CFLAGS = @CFLAGS@ | ||||||
|  | COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) | ||||||
|  | CCLD = $(CC) | ||||||
|  | LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ | ||||||
|  | DIST_COMMON =  Makefile.am Makefile.in aclocal.m4 configure configure.in | ||||||
|  |  | ||||||
|  |  | ||||||
|  | DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) | ||||||
|  |  | ||||||
|  | TAR = gtar | ||||||
|  | GZIP_ENV = --best | ||||||
|  | SOURCES = $(lib_a_SOURCES) | ||||||
|  | OBJECTS = $(lib_a_OBJECTS) | ||||||
|  |  | ||||||
|  | all: all-redirect | ||||||
|  | .SUFFIXES: | ||||||
|  | .SUFFIXES: .S .c .o .s | ||||||
|  | $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)  | ||||||
|  | 	cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile | ||||||
|  |  | ||||||
|  | Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status | ||||||
|  | 	cd $(top_builddir) \ | ||||||
|  | 	  && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status | ||||||
|  |  | ||||||
|  | $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in  \ | ||||||
|  | 		../../../acinclude.m4 ../../../aclocal.m4 \ | ||||||
|  | 		../../../libtool.m4 | ||||||
|  | 	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) | ||||||
|  |  | ||||||
|  | config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | ||||||
|  | 	$(SHELL) ./config.status --recheck | ||||||
|  | $(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) | ||||||
|  | 	cd $(srcdir) && $(AUTOCONF) | ||||||
|  |  | ||||||
|  | mostlyclean-noinstLIBRARIES: | ||||||
|  |  | ||||||
|  | clean-noinstLIBRARIES: | ||||||
|  | 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) | ||||||
|  |  | ||||||
|  | distclean-noinstLIBRARIES: | ||||||
|  |  | ||||||
|  | maintainer-clean-noinstLIBRARIES: | ||||||
|  |  | ||||||
|  | .c.o: | ||||||
|  | 	$(COMPILE) -c $< | ||||||
|  |  | ||||||
|  | .s.o: | ||||||
|  | 	$(COMPILE) -c $< | ||||||
|  |  | ||||||
|  | .S.o: | ||||||
|  | 	$(COMPILE) -c $< | ||||||
|  |  | ||||||
|  | mostlyclean-compile: | ||||||
|  | 	-rm -f *.o core *.core | ||||||
|  |  | ||||||
|  | clean-compile: | ||||||
|  |  | ||||||
|  | distclean-compile: | ||||||
|  | 	-rm -f *.tab.c | ||||||
|  |  | ||||||
|  | maintainer-clean-compile: | ||||||
|  |  | ||||||
|  | lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES) | ||||||
|  | 	-rm -f lib.a | ||||||
|  | 	$(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD) | ||||||
|  | 	$(RANLIB) lib.a | ||||||
|  |  | ||||||
|  | tags: TAGS | ||||||
|  |  | ||||||
|  | ID: $(HEADERS) $(SOURCES) $(LISP) | ||||||
|  | 	list='$(SOURCES) $(HEADERS)'; \ | ||||||
|  | 	unique=`for i in $$list; do echo $$i; done | \ | ||||||
|  | 	  awk '    { files[$$0] = 1; } \ | ||||||
|  | 	       END { for (i in files) print i; }'`; \ | ||||||
|  | 	here=`pwd` && cd $(srcdir) \ | ||||||
|  | 	  && mkid -f$$here/ID $$unique $(LISP) | ||||||
|  |  | ||||||
|  | TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP) | ||||||
|  | 	tags=; \ | ||||||
|  | 	here=`pwd`; \ | ||||||
|  | 	list='$(SOURCES) $(HEADERS)'; \ | ||||||
|  | 	unique=`for i in $$list; do echo $$i; done | \ | ||||||
|  | 	  awk '    { files[$$0] = 1; } \ | ||||||
|  | 	       END { for (i in files) print i; }'`; \ | ||||||
|  | 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ | ||||||
|  | 	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS) | ||||||
|  |  | ||||||
|  | mostlyclean-tags: | ||||||
|  |  | ||||||
|  | clean-tags: | ||||||
|  |  | ||||||
|  | distclean-tags: | ||||||
|  | 	-rm -f TAGS ID | ||||||
|  |  | ||||||
|  | maintainer-clean-tags: | ||||||
|  |  | ||||||
|  | distdir = $(PACKAGE)-$(VERSION) | ||||||
|  | top_distdir = $(distdir) | ||||||
|  |  | ||||||
|  | # This target untars the dist file and tries a VPATH configuration.  Then | ||||||
|  | # it guarantees that the distribution is self-contained by making another | ||||||
|  | # tarfile. | ||||||
|  | distcheck: dist | ||||||
|  | 	-rm -rf $(distdir) | ||||||
|  | 	GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz | ||||||
|  | 	mkdir $(distdir)/=build | ||||||
|  | 	mkdir $(distdir)/=inst | ||||||
|  | 	dc_install_base=`cd $(distdir)/=inst && pwd`; \ | ||||||
|  | 	cd $(distdir)/=build \ | ||||||
|  | 	  && ../configure --srcdir=.. --prefix=$$dc_install_base \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) check \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) install \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) dist | ||||||
|  | 	-rm -rf $(distdir) | ||||||
|  | 	@banner="$(distdir).tar.gz is ready for distribution"; \ | ||||||
|  | 	dashes=`echo "$$banner" | sed s/./=/g`; \ | ||||||
|  | 	echo "$$dashes"; \ | ||||||
|  | 	echo "$$banner"; \ | ||||||
|  | 	echo "$$dashes" | ||||||
|  | dist: distdir | ||||||
|  | 	-chmod -R a+r $(distdir) | ||||||
|  | 	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) | ||||||
|  | 	-rm -rf $(distdir) | ||||||
|  | dist-all: distdir | ||||||
|  | 	-chmod -R a+r $(distdir) | ||||||
|  | 	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) | ||||||
|  | 	-rm -rf $(distdir) | ||||||
|  | distdir: $(DISTFILES) | ||||||
|  | 	-rm -rf $(distdir) | ||||||
|  | 	mkdir $(distdir) | ||||||
|  | 	-chmod 777 $(distdir) | ||||||
|  | 	@for file in $(DISTFILES); do \ | ||||||
|  | 	  if test -f $$file; then d=.; else d=$(srcdir); fi; \ | ||||||
|  | 	  if test -d $$d/$$file; then \ | ||||||
|  | 	    cp -pr $$d/$$file $(distdir)/$$file; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    test -f $(distdir)/$$file \ | ||||||
|  | 	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ | ||||||
|  | 	    || cp -p $$d/$$file $(distdir)/$$file || :; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done | ||||||
|  | info-am: | ||||||
|  | info: info-am | ||||||
|  | dvi-am: | ||||||
|  | dvi: dvi-am | ||||||
|  | check-am: | ||||||
|  | check: check-am | ||||||
|  | installcheck-am: | ||||||
|  | installcheck: installcheck-am | ||||||
|  | install-info-am:  | ||||||
|  | install-info: install-info-am | ||||||
|  | install-exec-am: | ||||||
|  | install-exec: install-exec-am | ||||||
|  |  | ||||||
|  | install-data-am: | ||||||
|  | install-data: install-data-am | ||||||
|  |  | ||||||
|  | install-am: all-am | ||||||
|  | 	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | ||||||
|  | install: install-am | ||||||
|  | uninstall-am: | ||||||
|  | uninstall: uninstall-am | ||||||
|  | all-am: Makefile $(LIBRARIES) | ||||||
|  | all-redirect: all-am | ||||||
|  | install-strip: | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install | ||||||
|  | installdirs: | ||||||
|  |  | ||||||
|  |  | ||||||
|  | mostlyclean-generic: | ||||||
|  |  | ||||||
|  | clean-generic: | ||||||
|  |  | ||||||
|  | distclean-generic: | ||||||
|  | 	-rm -f Makefile $(CONFIG_CLEAN_FILES) | ||||||
|  | 	-rm -f config.cache config.log stamp-h stamp-h[0-9]* | ||||||
|  |  | ||||||
|  | maintainer-clean-generic: | ||||||
|  | mostlyclean-am:  mostlyclean-noinstLIBRARIES mostlyclean-compile \ | ||||||
|  | 		mostlyclean-tags mostlyclean-generic | ||||||
|  |  | ||||||
|  | mostlyclean: mostlyclean-am | ||||||
|  |  | ||||||
|  | clean-am:  clean-noinstLIBRARIES clean-compile clean-tags clean-generic \ | ||||||
|  | 		mostlyclean-am | ||||||
|  |  | ||||||
|  | clean: clean-am | ||||||
|  |  | ||||||
|  | distclean-am:  distclean-noinstLIBRARIES distclean-compile \ | ||||||
|  | 		distclean-tags distclean-generic clean-am | ||||||
|  |  | ||||||
|  | distclean: distclean-am | ||||||
|  | 	-rm -f config.status | ||||||
|  |  | ||||||
|  | maintainer-clean-am:  maintainer-clean-noinstLIBRARIES \ | ||||||
|  | 		maintainer-clean-compile maintainer-clean-tags \ | ||||||
|  | 		maintainer-clean-generic distclean-am | ||||||
|  | 	@echo "This command is intended for maintainers to use;" | ||||||
|  | 	@echo "it deletes files that may require special tools to rebuild." | ||||||
|  |  | ||||||
|  | maintainer-clean: maintainer-clean-am | ||||||
|  | 	-rm -f config.status | ||||||
|  |  | ||||||
|  | .PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ | ||||||
|  | clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ | ||||||
|  | mostlyclean-compile distclean-compile clean-compile \ | ||||||
|  | maintainer-clean-compile tags mostlyclean-tags distclean-tags \ | ||||||
|  | clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \ | ||||||
|  | check-am installcheck-am installcheck install-info-am install-info \ | ||||||
|  | install-exec-am install-exec install-data-am install-data install-am \ | ||||||
|  | install uninstall-am uninstall all-redirect all-am all installdirs \ | ||||||
|  | mostlyclean-generic distclean-generic clean-generic \ | ||||||
|  | maintainer-clean-generic clean mostlyclean distclean maintainer-clean | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Tell versions [3.59,3.63) of GNU make to not export all variables. | ||||||
|  | # Otherwise a system limit (for SysV at least) may be exceeded. | ||||||
|  | .NOEXPORT: | ||||||
							
								
								
									
										366
									
								
								newlib/libc/machine/crx/aclocal.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										366
									
								
								newlib/libc/machine/crx/aclocal.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,366 @@ | |||||||
|  | dnl aclocal.m4 generated automatically by aclocal 1.4-p6 | ||||||
|  |  | ||||||
|  | dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. | ||||||
|  | dnl This file is free software; the Free Software Foundation | ||||||
|  | dnl gives unlimited permission to copy and/or distribute it, | ||||||
|  | dnl with or without modifications, as long as this notice is preserved. | ||||||
|  |  | ||||||
|  | dnl This program is distributed in the hope that it will be useful, | ||||||
|  | dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||||||
|  | dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||||||
|  | dnl PARTICULAR PURPOSE. | ||||||
|  |  | ||||||
|  | dnl This provides configure definitions used by all the newlib | ||||||
|  | dnl configure.in files. | ||||||
|  |  | ||||||
|  | dnl Basic newlib configury.  This calls basic introductory stuff, | ||||||
|  | dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST.  It also runs | ||||||
|  | dnl configure.host.  The only argument is the relative path to the top | ||||||
|  | dnl newlib directory. | ||||||
|  |  | ||||||
|  | AC_DEFUN(NEWLIB_CONFIGURE, | ||||||
|  | [ | ||||||
|  | dnl Default to --enable-multilib | ||||||
|  | AC_ARG_ENABLE(multilib, | ||||||
|  | [  --enable-multilib         build many library versions (default)], | ||||||
|  | [case "${enableval}" in | ||||||
|  |   yes) multilib=yes ;; | ||||||
|  |   no)  multilib=no ;; | ||||||
|  |   *)   AC_MSG_ERROR(bad value ${enableval} for multilib option) ;; | ||||||
|  |  esac], [multilib=yes])dnl | ||||||
|  |  | ||||||
|  | dnl Support --enable-target-optspace | ||||||
|  | AC_ARG_ENABLE(target-optspace, | ||||||
|  | [  --enable-target-optspace  optimize for space], | ||||||
|  | [case "${enableval}" in | ||||||
|  |   yes) target_optspace=yes ;; | ||||||
|  |   no)  target_optspace=no ;; | ||||||
|  |   *)   AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;; | ||||||
|  |  esac], [target_optspace=])dnl | ||||||
|  |  | ||||||
|  | dnl Support --enable-malloc-debugging - currently only supported for Cygwin | ||||||
|  | AC_ARG_ENABLE(malloc-debugging, | ||||||
|  | [  --enable-malloc-debugging indicate malloc debugging requested], | ||||||
|  | [case "${enableval}" in | ||||||
|  |   yes) malloc_debugging=yes ;; | ||||||
|  |   no)  malloc_debugging=no ;; | ||||||
|  |   *)   AC_MSG_ERROR(bad value ${enableval} for malloc-debugging option) ;; | ||||||
|  |  esac], [malloc_debugging=])dnl | ||||||
|  |  | ||||||
|  | dnl Support --enable-newlib-multithread | ||||||
|  | AC_ARG_ENABLE(newlib-multithread, | ||||||
|  | [  --enable-newlib-multithread        enable support for multiple threads], | ||||||
|  | [case "${enableval}" in | ||||||
|  |   yes) newlib_multithread=yes ;; | ||||||
|  |   no)  newlib_multithread=no ;; | ||||||
|  |   *)   AC_MSG_ERROR(bad value ${enableval} for newlib-multithread option) ;; | ||||||
|  |  esac], [newlib_multithread=yes])dnl | ||||||
|  |  | ||||||
|  | dnl Support --enable-newlib-iconv | ||||||
|  | AC_ARG_ENABLE(newlib-iconv, | ||||||
|  | [  --enable-newlib-iconv     enable iconv library support], | ||||||
|  | [if test "${newlib_iconv+set}" != set; then | ||||||
|  |    case "${enableval}" in | ||||||
|  |      yes) newlib_iconv=yes ;; | ||||||
|  |      no)  newlib_iconv=no ;; | ||||||
|  |      *)   AC_MSG_ERROR(bad value ${enableval} for newlib-iconv option) ;; | ||||||
|  |    esac | ||||||
|  |  fi], [newlib_iconv=${newlib_iconv}])dnl | ||||||
|  |  | ||||||
|  | dnl Support --enable-newlib-elix-level | ||||||
|  | AC_ARG_ENABLE(newlib-elix-level, | ||||||
|  | [  --enable-newlib-elix-level         supply desired elix library level (1-4)], | ||||||
|  | [case "${enableval}" in | ||||||
|  |   0)   newlib_elix_level=0 ;; | ||||||
|  |   1)   newlib_elix_level=1 ;; | ||||||
|  |   2)   newlib_elix_level=2 ;; | ||||||
|  |   3)   newlib_elix_level=3 ;; | ||||||
|  |   4)   newlib_elix_level=4 ;; | ||||||
|  |   *)   AC_MSG_ERROR(bad value ${enableval} for newlib-elix-level option) ;; | ||||||
|  |  esac], [newlib_elix_level=0])dnl | ||||||
|  |  | ||||||
|  | dnl Support --disable-newlib-io-float | ||||||
|  | AC_ARG_ENABLE(newlib-io-float, | ||||||
|  | [  --disable-newlib-io-float disable printf/scanf family float support], | ||||||
|  | [case "${enableval}" in | ||||||
|  |   yes) newlib_io_float=yes ;; | ||||||
|  |   no)  newlib_io_float=no ;; | ||||||
|  |   *)   AC_MSG_ERROR(bad value ${enableval} for newlib-io-float option) ;; | ||||||
|  |  esac], [newlib_io_float=yes])dnl | ||||||
|  |  | ||||||
|  | dnl Support --disable-newlib-supplied-syscalls | ||||||
|  | AC_ARG_ENABLE(newlib-supplied-syscalls, | ||||||
|  | [  --disable-newlib-supplied-syscalls disable newlib from supplying syscalls], | ||||||
|  | [case "${enableval}" in | ||||||
|  |   yes) newlib_may_supply_syscalls=yes ;; | ||||||
|  |   no)  newlib_may_supply_syscalls=no ;; | ||||||
|  |   *)   AC_MSG_ERROR(bad value ${enableval} for newlib-supplied-syscalls option) ;; | ||||||
|  |  esac], [newlib_may_supply_syscalls=yes])dnl | ||||||
|  |  | ||||||
|  | AM_CONDITIONAL(MAY_SUPPLY_SYSCALLS, test x[$]{newlib_may_supply_syscalls} = xyes) | ||||||
|  |  | ||||||
|  | dnl We may get other options which we don't document: | ||||||
|  | dnl --with-target-subdir, --with-multisrctop, --with-multisubdir | ||||||
|  |  | ||||||
|  | test -z "[$]{with_target_subdir}" && with_target_subdir=. | ||||||
|  |  | ||||||
|  | if test "[$]{srcdir}" = "."; then | ||||||
|  |   if test "[$]{with_target_subdir}" != "."; then | ||||||
|  |     newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1" | ||||||
|  |   else | ||||||
|  |     newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1" | ||||||
|  |   fi | ||||||
|  | else | ||||||
|  |   newlib_basedir="[$]{srcdir}/$1" | ||||||
|  | fi | ||||||
|  | AC_SUBST(newlib_basedir) | ||||||
|  |  | ||||||
|  | AC_CANONICAL_SYSTEM | ||||||
|  |  | ||||||
|  | AM_INIT_AUTOMAKE(newlib, 1.12.0) | ||||||
|  |  | ||||||
|  | # FIXME: We temporarily define our own version of AC_PROG_CC.  This is | ||||||
|  | # copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS.  We | ||||||
|  | # are probably using a cross compiler, which will not be able to fully | ||||||
|  | # link an executable.  This should really be fixed in autoconf | ||||||
|  | # itself. | ||||||
|  |  | ||||||
|  | AC_DEFUN(LIB_AC_PROG_CC, | ||||||
|  | [AC_BEFORE([$0], [AC_PROG_CPP])dnl | ||||||
|  | AC_CHECK_PROG(CC, gcc, gcc) | ||||||
|  | if test -z "$CC"; then | ||||||
|  |   AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) | ||||||
|  |   test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH]) | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | AC_PROG_CC_GNU | ||||||
|  |  | ||||||
|  | if test $ac_cv_prog_gcc = yes; then | ||||||
|  |   GCC=yes | ||||||
|  | dnl Check whether -g works, even if CFLAGS is set, in case the package | ||||||
|  | dnl plays around with CFLAGS (such as to build both debugging and | ||||||
|  | dnl normal versions of a library), tasteless as that idea is. | ||||||
|  |   ac_test_CFLAGS="${CFLAGS+set}" | ||||||
|  |   ac_save_CFLAGS="$CFLAGS" | ||||||
|  |   CFLAGS= | ||||||
|  |   AC_PROG_CC_G | ||||||
|  |   if test "$ac_test_CFLAGS" = set; then | ||||||
|  |     CFLAGS="$ac_save_CFLAGS" | ||||||
|  |   elif test $ac_cv_prog_cc_g = yes; then | ||||||
|  |     CFLAGS="-g -O2" | ||||||
|  |   else | ||||||
|  |     CFLAGS="-O2" | ||||||
|  |   fi | ||||||
|  | else | ||||||
|  |   GCC= | ||||||
|  |   test "${CFLAGS+set}" = set || CFLAGS="-g" | ||||||
|  | fi | ||||||
|  | ]) | ||||||
|  |  | ||||||
|  | LIB_AC_PROG_CC | ||||||
|  |  | ||||||
|  | AC_CHECK_TOOL(AS, as) | ||||||
|  | AC_CHECK_TOOL(AR, ar) | ||||||
|  | AC_CHECK_TOOL(RANLIB, ranlib, :) | ||||||
|  |  | ||||||
|  | AC_PROG_INSTALL | ||||||
|  |  | ||||||
|  | AM_MAINTAINER_MODE | ||||||
|  |  | ||||||
|  | # We need AC_EXEEXT to keep automake happy in cygnus mode.  However, | ||||||
|  | # at least currently, we never actually build a program, so we never | ||||||
|  | # need to use $(EXEEXT).  Moreover, the test for EXEEXT normally | ||||||
|  | # fails, because we are probably configuring with a cross compiler | ||||||
|  | # which can't create executables.  So we include AC_EXEEXT to keep | ||||||
|  | # automake happy, but we don't execute it, since we don't care about | ||||||
|  | # the result. | ||||||
|  | if false; then | ||||||
|  |   AC_EXEEXT | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | . [$]{newlib_basedir}/configure.host | ||||||
|  |  | ||||||
|  | newlib_cflags="[$]{newlib_cflags} -fno-builtin" | ||||||
|  |  | ||||||
|  | NEWLIB_CFLAGS=${newlib_cflags} | ||||||
|  | AC_SUBST(NEWLIB_CFLAGS) | ||||||
|  |  | ||||||
|  | LDFLAGS=${ldflags} | ||||||
|  | AC_SUBST(LDFLAGS) | ||||||
|  |  | ||||||
|  | AM_CONDITIONAL(ELIX_LEVEL_0, test x[$]{newlib_elix_level} = x0) | ||||||
|  | AM_CONDITIONAL(ELIX_LEVEL_1, test x[$]{newlib_elix_level} = x1) | ||||||
|  | AM_CONDITIONAL(ELIX_LEVEL_2, test x[$]{newlib_elix_level} = x2) | ||||||
|  | AM_CONDITIONAL(ELIX_LEVEL_3, test x[$]{newlib_elix_level} = x3) | ||||||
|  | AM_CONDITIONAL(ELIX_LEVEL_4, test x[$]{newlib_elix_level} = x4) | ||||||
|  |  | ||||||
|  | AM_CONDITIONAL(USE_LIBTOOL, test x[$]{use_libtool} = xyes) | ||||||
|  |  | ||||||
|  | # Hard-code OBJEXT.  Normally it is set by AC_OBJEXT, but we | ||||||
|  | # use oext, which is set in configure.host based on the target platform. | ||||||
|  | OBJEXT=${oext} | ||||||
|  |  | ||||||
|  | AC_SUBST(OBJEXT) | ||||||
|  | AC_SUBST(oext) | ||||||
|  | AC_SUBST(aext) | ||||||
|  |  | ||||||
|  | AC_SUBST(libm_machine_dir) | ||||||
|  | AC_SUBST(machine_dir) | ||||||
|  | AC_SUBST(sys_dir) | ||||||
|  | ]) | ||||||
|  |  | ||||||
|  | # Do all the work for Automake.  This macro actually does too much -- | ||||||
|  | # some checks are only needed if your package does certain things. | ||||||
|  | # But this isn't really a big deal. | ||||||
|  |  | ||||||
|  | # serial 1 | ||||||
|  |  | ||||||
|  | dnl Usage: | ||||||
|  | dnl AM_INIT_AUTOMAKE(package,version, [no-define]) | ||||||
|  |  | ||||||
|  | AC_DEFUN([AM_INIT_AUTOMAKE], | ||||||
|  | [AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl | ||||||
|  | AC_REQUIRE([AC_PROG_INSTALL]) | ||||||
|  | PACKAGE=[$1] | ||||||
|  | AC_SUBST(PACKAGE) | ||||||
|  | VERSION=[$2] | ||||||
|  | AC_SUBST(VERSION) | ||||||
|  | dnl test to see if srcdir already configured | ||||||
|  | if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then | ||||||
|  |   AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) | ||||||
|  | fi | ||||||
|  | ifelse([$3],, | ||||||
|  | AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) | ||||||
|  | AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) | ||||||
|  | AC_REQUIRE([AM_SANITY_CHECK]) | ||||||
|  | AC_REQUIRE([AC_ARG_PROGRAM]) | ||||||
|  | dnl FIXME This is truly gross. | ||||||
|  | missing_dir=`cd $ac_aux_dir && pwd` | ||||||
|  | AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir) | ||||||
|  | AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) | ||||||
|  | AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir) | ||||||
|  | AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) | ||||||
|  | AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) | ||||||
|  | AC_REQUIRE([AC_PROG_MAKE_SET])]) | ||||||
|  |  | ||||||
|  | # Copyright 2002  Free Software Foundation, Inc. | ||||||
|  |  | ||||||
|  | # This program is free software; you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation; either version 2, or (at your option) | ||||||
|  | # any later version. | ||||||
|  |  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  |  | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with this program; if not, write to the Free Software | ||||||
|  | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||||||
|  |  | ||||||
|  | # AM_AUTOMAKE_VERSION(VERSION) | ||||||
|  | # ---------------------------- | ||||||
|  | # Automake X.Y traces this macro to ensure aclocal.m4 has been | ||||||
|  | # generated from the m4 files accompanying Automake X.Y. | ||||||
|  | AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"]) | ||||||
|  |  | ||||||
|  | # AM_SET_CURRENT_AUTOMAKE_VERSION | ||||||
|  | # ------------------------------- | ||||||
|  | # Call AM_AUTOMAKE_VERSION so it can be traced. | ||||||
|  | # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. | ||||||
|  | AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], | ||||||
|  | 	 [AM_AUTOMAKE_VERSION([1.4-p6])]) | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # Check to make sure that the build environment is sane. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | AC_DEFUN([AM_SANITY_CHECK], | ||||||
|  | [AC_MSG_CHECKING([whether build environment is sane]) | ||||||
|  | # Just in case | ||||||
|  | sleep 1 | ||||||
|  | echo timestamp > conftestfile | ||||||
|  | # Do `set' in a subshell so we don't clobber the current shell's | ||||||
|  | # arguments.  Must try -L first in case configure is actually a | ||||||
|  | # symlink; some systems play weird games with the mod time of symlinks | ||||||
|  | # (eg FreeBSD returns the mod time of the symlink's containing | ||||||
|  | # directory). | ||||||
|  | if ( | ||||||
|  |    set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` | ||||||
|  |    if test "[$]*" = "X"; then | ||||||
|  |       # -L didn't work. | ||||||
|  |       set X `ls -t $srcdir/configure conftestfile` | ||||||
|  |    fi | ||||||
|  |    if test "[$]*" != "X $srcdir/configure conftestfile" \ | ||||||
|  |       && test "[$]*" != "X conftestfile $srcdir/configure"; then | ||||||
|  |  | ||||||
|  |       # If neither matched, then we have a broken ls.  This can happen | ||||||
|  |       # if, for instance, CONFIG_SHELL is bash and it inherits a | ||||||
|  |       # broken ls alias from the environment.  This has actually | ||||||
|  |       # happened.  Such a system could not be considered "sane". | ||||||
|  |       AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken | ||||||
|  | alias in your environment]) | ||||||
|  |    fi | ||||||
|  |  | ||||||
|  |    test "[$]2" = conftestfile | ||||||
|  |    ) | ||||||
|  | then | ||||||
|  |    # Ok. | ||||||
|  |    : | ||||||
|  | else | ||||||
|  |    AC_MSG_ERROR([newly created file is older than distributed files! | ||||||
|  | Check your system clock]) | ||||||
|  | fi | ||||||
|  | rm -f conftest* | ||||||
|  | AC_MSG_RESULT(yes)]) | ||||||
|  |  | ||||||
|  | dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) | ||||||
|  | dnl The program must properly implement --version. | ||||||
|  | AC_DEFUN([AM_MISSING_PROG], | ||||||
|  | [AC_MSG_CHECKING(for working $2) | ||||||
|  | # Run test in a subshell; some versions of sh will print an error if | ||||||
|  | # an executable is not found, even if stderr is redirected. | ||||||
|  | # Redirect stdin to placate older versions of autoconf.  Sigh. | ||||||
|  | if ($2 --version) < /dev/null > /dev/null 2>&1; then | ||||||
|  |    $1=$2 | ||||||
|  |    AC_MSG_RESULT(found) | ||||||
|  | else | ||||||
|  |    $1="$3/missing $2" | ||||||
|  |    AC_MSG_RESULT(missing) | ||||||
|  | fi | ||||||
|  | AC_SUBST($1)]) | ||||||
|  |  | ||||||
|  | # Define a conditional. | ||||||
|  |  | ||||||
|  | AC_DEFUN([AM_CONDITIONAL], | ||||||
|  | [AC_SUBST($1_TRUE) | ||||||
|  | AC_SUBST($1_FALSE) | ||||||
|  | if $2; then | ||||||
|  |   $1_TRUE= | ||||||
|  |   $1_FALSE='#' | ||||||
|  | else | ||||||
|  |   $1_TRUE='#' | ||||||
|  |   $1_FALSE= | ||||||
|  | fi]) | ||||||
|  |  | ||||||
|  | # Add --enable-maintainer-mode option to configure. | ||||||
|  | # From Jim Meyering | ||||||
|  |  | ||||||
|  | # serial 1 | ||||||
|  |  | ||||||
|  | AC_DEFUN([AM_MAINTAINER_MODE], | ||||||
|  | [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) | ||||||
|  |   dnl maintainer-mode is disabled by default | ||||||
|  |   AC_ARG_ENABLE(maintainer-mode, | ||||||
|  | [  --enable-maintainer-mode enable make rules and dependencies not useful | ||||||
|  |                           (and sometimes confusing) to the casual installer], | ||||||
|  |       USE_MAINTAINER_MODE=$enableval, | ||||||
|  |       USE_MAINTAINER_MODE=no) | ||||||
|  |   AC_MSG_RESULT($USE_MAINTAINER_MODE) | ||||||
|  |   AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes) | ||||||
|  |   MAINT=$MAINTAINER_MODE_TRUE | ||||||
|  |   AC_SUBST(MAINT)dnl | ||||||
|  | ] | ||||||
|  | ) | ||||||
|  |  | ||||||
							
								
								
									
										1880
									
								
								newlib/libc/machine/crx/configure
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										1880
									
								
								newlib/libc/machine/crx/configure
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										12
									
								
								newlib/libc/machine/crx/configure.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								newlib/libc/machine/crx/configure.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | dnl This is the newlib/libc/machine/arm configure.in file. | ||||||
|  | dnl Process this file with autoconf to produce a configure script. | ||||||
|  |  | ||||||
|  | AC_PREREQ(2.5) | ||||||
|  | AC_INIT(Makefile.am) | ||||||
|  |  | ||||||
|  | dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.  | ||||||
|  | AC_CONFIG_AUX_DIR(../../../..) | ||||||
|  |  | ||||||
|  | NEWLIB_CONFIGURE(../../..) | ||||||
|  |  | ||||||
|  | AC_OUTPUT(Makefile) | ||||||
							
								
								
									
										24
									
								
								newlib/libc/machine/crx/getenv.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								newlib/libc/machine/crx/getenv.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | /* getenv.c -- Implementation of the getenv() routine | ||||||
|  |  * | ||||||
|  |  * Copyright (c) 2004 National Semiconductor Corporation | ||||||
|  |  * | ||||||
|  |  * The authors hereby grant permission to use, copy, modify, distribute, | ||||||
|  |  * and license this software and its documentation for any purpose, provided | ||||||
|  |  * that existing copyright notices are retained in all copies and that this | ||||||
|  |  * notice is included verbatim in any distributions. No written agreement, | ||||||
|  |  * license, or royalty fee is required for any of the authorized uses. | ||||||
|  |  * Modifications to this software may be copyrighted by their authors | ||||||
|  |  * and need not follow the licensing terms described here, provided that | ||||||
|  |  * the new terms are clearly indicated on the first page of each file where | ||||||
|  |  * they apply. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /* getenv() is implemented as a low-level function,  | ||||||
|  |    thus we only invoke here the system call.  */ | ||||||
|  | char * getenv (const char *name) | ||||||
|  | { | ||||||
|  |   char *_getenv(const char *); | ||||||
|  |  | ||||||
|  |   return (_getenv (name)); | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										51
									
								
								newlib/libc/machine/crx/setjmp.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								newlib/libc/machine/crx/setjmp.S
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | |||||||
|  |  ############################################################################## | ||||||
|  |  # setjmp.S -- CRX setjmp routine                                             # | ||||||
|  |  #                                                                            # | ||||||
|  |  # Copyright (c) 2004 National Semiconductor Corporation                      # | ||||||
|  |  #                                                                            # | ||||||
|  |  # The authors hereby grant permission to use, copy, modify, distribute,      # | ||||||
|  |  # and license this software and its documentation for any purpose, provided  # | ||||||
|  |  # that existing copyright notices are retained in all copies and that this   # | ||||||
|  |  # notice is included verbatim in any distributions. No written agreement,    # | ||||||
|  |  # license, or royalty fee is required for any of the authorized uses.        # | ||||||
|  |  # Modifications to this software may be copyrighted by their authors         # | ||||||
|  |  # and need not follow the licensing terms described here, provided that      # | ||||||
|  |  # the new terms are clearly indicated on the first page of each file where   # | ||||||
|  |  # they apply.                                                                # | ||||||
|  |  #                                                                            # | ||||||
|  |  # C library -- setjmp, longjmp                                               # | ||||||
|  |  # longjmp(a,v)                                                               # | ||||||
|  |  # will generate a "return(v)"                                                # | ||||||
|  |  # from the last call to                                                      # | ||||||
|  |  # setjmp(a)                                                                  # | ||||||
|  |  # by restoring r7-ra, sp,                                                    # | ||||||
|  |  # and pc from 'a'                                                            # | ||||||
|  |  # and doing a return. (Makes sure that longjmp never returns 0).             # | ||||||
|  |  ############################################################################## | ||||||
|  |  | ||||||
|  | 	.text | ||||||
|  | 	.file	"setjmp.s" | ||||||
|  |         .align 4 | ||||||
|  |  | ||||||
|  |         .globl _setjmp | ||||||
|  |         .align 4 | ||||||
|  | _setjmp: | ||||||
|  |         #r2: .blkw | ||||||
|  |         storm r2,{r7,r8,r9,r10,r11,r12,r13,r14} | ||||||
|  | 	stord sp,0(r2) | ||||||
|  |         movd  $0,r0 | ||||||
|  |         jump  ra | ||||||
|  |  | ||||||
|  |         .globl _longjmp | ||||||
|  | _longjmp: | ||||||
|  |         #r2: .blkw # pointer save area | ||||||
|  |         #r3: .blkw # ret vlaue | ||||||
|  |         loadm r2, {r7,r8,r9,r10,r11,r12,r13,ra} | ||||||
|  |         loadd 0(r2), sp | ||||||
|  |         movd r3, r0 | ||||||
|  |         cmpd $0, r3 | ||||||
|  |         bne end1 | ||||||
|  |         movd $1, r0 | ||||||
|  | end1: | ||||||
|  |         jump ra | ||||||
|  |         .align 4 | ||||||
							
								
								
									
										421
									
								
								newlib/libc/machine/crx/sys/asm.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										421
									
								
								newlib/libc/machine/crx/sys/asm.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,421 @@ | |||||||
|  | /* asm.h -- CRX architecture intrinsic functions | ||||||
|  |  * | ||||||
|  |  * Copyright (c) 2004 National Semiconductor Corporation | ||||||
|  |  * | ||||||
|  |  * The authors hereby grant permission to use, copy, modify, distribute, | ||||||
|  |  * and license this software and its documentation for any purpose, provided | ||||||
|  |  * that existing copyright notices are retained in all copies and that this | ||||||
|  |  * notice is included verbatim in any distributions. No written agreement, | ||||||
|  |  * license, or royalty fee is required for any of the authorized uses. | ||||||
|  |  * Modifications to this software may be copyrighted by their authors | ||||||
|  |  * and need not follow the licensing terms described here, provided that | ||||||
|  |  * the new terms are clearly indicated on the first page of each file where | ||||||
|  |  * they apply. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #ifndef	_ASM | ||||||
|  | #define _ASM | ||||||
|  |  | ||||||
|  | /* Note that immediate input values are not checked for validity. It is  | ||||||
|  |    the user's responsibility to use the intrinsic functions with appropriate | ||||||
|  |    immediate values. */ | ||||||
|  |  | ||||||
|  | /* Absolute Instructions */ | ||||||
|  | #define _absb_(src, dest)  	__asm__("absb %1, %0" : "=r" (dest) : \ | ||||||
|  |                                    "r" ((char)src) , "0" (dest)) | ||||||
|  | #define _absw_(src, dest)  	__asm__("absw %1,%0" : "=r" (dest) : \ | ||||||
|  |                                     "r" ((short)src) , "0" (dest)) | ||||||
|  | #define _absd_(src, dest)  	__asm__("absd %1, %0" : "=r" (dest)  : \ | ||||||
|  |                                     "r" ((int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Addition Instructions */ | ||||||
|  | #define _addb_(src, dest)	__asm__("addb %1, %0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned char)src), "0" (dest) : "cc") | ||||||
|  | #define _addub_(src, dest)	__asm__("addub	%1, %0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned char)src), "0" (dest) : "cc") | ||||||
|  | #define _addw_(src, dest)	__asm__("addw %1, %0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned short)src), "0" (dest) : "cc") | ||||||
|  | #define _adduw_(src, dest)	__asm__("adduw	%1, %0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned short)src), "0" (dest) : "cc") | ||||||
|  | #define _addd_(src, dest)	__asm__("addd %1, %0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned int)src), "0" (dest) : "cc") | ||||||
|  | #define _addud_(src, dest)	__asm__("addud	%1, %0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned int)src), "0" (dest) : "cc") | ||||||
|  | /* Add with Carry */ | ||||||
|  | #define _addcb_(src, dest)	__asm__("addcb	%1, %0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned char)src), "0" (dest) : "cc") | ||||||
|  | #define _addcw_(src, dest)	__asm__("addcw	%1, %0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned short)src), "0" (dest) : "cc") | ||||||
|  | #define _addcd_(src, dest)	__asm__("addcd	%1, %0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned int)src), "0" (dest) : "cc") | ||||||
|  | /* Q-format Add */ | ||||||
|  | #define _addqb_(src, dest)	__asm__("addqb %1, %0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((unsigned char)src), "0" (dest) : "cc") | ||||||
|  | #define _addqw_(src, dest)	__asm__("addqw %1, %0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((unsigned short)src), "0" (dest) : "cc") | ||||||
|  | #define _addqd_(src, dest)	__asm__("addqd %1, %0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((unsigned int)src), "0" (dest) : "cc") | ||||||
|  |  | ||||||
|  | /* Bitwise Logical AND */ | ||||||
|  |  | ||||||
|  | #define _andb_(src, dest)  __asm__("andb %1,%0" : "=r" (dest) : \ | ||||||
|  | 				   "ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _andw_(src, dest)  __asm__("andw %1,%0" : "=r" (dest) : \ | ||||||
|  | 				   "ri" ((unsigned short)src) , "0" (dest)) | ||||||
|  | #define _andd_(src, dest)  __asm__("andd %1,%0" : "=r" (dest) : \ | ||||||
|  | 		 		  "ri" ((unsigned int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* bswap Instruction */ | ||||||
|  | #define _bswap_(src, dest)  	__asm__("bswap %1,%0" : "=r" (dest) : \ | ||||||
|  |                                         "r" ((unsigned int)src) , "0" (dest)) | ||||||
|  | /* cbit (clear bit) Instructions */ | ||||||
|  | #define _cbitb_(pos, dest)  	__asm__("cbitb %1,%0" : "=mr" (dest) : \ | ||||||
|  |                                      	"i" ((unsigned char)pos) , "0" (dest) : "cc") | ||||||
|  | #define _cbitw_(pos, dest)  	__asm__("cbitw %1,%0" : "=mr" (dest) : \ | ||||||
|  |                                      	"i" ((unsigned char)pos) , "0" (dest) : "cc") | ||||||
|  | #define _cbitd_(pos, dest)  	__asm__("cbitd %1,%0" : "=r" (dest) : \ | ||||||
|  | 				    	"i" ((unsigned char)pos) , "0" (dest) : "cc") | ||||||
|  |  | ||||||
|  | /* Compare Instructions */ | ||||||
|  | #define _cmpb_(src1, src2)  __asm__("cmpb %0,%1" : /* no output */  : \ | ||||||
|  | 				    "ri" ((unsigned char)src1) , "r" (src2) : "cc") | ||||||
|  | #define _cmpw_(src1,src2)  __asm__("cmpw %0,%1" : /* no output */  \ | ||||||
|  | 				   : "ri" ((unsigned short)src1) , "r" (src2) : "cc") | ||||||
|  | #define _cmpd_(src1,src2)  __asm__("cmpd %0,%1" : /* no output */  \ | ||||||
|  | 				   : "ri" ((unsigned int)src1) , "r" (src2) : "cc") | ||||||
|  |  | ||||||
|  | /* cntl Count Leading Ones Instructions */ | ||||||
|  | #define _cntl1b_(src, dest)  	__asm__("cntl1b %1,%0" : "=r" (dest) : \ | ||||||
|  |                                         "r" ((char)src) , "0" (dest)) | ||||||
|  | #define _cntl1w_(src, dest)  	__asm__("cntl1w %1,%0" : "=r" (dest) : \ | ||||||
|  |                                         "r" ((short)src) , "0" (dest)) | ||||||
|  | #define _cntl1d_(src, dest)  	__asm__("cntl1d %1,%0" : "=r" (dest)  : \ | ||||||
|  |                                         "r" ((int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* cntl Count Leading Zeros Instructions */ | ||||||
|  | #define _cntl0b_(src, dest)  	__asm__("cntl0b %1,%0" : "=r" (dest) : \ | ||||||
|  |                                         "r" ((char)src) , "0" (dest)) | ||||||
|  | #define _cntl0w_(src, dest)  	__asm__("cntl0w %1,%0" : "=r" (dest) : \ | ||||||
|  |                                         "r" ((short)src) , "0" (dest)) | ||||||
|  | #define _cntl0d_(src, dest)  	__asm__("cntl0d %1,%0" : "=r" (dest)  : \ | ||||||
|  |                                          "r" ((int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* cntl Count Leading Signs Instructions */ | ||||||
|  | #define _cntlsb_(src, dest)  	__asm__("cntlsb %1,%0" : "=r" (dest) : \ | ||||||
|  |                                         "r" ((char)src) , "0" (dest)) | ||||||
|  | #define _cntlsw_(src, dest)  	__asm__("cntlsw %1,%0" : "=r" (dest) : \ | ||||||
|  |                                         "r" ((short)src) , "0" (dest)) | ||||||
|  | #define _cntlsd_(src, dest)  	__asm__("cntlsd %1,%0" : "=r" (dest)  : \ | ||||||
|  |                                          "r" ((int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Disable Inerrupts instructions */ | ||||||
|  | #define _di_()       __asm__ volatile ("di\n" :  :  : "cc") | ||||||
|  | #define _disable_()  __asm__ volatile ("di\n" :  :  : "cc") | ||||||
|  |  | ||||||
|  | /* Enable Inerrupts instructions */ | ||||||
|  | #define _ei_()			__asm__ volatile ("ei\n" :  :  : "cc") | ||||||
|  | #define _enable_()		__asm__ volatile ("ei\n" :  :  : "cc") | ||||||
|  |  | ||||||
|  | /* Enable Inerrupts instructions and Wait */ | ||||||
|  | #define _eiwait_()  		__asm__ volatile ("eiwait" :  :  : "cc") | ||||||
|  |  | ||||||
|  | /* excp Instructions */ | ||||||
|  | #define _excp_(vector)  	__asm__ volatile ("excp " # vector) | ||||||
|  |  | ||||||
|  | /* getpid Instruction */ | ||||||
|  | #define _getrfid_(dest) 	__asm__("getrfid %0" : "=r" (dest)  : \ | ||||||
|  |                                      	/* No input */ : "cc") | ||||||
|  |  | ||||||
|  | /* Load Instructions */ | ||||||
|  | #define _loadb_(base,dest)	__asm__("loadb %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"m" (base) , "0" (dest)) | ||||||
|  | #define _loadw_(base,dest)	__asm__("loadw %1,%0" : "=r" (dest) : \ | ||||||
|  | 				        "m" (base) , "0" (dest)) | ||||||
|  | #define _loadd_(base,dest)	__asm__("loadd %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"m" (base) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Load Multiple Instructions */ | ||||||
|  | #define _loadm_(src, mask)  	__asm__("loadm %0,%1" : /* No output */ : \ | ||||||
|  | 					"r" ((unsigned int)src) , "i" (mask)) | ||||||
|  | #define _loadmp_(src, mask)  	__asm__("loadmp %0,%1" : /* No output */ : \ | ||||||
|  | 					"r" ((unsigned int)src) , "i" (mask)) | ||||||
|  |  | ||||||
|  | /* Multiply Accumulate Instrutions */ | ||||||
|  | #define _macsb_(hi, lo, src1, src2)  	__asm__("macsb %1,%0" \ | ||||||
|  | 					: =l (lo), =h (hi) \ | ||||||
|  | 					: "r" ((char)src1) , "r" (src2)) | ||||||
|  | #define _macsw_(hi, lo, src1, src2)  	__asm__("macsw %1,%0" \ | ||||||
|  | 					: =l (lo), =h (hi) \ | ||||||
|  | 					: "r" ((short)src1) , "r" (src2)) | ||||||
|  | #define _macsd_(hi, lo, src1, src2)  	__asm__("macsd %1,%0" \ | ||||||
|  | 					: =l (lo), =h (hi) \ | ||||||
|  | 					: "r" ((int)src1) , "r" (src2)) | ||||||
|  | #define _macub_(hi, lo, src1, src2)  	__asm__("macub %1,%0" \ | ||||||
|  |   					: =l (lo), =h (hi) \ | ||||||
|  | 					:"r" ((unsigned char)src1) , "r" (src2)) | ||||||
|  | #define _macuw_(hi, lo, src1, src2)  	__asm__("macuw %1,%0" \ | ||||||
|  |   					: =l (lo), =h (hi) \ | ||||||
|  | 					: "r" ((unsigned short)src1) , "r" (src2)) | ||||||
|  | #define _macud_(hi, lo, src1, src2)  	__asm__("macud %1,%0" \ | ||||||
|  |   					: =l (lo), =h (hi) \ | ||||||
|  | 					: "r" ((unsigned int)src1) , "r" (src2)) | ||||||
|  |  | ||||||
|  | /* Q-Format Multiply Accumulate Instrutions */ | ||||||
|  | #define _macqb_(src1, src2)  	__asm__("macqb %1,%0" \ | ||||||
|  |   					: =l (lo), =h (hi) \ | ||||||
|  | 					:"r" ((char)src1) , "r" (src2)) | ||||||
|  | #define _macqw_(src1, src2)  	__asm__("macqw %1,%0" \ | ||||||
|  |   					: =l (lo), =h (hi) \ | ||||||
|  | 					:"r" ((short)src1) , "r" (src2)) | ||||||
|  | #define _macqd_(src1, src2)  	__asm__("macqd %1,%0" \ | ||||||
|  |   					: =l (lo), =h (hi) \ | ||||||
|  | 					:"r" ((int)src1) , "r" (src2)) | ||||||
|  |  | ||||||
|  | /* Maximum Instructions */ | ||||||
|  | #define _maxsb_(src, dest)  	__asm__("maxsb %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((char)src) , "0" (dest)) | ||||||
|  | #define _maxsw_(src, dest)  	__asm__("maxsw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((short)src) , "0" (dest)) | ||||||
|  | #define _maxsd_(src, dest)  	__asm__("maxsd %1,%0" : "=r" (dest)  : \ | ||||||
|  | 					"r" ((int)src) , "0" (dest)) | ||||||
|  | #define _maxub_(src, dest)  	__asm__("maxub %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _maxuw_(src, dest)  	__asm__("maxuw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((unsigned short)src) , "0" (dest)) | ||||||
|  | #define _maxud_(src, dest)  	__asm__("maxud %1,%0" : "=r" (dest)  : \ | ||||||
|  | 					"r" ((unsigned int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Minimum Instructions */ | ||||||
|  | #define _minsb_(src, dest)  	__asm__("minsb %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((char)src) , "0" (dest)) | ||||||
|  | #define _minsw_(src, dest)  	__asm__("minsw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((short)src) , "0" (dest)) | ||||||
|  | #define _minsd_(src, dest)  	__asm__("minsd %1,%0" : "=r" (dest)  : \ | ||||||
|  | 					"r" ((int)src) , "0" (dest)) | ||||||
|  | #define _minub_(src, dest)  	__asm__("minub %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _minuw_(src, dest)  	__asm__("minuw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((unsigned short)src) , "0" (dest)) | ||||||
|  | #define _minud_(src, dest)  	__asm__("minud %1,%0" : "=r" (dest)  : \ | ||||||
|  | 					"r" ((unsigned int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Move Instructions */ | ||||||
|  | #define _movb_(src, dest)  	__asm__("movb %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _movw_(src, dest)  	__asm__("movw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned short)src) , "0" (dest)) | ||||||
|  | #define _movd_(src, dest)  	__asm__("movd %1,%0" : "=r" (dest)  : \ | ||||||
|  | 					"ri" ((unsigned int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* mtpr and mfpr Insturctions */ | ||||||
|  | #define _mtpr_(procregd, src)  __asm__("mtpr\t%0," procregd : /* no output */ : \ | ||||||
|  | 				       "r" (src) : "cc") | ||||||
|  | #define _mfpr_(procregd, dest) __asm__("mfpr\t" procregd ",%0" : "=r" (dest) : \ | ||||||
|  | 				       /* no input */ "0" (dest) : "cc") | ||||||
|  |  | ||||||
|  | /* Multiplication Instructions */ | ||||||
|  | #define _mulsbw_(src, dest)  	__asm__("mulsbw %1,%0" : "=r" (dest) : \ | ||||||
|  |                                    	"r" ((char)src) , "0" (dest)) | ||||||
|  | #define _mulubw_(src, dest)  	__asm__("mulubw %1,%0" : "=r" (dest) : \ | ||||||
|  |                                    	"r" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _mulswd_(src, dest)  	__asm__("mulswd %1,%0" : "=r" (dest) : \ | ||||||
|  |                                    	"r" ((short)src) , "0" (dest)) | ||||||
|  | #define _muluwd_(src, dest)  	__asm__("muluwd %1,%0" : "=r" (dest) : \ | ||||||
|  |                                    	"r" ((unsigned short)src) , "0" (dest)) | ||||||
|  | #define _mulb_(src, dest)  	__asm__("mulb %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((char)src) , "0" (dest)) | ||||||
|  | #define _mulw_(src, dest)  	__asm__("mulw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((short)src) , "0" (dest)) | ||||||
|  | #define _muld_(src, dest)  	__asm__("muld %1,%0" : "=r" (dest)  : \ | ||||||
|  | 					"ri" ((int)src) , "0" (dest)) | ||||||
|  | #define _mullsd_(hi, lo, src1, src2)  	__asm__("mullsd %2,%3" \ | ||||||
|  |   					: =l (lo), =h (hi) \ | ||||||
|  | 					: "r" ((unsigned int)src1) , "r" ((unsigned int)src2)) | ||||||
|  | #define _mullud_(hi, lo, src1, src2)  	__asm__("mullud %2,%3" \ | ||||||
|  |   					: =l (lo), =h (hi) \ | ||||||
|  | 					: "r" ((int)src1) , "r" ((int)src2)) | ||||||
|  |  | ||||||
|  | /* Q-Format Multiplication Instructions */ | ||||||
|  | #define _mulqb_(src, dest)  	__asm__("mulqb %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((char)src) , "0" (dest)) | ||||||
|  | #define _mulqw_(src, dest)  	__asm__("mulqw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((short)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* nop Instruction */ | ||||||
|  | #define _nop_()  __asm__("nop") | ||||||
|  |  | ||||||
|  | /* Negate Instructions */ | ||||||
|  | #define _negb_(src, dest)  	__asm__("negb %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((char)src) , "0" (dest)) | ||||||
|  | #define _negw_(src, dest)  	__asm__("negw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((short)src) , "0" (dest)) | ||||||
|  | #define _negd_(src, dest)  	__asm__("negd %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* or Instructions */ | ||||||
|  | #define _orb_(src, dest)  	__asm__("orb %1,%0" : "=r" (dest) : \ | ||||||
|  |                                    "ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _orw_(src, dest)  	__asm__("orw %1,%0" : "=r" (dest) : \ | ||||||
|  |                                     "ri" ((unsigned short)src) , "0" (dest)) | ||||||
|  | #define _ord_(src, dest)  	__asm__("ord %1,%0" : "=r" (dest)  : \ | ||||||
|  |                                     "ri" ((unsigned int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Pop 1's Count Instructions */ | ||||||
|  | #define _popcntb_(src, dest)  	__asm__("popcntb %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((char)src) , "0" (dest)) | ||||||
|  | #define _popcntw_(src, dest)  	__asm__("popcntw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((short)src) , "0" (dest)) | ||||||
|  | #define _popcntd_(src, dest)  	__asm__("popcntd %1,%0" : "=r" (dest)  : \ | ||||||
|  |                                     "r" ((int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Rotate and Mask Instructions */  | ||||||
|  | #define _ram_(shift, end, begin, dest, src) __asm__("ram %1, %2, %3, %0, %4" : \ | ||||||
|  | 						    "=r" (dest) : \ | ||||||
|  | 						    "i" ((unsigned char) shift), \ | ||||||
|  | 						    "i" (end), "i" (begin), \ | ||||||
|  | 						    "r" (src), "0" (dest)) | ||||||
|  | #define _rim_(shift, end, begin, dest, src) __asm__("rim %1, %2, %3, %0, %4" : \ | ||||||
|  | 						    "=r" (dest) : \ | ||||||
|  | 						    "i" ((unsigned char) shift), \ | ||||||
|  | 						    "i" (end), "i" (begin), \ | ||||||
|  | 						    "r" (src), "0" (dest)) | ||||||
|  |  | ||||||
|  | /* retx Instruction */ | ||||||
|  | #define _retx_()  __asm__("retx") | ||||||
|  |  | ||||||
|  | /* Rotate Instructions */ | ||||||
|  | #define _rotb_(shift, dest)  __asm__("rotb %1,%0" : "=r" (dest) : \ | ||||||
|  | 				     "i" ((unsigned char)shift) , "0" (dest)) | ||||||
|  | #define _rotw_(shift, dest)  __asm__("rotw %1,%0" : "=r" (dest) : \ | ||||||
|  | 				     "i" ((unsigned char)shift) , "0" (dest)) | ||||||
|  | #define _rotd_(shift, dest)  __asm__("rotd %1,%0" : "=r" (dest)  : \ | ||||||
|  | 				     "i" ((unsigned char)shift) , "0" (dest)) | ||||||
|  | #define _rotlb_(shift, dest) __asm__("rotlb %1,%0" : "=r" (dest) : \ | ||||||
|  | 				     "r" ((unsigned char)shift) , "0" (dest)) | ||||||
|  | #define _rotlw_(shift, dest) __asm__("rotlw %1,%0" : "=r" (dest) : \ | ||||||
|  | 				     "r" ((unsigned char)shift) , "0" (dest)) | ||||||
|  | #define _rotld_(shift, dest) __asm__("rotld %1,%0" : "=r" (dest)  : \ | ||||||
|  | 				     "r" ((unsigned char)shift) , "0" (dest)) | ||||||
|  | #define _rotrb_(shift, dest) __asm__("rotrb %1,%0" : "=r" (dest) : \ | ||||||
|  | 				     "r" ((unsigned char)shift) , "0" (dest)) | ||||||
|  | #define _rotrw_(shift, dest) __asm__("rotrw %1,%0" : "=r" (dest) : \ | ||||||
|  | 				     "r" ((unsigned char)shift) , "0" (dest)) | ||||||
|  | #define _rotrd_(shift, dest) __asm__("rotrd %1,%0" : "=r" (dest)  : \ | ||||||
|  | 				     "r" ((unsigned char)shift) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Set Bit Instructions */ | ||||||
|  | #define _sbitb_(pos,dest)  __asm__("sbitb %1,%0" : "=mr" (dest) : \ | ||||||
|  | 				   "i" ((unsigned char)pos) , "0" (dest) : "cc") | ||||||
|  | #define _sbitw_(pos,dest)  __asm__("sbitw %1,%0" : "=mr" (dest) : \ | ||||||
|  |                                    "i" ((unsigned char)pos) , "0" (dest) : "cc") | ||||||
|  | #define _sbitd_(pos,dest)  __asm__("sbitd %1,%0" : "=mr" (dest) : \ | ||||||
|  |                                    "i" ((unsigned char)pos) , "0" (dest) : "cc") | ||||||
|  |  | ||||||
|  | /* setrfid Instruction */ | ||||||
|  | #define _setrfid_(src)		__asm__("setrfid %0" : /* No output */  : \ | ||||||
|  | 					"r" (src) : "cc") | ||||||
|  |  | ||||||
|  | /* Sign Extend Instructions */ | ||||||
|  | #define _sextbw_(src, dest)  	__asm__("sextbw %1,%0" : "=r" (dest) : \ | ||||||
|  |                                    "r" ((char)src) , "0" (dest) ) | ||||||
|  | #define _sextbd_(src, dest)  	__asm__("sextbd %1,%0" : "=r" (dest) : \ | ||||||
|  |                                     "r" ((char)src) , "0" (dest) ) | ||||||
|  | #define _sextwd_(src, dest)  	__asm__("sextwd %1,%0" : "=r" (dest) : \ | ||||||
|  |                                     "r" ((short)src) , "0" (dest) ) | ||||||
|  |  | ||||||
|  | /* Shift Left Logical Instructions */ | ||||||
|  | #define _sllb_(src, dest)  	__asm__("sllb %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _sllw_(src, dest)  	__asm__("sllw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _slld_(src, dest)  	__asm__("slld %1,%0" : "=r" (dest)  : \ | ||||||
|  | 					"ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | /* Shift Right Arithmetic Instructions */ | ||||||
|  | #define _srab_(src, dest)  	__asm__("srab %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _sraw_(src, dest)  	__asm__("sraw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _srad_(src, dest)  	__asm__("srad %1,%0" : "=r" (dest)  : \ | ||||||
|  | 					"ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Shift Right Logical Instructions */ | ||||||
|  | #define _srlb_(src, dest)  	__asm__("srlb %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _srlw_(src, dest)  	__asm__("srlw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _srld_(src, dest)  	__asm__("srld %1,%0" : "=r" (dest)  : \ | ||||||
|  | 					"ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | 				 | ||||||
|  | /* Store Instructions */ | ||||||
|  | #define _storb_(src,address)  	__asm__("storb %1,%0" : "=m" (address) : \ | ||||||
|  | 					"ri" ((unsigned int)src)) | ||||||
|  | #define _storw_(src,address)  	__asm__("storw %1,%0" : "=m" (address) : \ | ||||||
|  | 					"ri" ((unsigned int)src)) | ||||||
|  | #define _stord_(src,address)  	__asm__("stord %1,%0" : "=m" (address) : \ | ||||||
|  | 					"ri" ((unsigned int)src)) | ||||||
|  |  | ||||||
|  | /* Store Multiple Instructions */ | ||||||
|  | #define _storm_(mask, src)  	__asm__("storm %1,%0" : /* No output here */ : \ | ||||||
|  | 					"i" (mask) , "r" ((unsigned int)src)) | ||||||
|  | #define _stormp_(mask, src)  	__asm__("stormp %1,%0" : /* No output here */ : \ | ||||||
|  | 					"i" (mask) , "r" ((unsigned int)src)) | ||||||
|  |  | ||||||
|  | /* Substruct Instructions */ | ||||||
|  | #define _subb_(src, dest)  __asm__("subb	%1, %0" : "=r" (dest) : \ | ||||||
|  | 			           "ri" ((unsigned char)src), "0" (dest) : "cc") | ||||||
|  | #define _subw_(src, dest)  __asm__("subw	%1, %0" : "=r" (dest) : \ | ||||||
|  | 			           "ri" ((unsigned short)src), "0" (dest) : "cc") | ||||||
|  | #define _subd_(src, dest)  __asm__("subd	%1, %0" : "=r" (dest) : \ | ||||||
|  | 				   "ri" ((unsigned int)src), "0" (dest) : "cc") | ||||||
|  |  | ||||||
|  | /* Substruct with Carry Instructions */ | ||||||
|  | #define _subcb_(src, dest) __asm__("subcb	%1, %0" : "=r" (dest) : \ | ||||||
|  | 			           "ri" ((unsigned char)src), "0" (dest) : "cc") | ||||||
|  | #define _subcw_(src, dest) __asm__("subcw	%1, %0" : "=r" (dest) : \ | ||||||
|  | 				   "ri" ((unsigned short)src), "0" (dest) : "cc") | ||||||
|  | #define _subcd_(src, dest) __asm__("subcd	%1, %0" : "=r" (dest) : \ | ||||||
|  | 			           "ri" ((unsigned int)src), "0" (dest) : "cc") | ||||||
|  |  | ||||||
|  | /* Q-Format Substruct Instructions */ | ||||||
|  | #define _subqb_(src, dest)  	__asm__("subqw %1,%0" : "=r" (dest)  : \ | ||||||
|  |                                         "r" ((char)src) , "0" (dest)) | ||||||
|  | #define _subqw_(src, dest)  	__asm__("subqw %1,%0" : "=r" (dest)  : \ | ||||||
|  |                                         "r" ((short)src) , "0" (dest)) | ||||||
|  | #define _subqd_(src, dest)  	__asm__("subqd %1,%0" : "=r" (dest)  : \ | ||||||
|  |                                         "r" ((short)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Test Bit Instructions */ | ||||||
|  | #define _tbitb_(pos,dest)  __asm__("tbitb %0,%1" : /* No output */ : \ | ||||||
|  |                                    "i" ((unsigned char)pos) , "rm" (dest) : "cc") | ||||||
|  | #define _tbitw_(pos,dest)  __asm__("tbitw %0,%1" : /* No output */ : \ | ||||||
|  |                                    "i" ((unsigned char)pos) , "rm" (dest) : "cc") | ||||||
|  | #define _tbitd_(pos,dest)  __asm__("tbitd %0,%1" : /* No output */ : \ | ||||||
|  |                                    "i" ((unsigned char)pos) , "rm" (dest) : "cc") | ||||||
|  |  | ||||||
|  | /* wait Instruction*/ | ||||||
|  | #define _wait_()  		__asm__ volatile ("wait" :  :  : "cc") | ||||||
|  |  | ||||||
|  | /* xor Instructions */ | ||||||
|  | #define _xorb_(src, dest)  	__asm__("xorb %1,%0" : "=r" (dest) : \ | ||||||
|  |                                    "ri" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _xorw_(src, dest)  	__asm__("xorw %1,%0" : "=r" (dest) : \ | ||||||
|  |                                     "ri" ((unsigned short)src) , "0" (dest)) | ||||||
|  | #define _xord_(src, dest)  	__asm__("xord %1,%0" : "=r" (dest)  : \ | ||||||
|  |                                     "ri" ((unsigned int)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | /* Zero Extend Instructions */ | ||||||
|  | #define _zextbw_(src, dest)  	__asm__("zextbw %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _zextbd_(src, dest)  	__asm__("zextbd %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((unsigned char)src) , "0" (dest)) | ||||||
|  | #define _zextwd_(src, dest)  	__asm__("zextwd %1,%0" : "=r" (dest) : \ | ||||||
|  | 					"r" ((unsigned short)src) , "0" (dest)) | ||||||
|  |  | ||||||
|  | #define _save_asm_(x) \ | ||||||
|  |   __asm__ volatile (x ::: "memory","cc", \ | ||||||
|  | 		    "r0","r1","r2","r3","r4","r5","r6","r7", \ | ||||||
|  | 		    "r8","r9","r10","r11","r12","r13") | ||||||
|  |  | ||||||
|  | #endif  /* _ASM */ | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										51
									
								
								newlib/libc/machine/crx/sys/libh.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								newlib/libc/machine/crx/sys/libh.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | |||||||
|  | /* libh.h -- CRX default handlers | ||||||
|  |  * | ||||||
|  |  * Copyright (c) 2004 National Semiconductor Corporation | ||||||
|  |  * | ||||||
|  |  * The authors hereby grant permission to use, copy, modify, distribute, | ||||||
|  |  * and license this software and its documentation for any purpose, provided | ||||||
|  |  * that existing copyright notices are retained in all copies and that this | ||||||
|  |  * notice is included verbatim in any distributions. No written agreement, | ||||||
|  |  * license, or royalty fee is required for any of the authorized uses. | ||||||
|  |  * Modifications to this software may be copyrighted by their authors | ||||||
|  |  * and need not follow the licensing terms described here, provided that | ||||||
|  |  * the new terms are clearly indicated on the first page of each file where | ||||||
|  |  * they apply. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #ifndef	_LIBH | ||||||
|  | #define _LIBH | ||||||
|  |  | ||||||
|  | /* These are the first 16 entries of the default dispatch table as defined | ||||||
|  |    in the CompactRISC architecture: | ||||||
|  |  | ||||||
|  |    Entry    Function | ||||||
|  |    -----    -------- | ||||||
|  |     0	    NULL | ||||||
|  |     1	    nmi | ||||||
|  |     2	    NULL | ||||||
|  |     3	    NULL | ||||||
|  |     4	    NULL | ||||||
|  |     5	    svc | ||||||
|  |     6	    dvz | ||||||
|  |     7	    flg | ||||||
|  |     8	    bpt | ||||||
|  |     9	    trc | ||||||
|  |    10	    und | ||||||
|  |    11	    NULL | ||||||
|  |    12	    iad | ||||||
|  |    13	    NULL | ||||||
|  |    14	    dbg | ||||||
|  |    15	    ise | ||||||
|  | */ | ||||||
|  |  | ||||||
|  | extern void (* const _dispatch_table[])(void); | ||||||
|  |  | ||||||
|  | /* Function prototypes */ | ||||||
|  | void svc_handler(void); | ||||||
|  | void dvz_handler(void); | ||||||
|  | void flg_handler(void); | ||||||
|  | void und_handler(void); | ||||||
|  | void iad_handler(void); | ||||||
|  |  | ||||||
|  | #endif  /* _LIBH */ | ||||||
							
								
								
									
										61
									
								
								newlib/libc/machine/crx/sys/syscall.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								newlib/libc/machine/crx/sys/syscall.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | |||||||
|  | /* syscall.h -- CRX virtual I/O and trap service codes | ||||||
|  |  * | ||||||
|  |  * Copyright (c) 2004 National Semiconductor Corporation | ||||||
|  |  * | ||||||
|  |  * The authors hereby grant permission to use, copy, modify, distribute, | ||||||
|  |  * and license this software and its documentation for any purpose, provided | ||||||
|  |  * that existing copyright notices are retained in all copies and that this | ||||||
|  |  * notice is included verbatim in any distributions. No written agreement, | ||||||
|  |  * license, or royalty fee is required for any of the authorized uses. | ||||||
|  |  * Modifications to this software may be copyrighted by their authors | ||||||
|  |  * and need not follow the licensing terms described here, provided that | ||||||
|  |  * the new terms are clearly indicated on the first page of each file where | ||||||
|  |  * they apply. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #ifndef _SYSCALL_H | ||||||
|  | #define _SYSCALL_H | ||||||
|  |  | ||||||
|  | #include <sys/asm.h> | ||||||
|  |  | ||||||
|  | /* SVC codes to pass to the debugger */ | ||||||
|  |  | ||||||
|  | /* Virtual I/O services */ | ||||||
|  | #define SVC_OPEN	0x401 | ||||||
|  | #define SVC_CLOSE	0x402 | ||||||
|  | #define SVC_READ	0x403 | ||||||
|  | #define SVC_WRITE	0x404 | ||||||
|  | #define SVC_LSEEK	0x405 | ||||||
|  | #define SVC_RENAME	0x406 | ||||||
|  | #define SVC_UNLINK	0x407 | ||||||
|  | #define SVC_GETENV	0x408 | ||||||
|  |  | ||||||
|  | /* Time service */ | ||||||
|  | #define SVC_TIME        0x300 | ||||||
|  |  | ||||||
|  | /* Start/end of program services */ | ||||||
|  | #define SVC_EOP		0x410 | ||||||
|  |  | ||||||
|  | /* Trap services */ | ||||||
|  | #define SVC_SVC		0x505 | ||||||
|  | #define SVC_DVZ		0x506 | ||||||
|  | #define SVC_FLG		0x507 | ||||||
|  | #define SVC_UND		0x50a | ||||||
|  | #define SVC_IAD		0x50c | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* Places the code of the requested service in R0, then transfers control | ||||||
|  |    to the debugger using the BPT exception. | ||||||
|  |    It is called from the start routine, VIO functions and the trap | ||||||
|  |    handlers.  */ | ||||||
|  |  | ||||||
|  | #define STRINGIFY(x)	#x | ||||||
|  | #define HOST_SERVICE(service) \ | ||||||
|  |   do { \ | ||||||
|  |     __asm__("movd\t$" STRINGIFY(service) ",r0"); \ | ||||||
|  |     _excp_(bpt); \ | ||||||
|  |     __asm__(".short\t0xFFFF"); \ | ||||||
|  |   } while (0) | ||||||
|  |  | ||||||
|  | #endif  /* _SYSCALL_H */ | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user