Changes in / [c2a6983:39bcc99] in mainline
- Files:
-
- 3 added
- 10 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
HelenOS.config
rc2a6983 r39bcc99 291 291 @ "gcc_cross" GNU C Compiler (cross-compiler) 292 292 @ "gcc_native" GNU C Compiler (native) 293 @ "gcc_helenos" GNU C Compiler (HelenOS-specific cross-compiler)294 293 @ "icc" Intel C Compiler 295 294 @ "clang" Clang … … 300 299 @ "gcc_native" GNU C Compiler (native) 301 300 @ "icc" Intel C Compiler 302 @ "gcc_helenos" GNU C Compiler (HelenOS-specific cross-compiler)303 301 ! [PLATFORM=ia64] COMPILER (choice) 304 302 … … 306 304 @ "gcc_cross" GNU C Compiler (cross-compiler) 307 305 @ "gcc_native" GNU C Compiler (native) 308 @ "gcc_helenos" GNU C Compiler (HelenOS-specific cross-compiler)309 306 ! [PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32] COMPILER (choice) 310 307 … … 312 309 @ "gcc_cross" GNU C Compiler (cross-compiler) 313 310 @ "gcc_native" GNU C Compiler (native) 314 @ "gcc_helenos" GNU C Compiler (HelenOS-specific cross-compiler)315 311 @ "clang" Clang 316 312 ! [PLATFORM=abs32le|PLATFORM=arm32|PLATFORM=sparc64] COMPILER (choice) … … 323 319 @ "ia32" Intel IA-32 324 320 @ "mips32" MIPS 32-bit 325 ! [PLATFORM=abs32le& (COMPILER=gcc_cross|COMPILER=gcc_helenos)] CROSS_TARGET (choice)321 ! [PLATFORM=abs32le&COMPILER=gcc_cross] CROSS_TARGET (choice) 326 322 327 323 -
boot/Makefile.build
rc2a6983 r39bcc99 75 75 endif 76 76 77 ifeq ($(COMPILER),gcc_helenos)78 CFLAGS = $(GCC_CFLAGS) $(EXTRA_CFLAGS)79 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)80 endif81 82 83 77 ifeq ($(COMPILER),icc) 84 78 CFLAGS = $(ICC_CFLAGS) $(EXTRA_CFLAGS) -
kernel/Makefile
rc2a6983 r39bcc99 167 167 168 168 ifeq ($(COMPILER),gcc_cross) 169 CFLAGS = $(GCC_CFLAGS)170 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)171 INSTRUMENTATION = -finstrument-functions172 endif173 174 ifeq ($(COMPILER),gcc_helenos)175 169 CFLAGS = $(GCC_CFLAGS) 176 170 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) -
tools/autotool.py
rc2a6983 r39bcc99 186 186 gnu_target = None 187 187 clang_target = None 188 helenos_target = None189 188 cc_args = [] 190 189 … … 196 195 gnu_target = "arm-linux-gnueabi" 197 196 clang_target = "arm-unknown-linux" 198 helenos_target = "arm-helenos-gnueabi"199 197 200 198 if (config['CROSS_TARGET'] == "ia32"): 201 199 gnu_target = "i686-pc-linux-gnu" 202 200 clang_target = "i386-unknown-linux" 203 helenos_target = "i686-pc-helenos"204 201 205 202 if (config['CROSS_TARGET'] == "mips32"): 206 203 gnu_target = "mipsel-linux-gnu" 207 204 clang_target = "mipsel-unknown-linux" 208 helenos_target = "mipsel-helenos"209 205 common['CC_ARGS'].append("-mabi=32") 210 206 … … 213 209 gnu_target = "amd64-linux-gnu" 214 210 clang_target = "x86_64-unknown-linux" 215 helenos_target = "amd64-helenos"216 211 217 212 if (config['PLATFORM'] == "arm32"): … … 219 214 gnu_target = "arm-linux-gnueabi" 220 215 clang_target = "arm-unknown-linux" 221 helenos_target = "arm-helenos-gnueabi"222 216 223 217 if (config['PLATFORM'] == "ia32"): … … 225 219 gnu_target = "i686-pc-linux-gnu" 226 220 clang_target = "i386-unknown-linux" 227 helenos_target = "i686-pc-helenos"228 221 229 222 if (config['PLATFORM'] == "ia64"): 230 223 target = config['PLATFORM'] 231 224 gnu_target = "ia64-pc-linux-gnu" 232 helenos_target = "ia64-pc-helenos"233 225 234 226 if (config['PLATFORM'] == "mips32"): … … 240 232 gnu_target = "mipsel-linux-gnu" 241 233 clang_target = "mipsel-unknown-linux" 242 helenos_target = "mipsel-helenos"243 234 244 235 if ((config['MACHINE'] == "bmalta")): … … 246 237 gnu_target = "mips-linux-gnu" 247 238 clang_target = "mips-unknown-linux" 248 helenos_target = "mips-helenos"249 239 250 240 if (config['PLATFORM'] == "mips64"): … … 256 246 gnu_target = "mips64el-linux-gnu" 257 247 clang_target = "mips64el-unknown-linux" 258 helenos_target = "mips64el-helenos"259 248 260 249 if (config['PLATFORM'] == "ppc32"): … … 262 251 gnu_target = "ppc-linux-gnu" 263 252 clang_target = "powerpc-unknown-linux" 264 helenos_target = "ppc-helenos"265 253 266 254 if (config['PLATFORM'] == "sparc64"): … … 268 256 gnu_target = "sparc64-linux-gnu" 269 257 clang_target = "sparc-unknown-linux" 270 helenos_target = "sparc64-helenos" 271 272 return (target, cc_args, gnu_target, clang_target, helenos_target) 258 259 return (target, cc_args, gnu_target, clang_target) 273 260 274 261 def check_app(args, name, details): … … 710 697 cross_prefix = "/usr/local/cross" 711 698 712 # HelenOS cross-compiler prefix713 if ('CROSS_HELENOS_PREFIX' in os.environ):714 cross_helenos_prefix = os.environ['CROSS_HELENOS_PREFIX']715 else:716 cross_helenos_prefix = "/usr/local/cross-helenos"717 718 699 # Prefix binutils tools on Solaris 719 700 if (os.uname()[0] == "SunOS"): … … 738 719 common['CC_ARGS'] = [] 739 720 if (config['COMPILER'] == "gcc_cross"): 740 target, cc_args, gnu_target, clang_target , helenos_target= get_target(config)721 target, cc_args, gnu_target, clang_target = get_target(config) 741 722 742 723 if (target is None) or (gnu_target is None): … … 746 727 path = "%s/%s/bin" % (cross_prefix, target) 747 728 prefix = "%s-" % gnu_target 748 749 check_gcc(path, prefix, common, PACKAGE_CROSS)750 check_binutils(path, prefix, common, PACKAGE_CROSS)751 752 check_common(common, "GCC")753 common['CC'] = common['GCC']754 common['CC_ARGS'].extend(cc_args)755 756 if (config['COMPILER'] == "gcc_helenos"):757 target, cc_args, gnu_target, clang_target, helenos_target = get_target(config)758 759 if (target is None) or (helenos_target is None):760 print_error(["Unsupported compiler target for GNU GCC.",761 "Please contact the developers of HelenOS."])762 763 path = "%s/%s/bin" % (cross_helenos_prefix, target)764 prefix = "%s-" % helenos_target765 729 766 730 check_gcc(path, prefix, common, PACKAGE_CROSS) -
tools/toolchain.sh
rc2a6983 r39bcc99 55 55 BINUTILS_VERSION="2.23.1" 56 56 BINUTILS_RELEASE="" 57 BINUTILS_PATCHES="toolchain-binutils-2.23.1.patch"58 57 GCC_VERSION="4.8.1" 59 GCC_PATCHES="toolchain-gcc-4.8.1-targets.patch toolchain-gcc-4.8.1-headers.patch"60 58 GDB_VERSION="7.6.1" 61 GDB_PATCHES="toolchain-gdb-7.6.patch"62 59 63 60 BASEDIR="`pwd`" … … 65 62 GCC="gcc-${GCC_VERSION}.tar.bz2" 66 63 GDB="gdb-${GDB_VERSION}.tar.bz2" 67 68 REAL_INSTALL=true69 USE_HELENOS_TARGET=false70 INSTALL_DIR="${BASEDIR}/PKG"71 64 72 65 # … … 142 135 echo 143 136 echo "Syntax:" 144 echo " $0 [--no-install] [--helenos-target]<platform>"137 echo " $0 <platform>" 145 138 echo 146 139 echo "Possible target platforms are:" … … 159 152 echo " 2-way same as 'all', but 2-way parallel" 160 153 echo 161 echo "The toolchain is installed into directory specified by the" 162 echo "CROSS_PREFIX environment variable. If the variable is not" 163 echo "defined, /usr/local/cross/ is used as default." 164 echo 165 echo "If --no-install is present, the toolchain still uses the" 166 echo "CROSS_PREFIX as the target directory but the installation" 167 echo "copies the files into PKG/ subdirectory without affecting" 168 echo "the actual root file system. That is only useful if you do" 169 echo "not want to run the script under the super user." 170 echo 171 echo "The --helenos-target will build HelenOS-specific toolchain" 172 echo "(i.e. it will use *-helenos-* triplet instead of *-linux-*)." 173 echo "This toolchain is installed into /usr/local/cross-helenos by" 174 echo "default. The settings can be changed by setting environment" 175 echo "variable CROSS_HELENOS_PREFIX." 154 echo "The toolchain will be installed to the directory specified by" 155 echo "the CROSS_PREFIX environment variable. If the variable is not" 156 echo "defined, /usr/local/cross will be used by default." 176 157 echo 177 158 … … 311 292 } 312 293 313 patch_sources() {314 PATCH_FILE="$1"315 PATCH_STRIP="$2"316 DESC="$3"317 318 change_title "Patching ${DESC}"319 echo " >>> Patching ${DESC} with ${PATCH_FILE}"320 321 patch -t "-p${PATCH_STRIP}" <"$PATCH_FILE"322 check_error $? "Error patching ${DESC}."323 }324 325 294 prepare() { 326 295 show_dependencies … … 337 306 } 338 307 339 set_target_from_platform() {340 case "$1" in341 "amd64")342 LINUX_TARGET="amd64-linux-gnu"343 HELENOS_TARGET="amd64-helenos"344 ;;345 "arm32")346 LINUX_TARGET="arm-linux-gnueabi"347 HELENOS_TARGET="arm-helenos-gnueabi"348 ;;349 "ia32")350 LINUX_TARGET="i686-pc-linux-gnu"351 HELENOS_TARGET="i686-pc-helenos"352 ;;353 "ia64")354 LINUX_TARGET="ia64-pc-linux-gnu"355 HELENOS_TARGET="ia64-pc-helenos"356 ;;357 "mips32")358 LINUX_TARGET="mipsel-linux-gnu"359 HELENOS_TARGET="mipsel-helenos"360 ;;361 "mips32eb")362 LINUX_TARGET="mips-linux-gnu"363 HELENOS_TARGET="mips-helenos"364 ;;365 "mips64")366 LINUX_TARGET="mips64el-linux-gnu"367 HELENOS_TARGET="mips64el-helenos"368 ;;369 "ppc32")370 LINUX_TARGET="ppc-linux-gnu"371 HELENOS_TARGET="ppc-helenos"372 ;;373 "ppc64")374 LINUX_TARGET="ppc64-linux-gnu"375 HELENOS_TARGET="ppc64-helenos"376 ;;377 "sparc64")378 LINUX_TARGET="sparc64-linux-gnu"379 HELENOS_TARGET="sparc64-helenos"380 ;;381 *)382 check_error 1 "No target known for $1."383 ;;384 esac385 }386 387 308 build_target() { 388 309 PLATFORM="$1" 389 # This sets the *_TARGET variables 390 set_target_from_platform "$PLATFORM" 391 if $USE_HELENOS_TARGET; then 392 TARGET="$HELENOS_TARGET" 393 else 394 TARGET="$LINUX_TARGET" 395 fi 310 TARGET="$2" 396 311 397 312 WORKDIR="${BASEDIR}/${PLATFORM}" … … 404 319 CROSS_PREFIX="/usr/local/cross" 405 320 fi 406 if [ -z "${CROSS_HELENOS_PREFIX}" ] ; then 407 CROSS_HELENOS_PREFIX="/usr/local/cross-helenos" 408 fi 409 410 if $USE_HELENOS_TARGET; then 411 PREFIX="${CROSS_HELENOS_PREFIX}/${PLATFORM}" 412 else 413 PREFIX="${CROSS_PREFIX}/${PLATFORM}" 414 fi 321 322 PREFIX="${CROSS_PREFIX}/${PLATFORM}" 415 323 416 324 echo ">>> Downloading tarballs" … … 420 328 421 329 echo ">>> Removing previous content" 422 $REAL_INSTALL &&cleanup_dir "${PREFIX}"330 cleanup_dir "${PREFIX}" 423 331 cleanup_dir "${WORKDIR}" 424 332 425 $REAL_INSTALL &&create_dir "${PREFIX}" "destination directory"333 create_dir "${PREFIX}" "destination directory" 426 334 create_dir "${OBJDIR}" "GCC object directory" 427 335 … … 436 344 unpack_tarball "${BASEDIR}/${GDB}" "GDB" 437 345 438 echo ">>> Applying patches"439 for p in $BINUTILS_PATCHES; do440 patch_sources "${BASEDIR}/${p}" 0 "binutils"441 done442 for p in $GCC_PATCHES; do443 patch_sources "${BASEDIR}/${p}" 0 "GCC"444 done445 for p in $GDB_PATCHES; do446 patch_sources "${BASEDIR}/${p}" 0 "GDB"447 done448 449 346 echo ">>> Processing binutils (${PLATFORM})" 450 347 cd "${BINUTILSDIR}" … … 452 349 453 350 change_title "binutils: configure (${PLATFORM})" 454 CFLAGS=-Wno-error ./configure \ 455 "--target=${TARGET}" \ 456 "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" \ 457 --disable-nls --disable-werror 351 CFLAGS=-Wno-error ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --disable-nls --disable-werror 458 352 check_error $? "Error configuring binutils." 459 353 460 354 change_title "binutils: make (${PLATFORM})" 461 make all 462 check_error $? "Error compiling binutils." 463 464 change_title "binutils: install (${PLATFORM})" 465 if $REAL_INSTALL; then 466 make install 467 else 468 make install "DESTDIR=${INSTALL_DIR}" 469 fi 470 check_error $? "Error installing binutils." 471 355 make all install 356 check_error $? "Error compiling/installing binutils." 472 357 473 358 echo ">>> Processing GCC (${PLATFORM})" … … 476 361 477 362 change_title "GCC: configure (${PLATFORM})" 478 PATH="$PATH:${INSTALL_DIR}/${PREFIX}/bin" "${GCCDIR}/configure" \ 479 "--target=${TARGET}" \ 480 "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" \ 481 --with-gnu-as --with-gnu-ld --disable-nls --disable-threads \ 482 --enable-languages=c,objc,c++,obj-c++ \ 483 --disable-multilib --disable-libgcj --without-headers \ 484 --disable-shared --enable-lto --disable-werror 363 "${GCCDIR}/configure" "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --with-gnu-as --with-gnu-ld --disable-nls --disable-threads --enable-languages=c,objc,c++,obj-c++ --disable-multilib --disable-libgcj --without-headers --disable-shared --enable-lto --disable-werror 485 364 check_error $? "Error configuring GCC." 486 365 487 366 change_title "GCC: make (${PLATFORM})" 488 PATH="${PATH}:${PREFIX}/bin:${INSTALL_DIR}/${PREFIX}/bin" make all-gcc 489 check_error $? "Error compiling GCC." 490 491 change_title "GCC: install (${PLATFORM})" 492 if $REAL_INSTALL; then 493 PATH="${PATH}:${PREFIX}/bin" make install-gcc 494 else 495 PATH="${PATH}:${INSTALL_DIR}/${PREFIX}/bin" make install-gcc "DESTDIR=${INSTALL_DIR}" 496 fi 497 check_error $? "Error installing GCC." 498 367 PATH="${PATH}:${PREFIX}/bin" make all-gcc install-gcc 368 check_error $? "Error compiling/installing GCC." 499 369 500 370 echo ">>> Processing GDB (${PLATFORM})" … … 503 373 504 374 change_title "GDB: configure (${PLATFORM})" 505 PATH="$PATH:${INSTALL_DIR}/${PREFIX}/bin" ./configure \ 506 "--target=${TARGET}" \ 507 "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" 375 ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" 508 376 check_error $? "Error configuring GDB." 509 377 510 378 change_title "GDB: make (${PLATFORM})" 511 PATH="${PATH}:${PREFIX}/bin:${INSTALL_DIR}/${PREFIX}/bin" make all 512 check_error $? "Error compiling GDB." 513 514 change_title "GDB: make (${PLATFORM})" 515 if $REAL_INSTALL; then 516 PATH="${PATH}:${PREFIX}/bin" make install 517 else 518 PATH="${PATH}:${INSTALL_DIR}/${PREFIX}/bin" make install "DESTDIR=${INSTALL_DIR}" 519 fi 520 check_error $? "Error installing GDB." 521 379 make all install 380 check_error $? "Error compiling/installing GDB." 522 381 523 382 cd "${BASEDIR}" … … 530 389 echo ">>> Cross-compiler for ${TARGET} installed." 531 390 } 532 533 while [ "$#" -gt 1 ]; do534 case "$1" in535 --no-install)536 REAL_INSTALL=false537 shift538 ;;539 --helenos-target)540 USE_HELENOS_TARGET=true541 shift542 ;;543 *)544 show_usage545 ;;546 esac547 done548 391 549 392 if [ "$#" -lt "1" ]; then … … 552 395 553 396 case "$1" in 554 amd64|arm32|ia32|ia64|mips32|mips32eb|mips64|ppc32|ppc64|sparc64) 555 prepare 556 build_target "$1" 397 "amd64") 398 prepare 399 build_target "amd64" "amd64-linux-gnu" 400 ;; 401 "arm32") 402 prepare 403 build_target "arm32" "arm-linux-gnueabi" 404 ;; 405 "ia32") 406 prepare 407 build_target "ia32" "i686-pc-linux-gnu" 408 ;; 409 "ia64") 410 prepare 411 build_target "ia64" "ia64-pc-linux-gnu" 412 ;; 413 "mips32") 414 prepare 415 build_target "mips32" "mipsel-linux-gnu" 416 ;; 417 "mips32eb") 418 prepare 419 build_target "mips32eb" "mips-linux-gnu" 420 ;; 421 "mips64") 422 prepare 423 build_target "mips64" "mips64el-linux-gnu" 424 ;; 425 "ppc32") 426 prepare 427 build_target "ppc32" "ppc-linux-gnu" 428 ;; 429 "ppc64") 430 prepare 431 build_target "ppc64" "ppc64-linux-gnu" 432 ;; 433 "sparc64") 434 prepare 435 build_target "sparc64" "sparc64-linux-gnu" 557 436 ;; 558 437 "all") 559 438 prepare 560 build_target "amd64" 561 build_target "arm32" 562 build_target "ia32" 563 build_target "ia64" 564 build_target "mips32" 565 build_target "mips32eb" 566 build_target "mips64" 567 build_target "ppc32" 568 build_target "ppc64" 569 build_target "sparc64" 439 build_target "amd64" "amd64-linux-gnu" 440 build_target "arm32" "arm-linux-gnueabi" 441 build_target "ia32" "i686-pc-linux-gnu" 442 build_target "ia64" "ia64-pc-linux-gnu" 443 build_target "mips32" "mipsel-linux-gnu" 444 build_target "mips32eb" "mips-linux-gnu" 445 build_target "mips64" "mips64el-linux-gnu" 446 build_target "ppc32" "ppc-linux-gnu" 447 build_target "ppc64" "ppc64-linux-gnu" 448 build_target "sparc64" "sparc64-linux-gnu" 570 449 ;; 571 450 "parallel") 572 451 prepare 573 build_target "amd64" &574 build_target "arm32" &575 build_target "ia32" &576 build_target "ia64" &577 build_target "mips32" &578 build_target "mips32eb" &579 build_target "mips64" &580 build_target "ppc32" &581 build_target "ppc64" &582 build_target "sparc64" &452 build_target "amd64" "amd64-linux-gnu" & 453 build_target "arm32" "arm-linux-gnueabi" & 454 build_target "ia32" "i686-pc-linux-gnu" & 455 build_target "ia64" "ia64-pc-linux-gnu" & 456 build_target "mips32" "mipsel-linux-gnu" & 457 build_target "mips32eb" "mips-linux-gnu" & 458 build_target "mips64" "mips64el-linux-gnu" & 459 build_target "ppc32" "ppc-linux-gnu" & 460 build_target "ppc64" "ppc64-linux-gnu" & 461 build_target "sparc64" "sparc64-linux-gnu" & 583 462 wait 584 463 ;; 585 464 "2-way") 586 465 prepare 587 build_target "amd64" &588 build_target "arm32" &589 wait 590 591 build_target "ia32" &592 build_target "ia64" &593 wait 594 595 build_target "mips32" &596 build_target "mips32eb" &597 wait 598 599 build_target "mips64" &600 build_target "ppc32" &601 wait 602 603 build_target "ppc64" &604 build_target "sparc64" &466 build_target "amd64" "amd64-linux-gnu" & 467 build_target "arm32" "arm-linux-gnueabi" & 468 wait 469 470 build_target "ia32" "i686-pc-linux-gnu" & 471 build_target "ia64" "ia64-pc-linux-gnu" & 472 wait 473 474 build_target "mips32" "mipsel-linux-gnu" & 475 build_target "mips32eb" "mips-linux-gnu" & 476 wait 477 478 build_target "mips64" "mips64el-linux-gnu" & 479 build_target "ppc32" "ppc-linux-gnu" & 480 wait 481 482 build_target "ppc64" "ppc64-linux-gnu" & 483 build_target "sparc64" "sparc64-linux-gnu" & 605 484 wait 606 485 ;; -
uspace/Makefile.common
rc2a6983 r39bcc99 248 248 endif 249 249 250 ifeq ($(COMPILER),gcc_helenos)251 CFLAGS += $(GCC_CFLAGS) $(EXTRA_CFLAGS)252 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)253 endif254 255 250 ifeq ($(COMPILER),gcc_native) 256 251 CFLAGS += $(GCC_CFLAGS) $(EXTRA_CFLAGS) -
uspace/lib/posix/Makefile
rc2a6983 r39bcc99 42 42 FIXED_C_LIBRARY = libc4posix.a 43 43 44 REDEFS_HIDE_LIBC = redefs-hide-libc -symbols.list45 REDEFS_SHOW_LIBPOSIX = redefs-show-posix -symbols.list44 REDEFS_HIDE_LIBC = redefs-hide-libc.xargs 45 REDEFS_SHOW_LIBPOSIX = redefs-show-posix.xargs 46 46 COLLISIONS_LIST = collisions.list 47 47 … … 61 61 source/locale.c \ 62 62 source/math.c \ 63 source/pthread/condvar.c \64 source/pthread/keys.c \65 source/pthread/mutex.c \66 source/pthread/threads.c \67 63 source/pwd.c \ 68 64 source/signal.c \ … … 85 81 86 82 $(FIXED_C_LIBRARY): $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX) 87 $(OBJCOPY) --redefine-syms=$(REDEFS_HIDE_LIBC) $(LIBC_FILE) $@ 88 $(OBJCOPY) --redefine-syms=$(REDEFS_SHOW_LIBPOSIX) $@ $@ 83 ./tools/transform-symbols.sh \ 84 $(OBJCOPY) $(AR) echo \ 85 $(LIBC_FILE) $@ \ 86 $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX) 89 87 90 88 $(FIXED_POSIX_LIBRARY): $(LIBRARY).a $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX) 91 $(OBJCOPY) --redefine-syms=$(REDEFS_HIDE_LIBC) $(LIBRARY).a $@ 92 $(OBJCOPY) --redefine-syms=$(REDEFS_SHOW_LIBPOSIX) $@ $@ 89 ./tools/transform-symbols.sh \ 90 $(OBJCOPY) $(AR) echo \ 91 $(LIBRARY).a $@ \ 92 $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX) 93 93 94 94 $(REDEFS_HIDE_LIBC): $(COLLISIONS_LIST) 95 sed 's/.*/& __helenos_libc_&/'<$(COLLISIONS_LIST) >$@96 95 ./tools/create-redefines.sh "" "__helenos_libc_" <$(COLLISIONS_LIST) >$@ 96 97 97 $(REDEFS_SHOW_LIBPOSIX): $(COLLISIONS_LIST) 98 sed 's/.*/posix_& &/'<$(COLLISIONS_LIST) >$@98 ./tools/create-redefines.sh "posix_" "" <$(COLLISIONS_LIST) >$@ 99 99 100 100 $(COLLISIONS_LIST): 101 find ./include/posix -name '*.h' -exec \ 102 sed -n -e '/^#/d' -e 's/__POSIX_DEF__/\n&/gp' {} \; | \ 103 sed -n -e 's/__POSIX_DEF__(\([^)]*\)).*/\1/p' | \ 104 sort -u >$@ 101 ./tools/get-collision-list.sh ./include/posix >$@ -
uspace/lib/posix/include/posix/float.h
rc2a6983 r39bcc99 61 61 #undef FLT_RADIX 62 62 #define FLT_RADIX __FLT_RADIX__ 63 #undef FLT_MIN64 #define FLT_MIN __FLT_MIN__65 #undef FLT_MAX66 #define FLT_MAX __FLT_MAX__67 #undef FLT_EPSILON68 #define FLT_EPSILON __FLT_EPSILON__69 #undef FLT_MANT_DIG70 #define FLT_MANT_DIG __FLT_MANT_DIG__71 #undef LDBL_MANT_DIG72 #define LDBL_MANT_DIG __LDBL_MANT_DIG__73 63 #else 74 64 /* For something else than GCC, following definitions are provided. -
uspace/lib/posix/include/posix/stdint.h
rc2a6983 r39bcc99 108 108 109 109 110 /*111 * Fast* and least* integer types.112 *113 * The definitions below are definitely safe if not the best.114 */115 typedef uint8_t uint_least8_t;116 typedef uint16_t uint_least16_t;117 typedef uint32_t uint_least32_t;118 typedef uint64_t uint_least64_t;119 120 typedef int8_t int_least8_t;121 typedef int16_t int_least16_t;122 typedef int32_t int_least32_t;123 typedef int64_t int_least64_t;124 125 typedef uint8_t uint_fast8_t;126 typedef uint16_t uint_fast16_t;127 typedef uint32_t uint_fast32_t;128 typedef uint64_t uint_fast64_t;129 130 typedef int8_t int_fast8_t;131 typedef int16_t int_fast16_t;132 typedef int32_t int_fast32_t;133 typedef int64_t int_fast64_t;134 135 110 #endif /* POSIX_STDINT_H_ */ 136 111 -
uspace/lib/posix/include/posix/stdio.h
rc2a6983 r39bcc99 123 123 124 124 extern void setvbuf(FILE *, void *, int, size_t); 125 extern void setbuf(FILE *, void *); 125 126 126 127 127 /* POSIX specific stuff. */ -
uspace/lib/posix/include/posix/time.h
rc2a6983 r39bcc99 104 104 extern char *__POSIX_DEF__(ctime_r)(const time_t *timer, char *buf); 105 105 extern char *__POSIX_DEF__(ctime)(const time_t *timer); 106 extern time_t time(time_t *t);107 106 108 107 /* Clocks */ -
uspace/lib/posix/source/internal/common.h
rc2a6983 r39bcc99 39 39 #include <stdlib.h> 40 40 41 #define not_implemented() do { \ 42 static int __not_implemented_counter = 0; \ 43 if (__not_implemented_counter == 0) { \ 44 fprintf(stderr, "%s() not implemented in %s:%d, something will NOT work.\n", \ 45 __func__, __FILE__, __LINE__); \ 46 } \ 47 __not_implemented_counter++; \ 48 } while (0) 41 #define not_implemented() (fprintf(stderr, \ 42 "Function %s() in file %s at line %d is not implemented\n", \ 43 __func__, __FILE__, __LINE__), abort()) 49 44 50 45 /* A little helper macro to avoid typing this over and over. */ -
uspace/lib/posix/source/math.c
rc2a6983 r39bcc99 49 49 // TODO: low priority, just a compile-time dependency of binutils 50 50 not_implemented(); 51 return 0.0;52 51 } 53 52 … … 62 61 // TODO: low priority, just a compile-time dependency of binutils 63 62 not_implemented(); 64 return 0.0;65 63 } 66 64 … … 74 72 // TODO: Python dependency 75 73 not_implemented(); 76 return 0.0;77 74 } 78 75 … … 87 84 // TODO: Python dependency 88 85 not_implemented(); 89 return 0.0;90 86 } 91 87 … … 99 95 // TODO: Python dependency 100 96 not_implemented(); 101 return 0.0;102 97 } 103 98 … … 111 106 // TODO: Python dependency 112 107 not_implemented(); 113 return 0.0;114 108 } 115 109 … … 124 118 // TODO: Python dependency 125 119 not_implemented(); 126 return 0.0;127 120 } 128 121 … … 137 130 // TODO: Python dependency 138 131 not_implemented(); 139 return 0.0;140 132 } 141 133 … … 149 141 // TODO: Python dependency 150 142 not_implemented(); 151 return 0.0;152 143 } 153 144 … … 162 153 // TODO: Python dependency 163 154 not_implemented(); 164 return 0.0;165 155 } 166 156 … … 174 164 // TODO: Python dependency 175 165 not_implemented(); 176 return 0.0;177 166 } 178 167 … … 186 175 // TODO: Python dependency 187 176 not_implemented(); 188 return 0.0;189 177 } 190 178 … … 198 186 // TODO: Python dependency 199 187 not_implemented(); 200 return 0.0;201 188 } 202 189 -
uspace/lib/posix/source/stdlib.c
rc2a6983 r39bcc99 63 63 // TODO: low priority, just a compile-time dependency of binutils 64 64 not_implemented(); 65 return 0;65 return 1; 66 66 } 67 67 -
uspace/lib/posix/source/unistd.c
rc2a6983 r39bcc99 389 389 // TODO: low priority, just a compile-time dependency of binutils 390 390 not_implemented(); 391 return -1;392 391 } 393 392 … … 400 399 // TODO: low priority, just a compile-time dependency of binutils 401 400 not_implemented(); 402 return -1;403 401 } 404 402 … … 413 411 // TODO: low priority, just a compile-time dependency of binutils 414 412 not_implemented(); 415 return -1;416 413 } 417 414 … … 426 423 // TODO: low priority, just a compile-time dependency of binutils 427 424 not_implemented(); 428 return -1;429 425 } 430 426 … … 438 434 // TODO: low priority, just a compile-time dependency of binutils 439 435 not_implemented(); 440 return -1;441 436 } 442 437
Note:
See TracChangeset
for help on using the changeset viewer.