Changes in / [39bcc99:c2a6983] in mainline
- Files:
-
- 10 added
- 3 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
HelenOS.config
r39bcc99 rc2a6983 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) 293 294 @ "icc" Intel C Compiler 294 295 @ "clang" Clang … … 299 300 @ "gcc_native" GNU C Compiler (native) 300 301 @ "icc" Intel C Compiler 302 @ "gcc_helenos" GNU C Compiler (HelenOS-specific cross-compiler) 301 303 ! [PLATFORM=ia64] COMPILER (choice) 302 304 … … 304 306 @ "gcc_cross" GNU C Compiler (cross-compiler) 305 307 @ "gcc_native" GNU C Compiler (native) 308 @ "gcc_helenos" GNU C Compiler (HelenOS-specific cross-compiler) 306 309 ! [PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32] COMPILER (choice) 307 310 … … 309 312 @ "gcc_cross" GNU C Compiler (cross-compiler) 310 313 @ "gcc_native" GNU C Compiler (native) 314 @ "gcc_helenos" GNU C Compiler (HelenOS-specific cross-compiler) 311 315 @ "clang" Clang 312 316 ! [PLATFORM=abs32le|PLATFORM=arm32|PLATFORM=sparc64] COMPILER (choice) … … 319 323 @ "ia32" Intel IA-32 320 324 @ "mips32" MIPS 32-bit 321 ! [PLATFORM=abs32le& COMPILER=gcc_cross] CROSS_TARGET (choice)325 ! [PLATFORM=abs32le&(COMPILER=gcc_cross|COMPILER=gcc_helenos)] CROSS_TARGET (choice) 322 326 323 327 -
boot/Makefile.build
r39bcc99 rc2a6983 75 75 endif 76 76 77 ifeq ($(COMPILER),gcc_helenos) 78 CFLAGS = $(GCC_CFLAGS) $(EXTRA_CFLAGS) 79 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 80 endif 81 82 77 83 ifeq ($(COMPILER),icc) 78 84 CFLAGS = $(ICC_CFLAGS) $(EXTRA_CFLAGS) -
kernel/Makefile
r39bcc99 rc2a6983 167 167 168 168 ifeq ($(COMPILER),gcc_cross) 169 CFLAGS = $(GCC_CFLAGS) 170 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 171 INSTRUMENTATION = -finstrument-functions 172 endif 173 174 ifeq ($(COMPILER),gcc_helenos) 169 175 CFLAGS = $(GCC_CFLAGS) 170 176 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) -
tools/autotool.py
r39bcc99 rc2a6983 186 186 gnu_target = None 187 187 clang_target = None 188 helenos_target = None 188 189 cc_args = [] 189 190 … … 195 196 gnu_target = "arm-linux-gnueabi" 196 197 clang_target = "arm-unknown-linux" 198 helenos_target = "arm-helenos-gnueabi" 197 199 198 200 if (config['CROSS_TARGET'] == "ia32"): 199 201 gnu_target = "i686-pc-linux-gnu" 200 202 clang_target = "i386-unknown-linux" 203 helenos_target = "i686-pc-helenos" 201 204 202 205 if (config['CROSS_TARGET'] == "mips32"): 203 206 gnu_target = "mipsel-linux-gnu" 204 207 clang_target = "mipsel-unknown-linux" 208 helenos_target = "mipsel-helenos" 205 209 common['CC_ARGS'].append("-mabi=32") 206 210 … … 209 213 gnu_target = "amd64-linux-gnu" 210 214 clang_target = "x86_64-unknown-linux" 215 helenos_target = "amd64-helenos" 211 216 212 217 if (config['PLATFORM'] == "arm32"): … … 214 219 gnu_target = "arm-linux-gnueabi" 215 220 clang_target = "arm-unknown-linux" 221 helenos_target = "arm-helenos-gnueabi" 216 222 217 223 if (config['PLATFORM'] == "ia32"): … … 219 225 gnu_target = "i686-pc-linux-gnu" 220 226 clang_target = "i386-unknown-linux" 227 helenos_target = "i686-pc-helenos" 221 228 222 229 if (config['PLATFORM'] == "ia64"): 223 230 target = config['PLATFORM'] 224 231 gnu_target = "ia64-pc-linux-gnu" 232 helenos_target = "ia64-pc-helenos" 225 233 226 234 if (config['PLATFORM'] == "mips32"): … … 232 240 gnu_target = "mipsel-linux-gnu" 233 241 clang_target = "mipsel-unknown-linux" 242 helenos_target = "mipsel-helenos" 234 243 235 244 if ((config['MACHINE'] == "bmalta")): … … 237 246 gnu_target = "mips-linux-gnu" 238 247 clang_target = "mips-unknown-linux" 248 helenos_target = "mips-helenos" 239 249 240 250 if (config['PLATFORM'] == "mips64"): … … 246 256 gnu_target = "mips64el-linux-gnu" 247 257 clang_target = "mips64el-unknown-linux" 258 helenos_target = "mips64el-helenos" 248 259 249 260 if (config['PLATFORM'] == "ppc32"): … … 251 262 gnu_target = "ppc-linux-gnu" 252 263 clang_target = "powerpc-unknown-linux" 264 helenos_target = "ppc-helenos" 253 265 254 266 if (config['PLATFORM'] == "sparc64"): … … 256 268 gnu_target = "sparc64-linux-gnu" 257 269 clang_target = "sparc-unknown-linux" 258 259 return (target, cc_args, gnu_target, clang_target) 270 helenos_target = "sparc64-helenos" 271 272 return (target, cc_args, gnu_target, clang_target, helenos_target) 260 273 261 274 def check_app(args, name, details): … … 697 710 cross_prefix = "/usr/local/cross" 698 711 712 # HelenOS cross-compiler prefix 713 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 699 718 # Prefix binutils tools on Solaris 700 719 if (os.uname()[0] == "SunOS"): … … 719 738 common['CC_ARGS'] = [] 720 739 if (config['COMPILER'] == "gcc_cross"): 721 target, cc_args, gnu_target, clang_target = get_target(config)740 target, cc_args, gnu_target, clang_target, helenos_target = get_target(config) 722 741 723 742 if (target is None) or (gnu_target is None): … … 727 746 path = "%s/%s/bin" % (cross_prefix, target) 728 747 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_target 729 765 730 766 check_gcc(path, prefix, common, PACKAGE_CROSS) -
tools/toolchain.sh
r39bcc99 rc2a6983 55 55 BINUTILS_VERSION="2.23.1" 56 56 BINUTILS_RELEASE="" 57 BINUTILS_PATCHES="toolchain-binutils-2.23.1.patch" 57 58 GCC_VERSION="4.8.1" 59 GCC_PATCHES="toolchain-gcc-4.8.1-targets.patch toolchain-gcc-4.8.1-headers.patch" 58 60 GDB_VERSION="7.6.1" 61 GDB_PATCHES="toolchain-gdb-7.6.patch" 59 62 60 63 BASEDIR="`pwd`" … … 62 65 GCC="gcc-${GCC_VERSION}.tar.bz2" 63 66 GDB="gdb-${GDB_VERSION}.tar.bz2" 67 68 REAL_INSTALL=true 69 USE_HELENOS_TARGET=false 70 INSTALL_DIR="${BASEDIR}/PKG" 64 71 65 72 # … … 135 142 echo 136 143 echo "Syntax:" 137 echo " $0 <platform>"144 echo " $0 [--no-install] [--helenos-target] <platform>" 138 145 echo 139 146 echo "Possible target platforms are:" … … 152 159 echo " 2-way same as 'all', but 2-way parallel" 153 160 echo 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." 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." 157 176 echo 158 177 … … 292 311 } 293 312 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 294 325 prepare() { 295 326 show_dependencies … … 306 337 } 307 338 339 set_target_from_platform() { 340 case "$1" in 341 "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 esac 385 } 386 308 387 build_target() { 309 388 PLATFORM="$1" 310 TARGET="$2" 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 311 396 312 397 WORKDIR="${BASEDIR}/${PLATFORM}" … … 319 404 CROSS_PREFIX="/usr/local/cross" 320 405 fi 321 322 PREFIX="${CROSS_PREFIX}/${PLATFORM}" 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 323 415 324 416 echo ">>> Downloading tarballs" … … 328 420 329 421 echo ">>> Removing previous content" 330 cleanup_dir "${PREFIX}"422 $REAL_INSTALL && cleanup_dir "${PREFIX}" 331 423 cleanup_dir "${WORKDIR}" 332 424 333 create_dir "${PREFIX}" "destination directory"425 $REAL_INSTALL && create_dir "${PREFIX}" "destination directory" 334 426 create_dir "${OBJDIR}" "GCC object directory" 335 427 … … 344 436 unpack_tarball "${BASEDIR}/${GDB}" "GDB" 345 437 438 echo ">>> Applying patches" 439 for p in $BINUTILS_PATCHES; do 440 patch_sources "${BASEDIR}/${p}" 0 "binutils" 441 done 442 for p in $GCC_PATCHES; do 443 patch_sources "${BASEDIR}/${p}" 0 "GCC" 444 done 445 for p in $GDB_PATCHES; do 446 patch_sources "${BASEDIR}/${p}" 0 "GDB" 447 done 448 346 449 echo ">>> Processing binutils (${PLATFORM})" 347 450 cd "${BINUTILSDIR}" … … 349 452 350 453 change_title "binutils: configure (${PLATFORM})" 351 CFLAGS=-Wno-error ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --disable-nls --disable-werror 454 CFLAGS=-Wno-error ./configure \ 455 "--target=${TARGET}" \ 456 "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" \ 457 --disable-nls --disable-werror 352 458 check_error $? "Error configuring binutils." 353 459 354 460 change_title "binutils: make (${PLATFORM})" 355 make all install 356 check_error $? "Error compiling/installing binutils." 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 357 472 358 473 echo ">>> Processing GCC (${PLATFORM})" … … 361 476 362 477 change_title "GCC: configure (${PLATFORM})" 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 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 364 485 check_error $? "Error configuring GCC." 365 486 366 487 change_title "GCC: make (${PLATFORM})" 367 PATH="${PATH}:${PREFIX}/bin" make all-gcc install-gcc 368 check_error $? "Error compiling/installing GCC." 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 369 499 370 500 echo ">>> Processing GDB (${PLATFORM})" … … 373 503 374 504 change_title "GDB: configure (${PLATFORM})" 375 ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" 505 PATH="$PATH:${INSTALL_DIR}/${PREFIX}/bin" ./configure \ 506 "--target=${TARGET}" \ 507 "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" 376 508 check_error $? "Error configuring GDB." 377 509 378 510 change_title "GDB: make (${PLATFORM})" 379 make all install 380 check_error $? "Error compiling/installing GDB." 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 381 522 382 523 cd "${BASEDIR}" … … 389 530 echo ">>> Cross-compiler for ${TARGET} installed." 390 531 } 532 533 while [ "$#" -gt 1 ]; do 534 case "$1" in 535 --no-install) 536 REAL_INSTALL=false 537 shift 538 ;; 539 --helenos-target) 540 USE_HELENOS_TARGET=true 541 shift 542 ;; 543 *) 544 show_usage 545 ;; 546 esac 547 done 391 548 392 549 if [ "$#" -lt "1" ]; then … … 395 552 396 553 case "$1" in 397 "amd64")554 amd64|arm32|ia32|ia64|mips32|mips32eb|mips64|ppc32|ppc64|sparc64) 398 555 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" 556 build_target "$1" 436 557 ;; 437 558 "all") 438 559 prepare 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"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" 449 570 ;; 450 571 "parallel") 451 572 prepare 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"&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" & 462 583 wait 463 584 ;; 464 585 "2-way") 465 586 prepare 466 build_target "amd64" "amd64-linux-gnu"&467 build_target "arm32" "arm-linux-gnueabi"&587 build_target "amd64" & 588 build_target "arm32" & 468 589 wait 469 590 470 build_target "ia32" "i686-pc-linux-gnu"&471 build_target "ia64" "ia64-pc-linux-gnu"&591 build_target "ia32" & 592 build_target "ia64" & 472 593 wait 473 594 474 build_target "mips32" "mipsel-linux-gnu"&475 build_target "mips32eb" "mips-linux-gnu"&595 build_target "mips32" & 596 build_target "mips32eb" & 476 597 wait 477 598 478 build_target "mips64" "mips64el-linux-gnu"&479 build_target "ppc32" "ppc-linux-gnu"&599 build_target "mips64" & 600 build_target "ppc32" & 480 601 wait 481 602 482 build_target "ppc64" "ppc64-linux-gnu"&483 build_target "sparc64" "sparc64-linux-gnu"&603 build_target "ppc64" & 604 build_target "sparc64" & 484 605 wait 485 606 ;; -
uspace/Makefile.common
r39bcc99 rc2a6983 248 248 endif 249 249 250 ifeq ($(COMPILER),gcc_helenos) 251 CFLAGS += $(GCC_CFLAGS) $(EXTRA_CFLAGS) 252 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 253 endif 254 250 255 ifeq ($(COMPILER),gcc_native) 251 256 CFLAGS += $(GCC_CFLAGS) $(EXTRA_CFLAGS) -
uspace/lib/posix/Makefile
r39bcc99 rc2a6983 42 42 FIXED_C_LIBRARY = libc4posix.a 43 43 44 REDEFS_HIDE_LIBC = redefs-hide-libc .xargs45 REDEFS_SHOW_LIBPOSIX = redefs-show-posix .xargs44 REDEFS_HIDE_LIBC = redefs-hide-libc-symbols.list 45 REDEFS_SHOW_LIBPOSIX = redefs-show-posix-symbols.list 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 \ 63 67 source/pwd.c \ 64 68 source/signal.c \ … … 81 85 82 86 $(FIXED_C_LIBRARY): $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX) 83 ./tools/transform-symbols.sh \ 84 $(OBJCOPY) $(AR) echo \ 85 $(LIBC_FILE) $@ \ 86 $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX) 87 $(OBJCOPY) --redefine-syms=$(REDEFS_HIDE_LIBC) $(LIBC_FILE) $@ 88 $(OBJCOPY) --redefine-syms=$(REDEFS_SHOW_LIBPOSIX) $@ $@ 87 89 88 90 $(FIXED_POSIX_LIBRARY): $(LIBRARY).a $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX) 89 ./tools/transform-symbols.sh \ 90 $(OBJCOPY) $(AR) echo \ 91 $(LIBRARY).a $@ \ 92 $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX) 91 $(OBJCOPY) --redefine-syms=$(REDEFS_HIDE_LIBC) $(LIBRARY).a $@ 92 $(OBJCOPY) --redefine-syms=$(REDEFS_SHOW_LIBPOSIX) $@ $@ 93 93 94 94 $(REDEFS_HIDE_LIBC): $(COLLISIONS_LIST) 95 ./tools/create-redefines.sh "" "__helenos_libc_"<$(COLLISIONS_LIST) >$@96 95 sed 's/.*/& __helenos_libc_&/' <$(COLLISIONS_LIST) >$@ 96 97 97 $(REDEFS_SHOW_LIBPOSIX): $(COLLISIONS_LIST) 98 ./tools/create-redefines.sh "posix_" ""<$(COLLISIONS_LIST) >$@98 sed 's/.*/posix_& &/' <$(COLLISIONS_LIST) >$@ 99 99 100 100 $(COLLISIONS_LIST): 101 ./tools/get-collision-list.sh ./include/posix >$@ 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 >$@ -
uspace/lib/posix/include/posix/float.h
r39bcc99 rc2a6983 61 61 #undef FLT_RADIX 62 62 #define FLT_RADIX __FLT_RADIX__ 63 #undef FLT_MIN 64 #define FLT_MIN __FLT_MIN__ 65 #undef FLT_MAX 66 #define FLT_MAX __FLT_MAX__ 67 #undef FLT_EPSILON 68 #define FLT_EPSILON __FLT_EPSILON__ 69 #undef FLT_MANT_DIG 70 #define FLT_MANT_DIG __FLT_MANT_DIG__ 71 #undef LDBL_MANT_DIG 72 #define LDBL_MANT_DIG __LDBL_MANT_DIG__ 63 73 #else 64 74 /* For something else than GCC, following definitions are provided. -
uspace/lib/posix/include/posix/stdint.h
r39bcc99 rc2a6983 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 110 135 #endif /* POSIX_STDINT_H_ */ 111 136 -
uspace/lib/posix/include/posix/stdio.h
r39bcc99 rc2a6983 123 123 124 124 extern void setvbuf(FILE *, void *, int, size_t); 125 125 extern void setbuf(FILE *, void *); 126 126 127 127 /* POSIX specific stuff. */ -
uspace/lib/posix/include/posix/time.h
r39bcc99 rc2a6983 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); 106 107 107 108 /* Clocks */ -
uspace/lib/posix/source/internal/common.h
r39bcc99 rc2a6983 39 39 #include <stdlib.h> 40 40 41 #define not_implemented() (fprintf(stderr, \ 42 "Function %s() in file %s at line %d is not implemented\n", \ 43 __func__, __FILE__, __LINE__), abort()) 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) 44 49 45 50 /* A little helper macro to avoid typing this over and over. */ -
uspace/lib/posix/source/math.c
r39bcc99 rc2a6983 49 49 // TODO: low priority, just a compile-time dependency of binutils 50 50 not_implemented(); 51 return 0.0; 51 52 } 52 53 … … 61 62 // TODO: low priority, just a compile-time dependency of binutils 62 63 not_implemented(); 64 return 0.0; 63 65 } 64 66 … … 72 74 // TODO: Python dependency 73 75 not_implemented(); 76 return 0.0; 74 77 } 75 78 … … 84 87 // TODO: Python dependency 85 88 not_implemented(); 89 return 0.0; 86 90 } 87 91 … … 95 99 // TODO: Python dependency 96 100 not_implemented(); 101 return 0.0; 97 102 } 98 103 … … 106 111 // TODO: Python dependency 107 112 not_implemented(); 113 return 0.0; 108 114 } 109 115 … … 118 124 // TODO: Python dependency 119 125 not_implemented(); 126 return 0.0; 120 127 } 121 128 … … 130 137 // TODO: Python dependency 131 138 not_implemented(); 139 return 0.0; 132 140 } 133 141 … … 141 149 // TODO: Python dependency 142 150 not_implemented(); 151 return 0.0; 143 152 } 144 153 … … 153 162 // TODO: Python dependency 154 163 not_implemented(); 164 return 0.0; 155 165 } 156 166 … … 164 174 // TODO: Python dependency 165 175 not_implemented(); 176 return 0.0; 166 177 } 167 178 … … 175 186 // TODO: Python dependency 176 187 not_implemented(); 188 return 0.0; 177 189 } 178 190 … … 186 198 // TODO: Python dependency 187 199 not_implemented(); 200 return 0.0; 188 201 } 189 202 -
uspace/lib/posix/source/stdlib.c
r39bcc99 rc2a6983 63 63 // TODO: low priority, just a compile-time dependency of binutils 64 64 not_implemented(); 65 return 1;65 return 0; 66 66 } 67 67 -
uspace/lib/posix/source/unistd.c
r39bcc99 rc2a6983 389 389 // TODO: low priority, just a compile-time dependency of binutils 390 390 not_implemented(); 391 return -1; 391 392 } 392 393 … … 399 400 // TODO: low priority, just a compile-time dependency of binutils 400 401 not_implemented(); 402 return -1; 401 403 } 402 404 … … 411 413 // TODO: low priority, just a compile-time dependency of binutils 412 414 not_implemented(); 415 return -1; 413 416 } 414 417 … … 423 426 // TODO: low priority, just a compile-time dependency of binutils 424 427 not_implemented(); 428 return -1; 425 429 } 426 430 … … 434 438 // TODO: low priority, just a compile-time dependency of binutils 435 439 not_implemented(); 440 return -1; 436 441 } 437 442
Note:
See TracChangeset
for help on using the changeset viewer.