1
0
Fork 0
mirror of https://github.com/hermitcore/libhermit.git synced 2025-03-09 00:00:03 +01:00

Merge branch 'production' into devel

This commit is contained in:
Stefan Lankes 2017-01-17 23:23:12 +01:00
commit 81bff86f64
10 changed files with 113 additions and 51 deletions

View file

@ -5,23 +5,21 @@ git:
language: c
compiler: gcc
before_install:
- echo "deb https://dl.bintray.com/rwth-os/hermitcore vivid main" | sudo tee -a /etc/apt/sources.list
- sudo apt-get -qq update
- sudo apt-get install -y curl qemu-system-x86 nasm texinfo libmpfr-dev libmpc-dev libgmp-dev libisl-dev flex bison packaging-dev
#- sudo apt-get install -y --force-yes binutils-hermit gcc-hermit-bootstrap
- sudo apt-get install -y --force-yes binutils-hermit libhermit newlib-hermit pthread-embedded-hermit gcc-hermit
- git submodule update --init lwip usr/libomp
script:
- mv .git ..
- cd ..
- mv HermitCore libhermit-0.1
- tar -czf libhermit_0.1.orig.tar.gz libhermit-0.1
- mv .git libhermit-0.1
- cd $TOPDIR
- wget https://bintray.com/rwth-os/hermitcore/download_file?file_path=binutils-hermit_2.26.1-1_amd64.deb -O binutils-hermit_2.26.1-1_amd64.deb
- sudo dpkg -i ./binutils-hermit_2.26.1-1_amd64.deb
- wget https://www.lankes.org/deploy/bootstrap.tar.gz
- tar xzf bootstrap.tar.gz
- cd /home/travis/build/RWTH-OS/libhermit-0.1
- debuild -e PATH -us -uc
- x86_64-hermit-readelf -a kernel/main.o
- tar -czf libhermit_0.1.orig.tar.gz libhermit-0.1 --exclude=.git
- cd libhermit-0.1
- debuild -e PATH -us -uc -j2
- x86_64-hermit-readelf -a kernel/main.o | grep ABI
deploy:
on: production
provider: bintray
@ -32,8 +30,7 @@ deploy:
secure: JfsqEUO3Z60yGfuK5RSzwMoWZtaYflZtW7QE6R1DVMPEQ+CytzEdV2JaTpY14xz4yz1YpBBuQ0P3Q3e2rf/ORp8N8j7/5m3gfiDi8bRH3gX10r6vCQaUBilj0pz3amWUacxwBUEYR/f1029OnJ1qug30f4ARk7DWyuAePt0OboDXZ3j4JOi8xfXKTzofyKGugU4EuzhmKAbpHaBoX97g8z+gETC+wsBEYio8iD2h0ZOe/qZ0S+JGYkphIKcxpQazKdi3YrmWm0BUZsQRtkgoH7KUZm8vqfOUyVOrK+UGOTz4vXqCWHZ+wG1QRrGPUv8ehLrB26y2o02mmaDWQhM+I3RtllL06JDvDw40xjRImYtzg6xr7Mvl0OTQHprXrkN8gw2IbIivV8v31O46Ov+KIaN3CCx1IncnllBWjEXAIs4zPtvNj2Ad338JTkI/opHmPG0DI0DKE36r8wPZYTs/pHVpc3xEzwKYDklJkICjMLUakUGKppS7eKzKGRMjWvbT0vM/U7hHUcz0lA+BUoXedNmJQ1wBT85Ud8uobuKS4C8QmlgIuF1PI2+6LJr5LsCGZRvg7Pl1SPc3ZQLPHX4ggoLAnZZJiV/0ZPCn7XCLiUS1qws37l0uZT1zJQMFLsw9MGuP58tpT7WDuYYAwma/pL+OKC/JKoDhuJwM1I7wB4s=
env:
global:
- TOPDIR=/home/travis/build
- PATH=$PATH:/opt/hermit/bin:$TOPDIR/x86/bin
- PATH=$PATH:/opt/hermit/bin/
- PROXY_STR=":hermit:M:7:\\x42::`pwd`/RWTH-OS/libhermit-0.1/tools/proxy"
- HERMIT_ISLE=qemu
- HERMIT_CPUS=1

View file

@ -126,6 +126,34 @@ toolchain: $(INSTALL_LIBHERMIT)
PROFILING_CFLAGS="$(PROFILING_CFLAGS)" \
PROFILING_LDFLAGS="$(PROFILING_LDFLAGS)" -C usr toolchain
libs:
$Q$(MAKE) ARCH=$(ARCH) PREFIX=$(prefix) \
LDFLAGS_FOR_TARGET="$(LDFLAGS_FOR_NEWLIB)" \
GOFLAGS_FOR_TARGET="$(GOFLAGS_FOR_NEWLIB)" \
CFLAGS_FOR_TARGET="$(CFLAGS_FOR_NEWLIB)" \
FFLAGS_FOR_TARGET="$(FFLAGS_FOR_NEWLIB)" \
FCFLAGS_FOR_TARGET="$(FCFLAGS_FOR_NEWLIB)" \
FCFLAGS="$(FCFLAGS_FOR_NEWLIB)" \
CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_NEWLIB)" \
NASMFLAGS="$(NASMFLAGS_FOR_NEWLIB)" \
CC_FOR_TARGET=$(CC_FOR_TARGET) \
GO_FOR_TARGET=$(GO_FOR_TARGET) \
FC_FOR_TARGET=$(FC_FOR_TARGET) \
CXX_FOR_TARGET=$(CXX_FOR_TARGET) \
GCC_FOR_TARGET=$(GCC_FOR_TARGET) \
AR_FOR_TARGET=$(AR_FOR_TARGET) \
AS_FOR_TARGET=$(AS_FOR_TARGET) \
LD_FOR_TARGET=$(LD_FOR_TARGET) \
NM_FOR_TARGET=$(NM_FOR_TARGET) \
OBJDUMP_FOR_TARGET=$(OBJDUMP_FOR_TARGET) \
OBJCOPY_FOR_TARGET=$(OBJCOPY_FOR_TARGET) \
RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET) \
STRIP_FOR_TARGET=$(STRIP_FOR_TARGET) \
ELFEDIT_FOR_TARGET=$(ELFEDIT_FOR_TARGET) \
READELF_FOR_TARGET=$(READELF_FOR_TARGET) \
PROFILING_CFLAGS="$(PROFILING_CFLAGS)" \
PROFILING_LDFLAGS="$(PROFILING_LDFLAGS)" -C usr libs
bootstrap:
$Q$(MAKE) ARCH=$(ARCH) PREFIX=$(prefix) CFLAGS="" LDFLAGS="" -C usr bootstrap
@ -189,7 +217,7 @@ install_libhermit:
install: install_libhermit
$Q$(MAKE) PREFIX=$(prefix) -C usr install
$Q$(INSTALL_PROGRAM) tools/proxy $(prefix)/bin
$Q$(MAKE) PREFIX=$(prefix) -C tools install
clean:
$Q$(RM) $(NAME) $(NAME).sym $(NAME).bin *~
@ -245,6 +273,6 @@ include/hermit/config.inc: include/hermit/config.h
@echo [GCC-ASM] $@
$Q$(CC_FOR_TARGET) $(CFLAGS) -c -o $@ $<
.PHONY: default all clean qemu gdb usr test toolchain tools examples
.PHONY: default all clean qemu gdb usr test toolchain tools examples libs
include $(addsuffix /Makefile,$(SUBDIRS))

20
configure vendored
View file

@ -619,6 +619,7 @@ infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
@ -694,6 +695,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@ -946,6 +948,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@ -1083,7 +1094,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@ -1236,6 +1247,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@ -2845,7 +2857,7 @@ $as_echo "#define DEFAULT_STACK_SIZE 262144" >>confdefs.h
fi
ac_config_files="$ac_config_files Makefile"
ac_config_files="$ac_config_files Makefile tools/Makefile usr/ircce/Makefile usr/xray/Makefile usr/libomp/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@ -3540,6 +3552,10 @@ do
case $ac_config_target in
"include/hermit/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/hermit/config.h" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
"usr/ircce/Makefile") CONFIG_FILES="$CONFIG_FILES usr/ircce/Makefile" ;;
"usr/xray/Makefile") CONFIG_FILES="$CONFIG_FILES usr/xray/Makefile" ;;
"usr/libomp/Makefile") CONFIG_FILES="$CONFIG_FILES usr/libomp/Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac

View file

@ -73,5 +73,5 @@ else
AC_DEFINE(DEFAULT_STACK_SIZE, 262144, Define the default stack size)
fi
AC_CONFIG_FILES(Makefile)
AC_CONFIG_FILES(Makefile tools/Makefile usr/ircce/Makefile usr/xray/Makefile usr/libomp/Makefile)
AC_OUTPUT

45
debian/rules vendored
View file

@ -3,41 +3,34 @@
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_BUILD_OPTS = nocheck
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@ #--with autotools_dev
dh $@ #--parallel
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
override_dh_auto_configure:
dh_auto_configure -- --prefix=/opt/hermit
./configure --prefix=`pwd`/debian/libhermit/opt/hermit
override_dh_auto_build:
# this target is somehow not executed by dh_auto_build and thus the build fails
make arch/x86/kernel/boot.h
dh_auto_build
make libs
override_dh_auto_test:
@echo "tests are disabled"
override_dh_auto_install:
mkdir -p debian/libhermit/opt/hermit/x86_64-hermit/lib
mkdir -p debian/libhermit/opt/hermit/x86_64-hermit/include
mkdir -p debian/libhermit/opt/hermit/x86_64-hermit/bin
/usr/bin/install -c -m 644 libhermit.a debian/libhermit/opt/hermit/x86_64-hermit/lib
#/usr/bin/install -c -m 644 usr/ircce/libircce.a debian/libhermit/opt/hermit/x86_64-hermit/lib
#/usr/bin/install -c -m 644 usr/ircce/*.h debian/libhermit/opt/hermit/x86_64-hermit/include
#/usr/bin/install -c -m 644 usr/ircce/libxray.a debian/libhermit/opt/hermit/x86_64-hermit/lib
#/usr/bin/install -c -m 644 usr/ircce/libxray.spec debian/libhermit/opt/hermit/x86_64-hermit/lib
#/usr/bin/install -c -m 644 usr/ircce/libxray.h debian/libhermit/opt/hermit/x86_64-hermit/include
#/usr/bin/install -c -m 644 usr/libomp/libiomp.h debian/libhermit/opt/hermit/x86_64-hermit/lib
#/usr/bin/install -c -m 644 usr/libomp/libgomp.spec debian/libhermit/opt/hermit/x86_64-hermit/lib
#/usr/bin/install -c -m 644 usr/libomp/src/omp.h debian/libhermit/opt/hermit/x86_64-hermit/include
/usr/bin/install -c tools/proxy debian/libhermit/opt/hermit/bin
#make install_libhermit
make install
# delete unneded files that would cause conflicts
rm -rf `-pwd`/debian/libhermit/opt/hermit/share/info/dir
override_dh_strip:
# stripping will incorrectly use system tools for stripping, generating
# wrong binary format, i.e. not for HermitCore
@echo "No stripping"

View file

@ -4,6 +4,12 @@ CP = cp
CFLAGS = -O2 -Wall -std=gnu99 $(ARCH_OPT)
PROXYFILES = proxy init.sh $(shell find ../usr/tests ../usr/benchmarks ../usr/openmpbench -type f -executable)
prefix = @prefix@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_DATA = @INSTALL_DATA@
# Prettify output
V = 0
ifeq ($V,0)
@ -26,6 +32,12 @@ clean:
@echo Cleaning tools
$Q$(RM) -rf *.o *~ *.bin *.obj
install: proxy
@echo Install tools
$Q$(INSTALL_PROGRAM) -d $(prefix)/bin
$Q$(INSTALL_PROGRAM) proxy $(prefix)/bin
$Q$(INSTALL_DATA) ../arch/x86/loader/ldhermit.elf $(prefix)/bin
veryclean: clean
depend:

View file

@ -307,7 +307,7 @@ static int init_qemu(char *path)
exit(1);
}
str = strstr(loader_path, "proxy");
strncpy(str, "../arch/x86/loader/ldhermit.elf", MAX_PATH-strlen(loader_path)+5);
strncpy(str, "ldhermit.elf", MAX_PATH-strlen(loader_path)+5);
str = getenv("HERMIT_APP_PORT");
if (str)

View file

@ -6,6 +6,12 @@ C_source = $(wildcard *.c)
NAME = libircce.a
OBJS = $(C_source:.c=.o)
prefix = @prefix@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_DATA = @INSTALL_DATA@
#
# Prettify output
V = 0
@ -27,8 +33,13 @@ $(NAME): $(OBJS)
$Q$(AR_FOR_TARGET) $(ARFLAGS_FOR_TARGET) $@ $(OBJS)
install:
$Q$(CP) $(NAME) $(PREFIX)/$(CROSSPREFIX)/lib
$Q$(CP) *.h $(PREFIX)/$(CROSSPREFIX)/include
$Q$(INSTALL_DATA) $(NAME) $(prefix)/$(CROSSPREFIX)/lib
$Q$(INSTALL_DATA) iRCCE.h $(prefix)/$(CROSSPREFIX)/include
$Q$(INSTALL_DATA) iRCCE_lib.h $(prefix)/$(CROSSPREFIX)/include
$Q$(INSTALL_DATA) RCCE_debug.h $(prefix)/$(CROSSPREFIX)/include
$Q$(INSTALL_DATA) RCCE.h $(prefix)/$(CROSSPREFIX)/include
$Q$(INSTALL_DATA) RCCE_lib.h $(prefix)/$(CROSSPREFIX)/include
$Q$(INSTALL_DATA) rte_memcpy.h $(prefix)/$(CROSSPREFIX)/include
clean:
@echo Cleaning examples

@ -1 +1 @@
Subproject commit b686c65c3234365fd4c610be74ece5c3a5195658
Subproject commit e7ea3a270fc09f771596c02869344a362c8c5439

View file

@ -11,14 +11,19 @@ CFLAGS += ${CFLAGS_FOR_TARGET}
OBJS = xray.o stringpool.o hashtable.o symtable.o demangle.o parsesymbols.o report.o
prefix = @prefix@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_DATA = @INSTALL_DATA@
$(NAME): $(OBJS)
$(AR_FOR_TARGET) rsv $@ $(OBJS)
install: $(NAME)
$(CP) $(NAME) $(PREFIX)/$(CROSSPREFIX)/lib
$(CP) libxray.spec $(PREFIX)/$(CROSSPREFIX)/lib
$(CP) xray.h $(PREFIX)/$(CROSSPREFIX)/include
$(INSTALL_DATA) $(NAME) $(prefix)/$(CROSSPREFIX)/lib
$(INSTALL_DATA) libxray.spec $(prefix)/$(CROSSPREFIX)/lib
$(INSTALL_DATA) xray.h $(prefix)/$(CROSSPREFIX)/include
%.o: %.c
@echo [CC] $@