Changes in / [0c96e6cb:39bcc99] in mainline
- Files:
-
- 3 added
- 10 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
HelenOS.config
r0c96e6cb r39bcc99 291 291 @ "gcc_cross" GNU C Compiler (cross-compiler) 292 292 @ "gcc_native" GNU C Compiler (native) 293 @ "gcc_helenos" GNU C Compiler (experimental 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 (experimental 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 (experimental 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 (experimental 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
r0c96e6cb 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
r0c96e6cb 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
r0c96e6cb 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
r0c96e6cb 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.1.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." 176 echo "Using the HelenOS-specific toolchain is still an experimental" 177 echo "feature that is not fully supported." 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." 178 157 echo 179 158 … … 313 292 } 314 293 315 patch_sources() {316 PATCH_FILE="$1"317 PATCH_STRIP="$2"318 DESC="$3"319 320 change_title "Patching ${DESC}"321 echo " >>> Patching ${DESC} with ${PATCH_FILE}"322 323 patch -t "-p${PATCH_STRIP}" <"$PATCH_FILE"324 check_error $? "Error patching ${DESC}."325 }326 327 294 prepare() { 328 295 show_dependencies … … 339 306 } 340 307 341 set_target_from_platform() {342 case "$1" in343 "amd64")344 LINUX_TARGET="amd64-linux-gnu"345 HELENOS_TARGET="amd64-helenos"346 ;;347 "arm32")348 LINUX_TARGET="arm-linux-gnueabi"349 HELENOS_TARGET="arm-helenos-gnueabi"350 ;;351 "ia32")352 LINUX_TARGET="i686-pc-linux-gnu"353 HELENOS_TARGET="i686-pc-helenos"354 ;;355 "ia64")356 LINUX_TARGET="ia64-pc-linux-gnu"357 HELENOS_TARGET="ia64-pc-helenos"358 ;;359 "mips32")360 LINUX_TARGET="mipsel-linux-gnu"361 HELENOS_TARGET="mipsel-helenos"362 ;;363 "mips32eb")364 LINUX_TARGET="mips-linux-gnu"365 HELENOS_TARGET="mips-helenos"366 ;;367 "mips64")368 LINUX_TARGET="mips64el-linux-gnu"369 HELENOS_TARGET="mips64el-helenos"370 ;;371 "ppc32")372 LINUX_TARGET="ppc-linux-gnu"373 HELENOS_TARGET="ppc-helenos"374 ;;375 "ppc64")376 LINUX_TARGET="ppc64-linux-gnu"377 HELENOS_TARGET="ppc64-helenos"378 ;;379 "sparc64")380 LINUX_TARGET="sparc64-linux-gnu"381 HELENOS_TARGET="sparc64-helenos"382 ;;383 *)384 check_error 1 "No target known for $1."385 ;;386 esac387 }388 389 308 build_target() { 390 309 PLATFORM="$1" 391 # This sets the *_TARGET variables 392 set_target_from_platform "$PLATFORM" 393 if $USE_HELENOS_TARGET; then 394 TARGET="$HELENOS_TARGET" 395 else 396 TARGET="$LINUX_TARGET" 397 fi 310 TARGET="$2" 398 311 399 312 WORKDIR="${BASEDIR}/${PLATFORM}" … … 406 319 CROSS_PREFIX="/usr/local/cross" 407 320 fi 408 if [ -z "${CROSS_HELENOS_PREFIX}" ] ; then 409 CROSS_HELENOS_PREFIX="/usr/local/cross-helenos" 410 fi 411 412 if $USE_HELENOS_TARGET; then 413 PREFIX="${CROSS_HELENOS_PREFIX}/${PLATFORM}" 414 else 415 PREFIX="${CROSS_PREFIX}/${PLATFORM}" 416 fi 321 322 PREFIX="${CROSS_PREFIX}/${PLATFORM}" 417 323 418 324 echo ">>> Downloading tarballs" … … 422 328 423 329 echo ">>> Removing previous content" 424 $REAL_INSTALL &&cleanup_dir "${PREFIX}"330 cleanup_dir "${PREFIX}" 425 331 cleanup_dir "${WORKDIR}" 426 332 427 $REAL_INSTALL &&create_dir "${PREFIX}" "destination directory"333 create_dir "${PREFIX}" "destination directory" 428 334 create_dir "${OBJDIR}" "GCC object directory" 429 335 … … 438 344 unpack_tarball "${BASEDIR}/${GDB}" "GDB" 439 345 440 echo ">>> Applying patches"441 for p in $BINUTILS_PATCHES; do442 patch_sources "${BASEDIR}/${p}" 0 "binutils"443 done444 for p in $GCC_PATCHES; do445 patch_sources "${BASEDIR}/${p}" 0 "GCC"446 done447 for p in $GDB_PATCHES; do448 patch_sources "${BASEDIR}/${p}" 0 "GDB"449 done450 451 346 echo ">>> Processing binutils (${PLATFORM})" 452 347 cd "${BINUTILSDIR}" … … 454 349 455 350 change_title "binutils: configure (${PLATFORM})" 456 CFLAGS=-Wno-error ./configure \ 457 "--target=${TARGET}" \ 458 "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" \ 459 --disable-nls --disable-werror 351 CFLAGS=-Wno-error ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --disable-nls --disable-werror 460 352 check_error $? "Error configuring binutils." 461 353 462 354 change_title "binutils: make (${PLATFORM})" 463 make all 464 check_error $? "Error compiling binutils." 465 466 change_title "binutils: install (${PLATFORM})" 467 if $REAL_INSTALL; then 468 make install 469 else 470 make install "DESTDIR=${INSTALL_DIR}" 471 fi 472 check_error $? "Error installing binutils." 473 355 make all install 356 check_error $? "Error compiling/installing binutils." 474 357 475 358 echo ">>> Processing GCC (${PLATFORM})" … … 478 361 479 362 change_title "GCC: configure (${PLATFORM})" 480 PATH="$PATH:${INSTALL_DIR}/${PREFIX}/bin" "${GCCDIR}/configure" \ 481 "--target=${TARGET}" \ 482 "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" \ 483 --with-gnu-as --with-gnu-ld --disable-nls --disable-threads \ 484 --enable-languages=c,objc,c++,obj-c++ \ 485 --disable-multilib --disable-libgcj --without-headers \ 486 --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 487 364 check_error $? "Error configuring GCC." 488 365 489 366 change_title "GCC: make (${PLATFORM})" 490 PATH="${PATH}:${PREFIX}/bin:${INSTALL_DIR}/${PREFIX}/bin" make all-gcc 491 check_error $? "Error compiling GCC." 492 493 change_title "GCC: install (${PLATFORM})" 494 if $REAL_INSTALL; then 495 PATH="${PATH}:${PREFIX}/bin" make install-gcc 496 else 497 PATH="${PATH}:${INSTALL_DIR}/${PREFIX}/bin" make install-gcc "DESTDIR=${INSTALL_DIR}" 498 fi 499 check_error $? "Error installing GCC." 500 367 PATH="${PATH}:${PREFIX}/bin" make all-gcc install-gcc 368 check_error $? "Error compiling/installing GCC." 501 369 502 370 echo ">>> Processing GDB (${PLATFORM})" … … 505 373 506 374 change_title "GDB: configure (${PLATFORM})" 507 PATH="$PATH:${INSTALL_DIR}/${PREFIX}/bin" ./configure \ 508 "--target=${TARGET}" \ 509 "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" 375 ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" 510 376 check_error $? "Error configuring GDB." 511 377 512 378 change_title "GDB: make (${PLATFORM})" 513 PATH="${PATH}:${PREFIX}/bin:${INSTALL_DIR}/${PREFIX}/bin" make all 514 check_error $? "Error compiling GDB." 515 516 change_title "GDB: make (${PLATFORM})" 517 if $REAL_INSTALL; then 518 PATH="${PATH}:${PREFIX}/bin" make install 519 else 520 PATH="${PATH}:${INSTALL_DIR}/${PREFIX}/bin" make install "DESTDIR=${INSTALL_DIR}" 521 fi 522 check_error $? "Error installing GDB." 523 379 make all install 380 check_error $? "Error compiling/installing GDB." 524 381 525 382 cd "${BASEDIR}" … … 532 389 echo ">>> Cross-compiler for ${TARGET} installed." 533 390 } 534 535 while [ "$#" -gt 1 ]; do536 case "$1" in537 --no-install)538 REAL_INSTALL=false539 shift540 ;;541 --helenos-target)542 USE_HELENOS_TARGET=true543 shift544 ;;545 *)546 show_usage547 ;;548 esac549 done550 391 551 392 if [ "$#" -lt "1" ]; then … … 554 395 555 396 case "$1" in 556 amd64|arm32|ia32|ia64|mips32|mips32eb|mips64|ppc32|ppc64|sparc64) 557 prepare 558 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" 559 436 ;; 560 437 "all") 561 438 prepare 562 build_target "amd64" 563 build_target "arm32" 564 build_target "ia32" 565 build_target "ia64" 566 build_target "mips32" 567 build_target "mips32eb" 568 build_target "mips64" 569 build_target "ppc32" 570 build_target "ppc64" 571 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" 572 449 ;; 573 450 "parallel") 574 451 prepare 575 build_target "amd64" &576 build_target "arm32" &577 build_target "ia32" &578 build_target "ia64" &579 build_target "mips32" &580 build_target "mips32eb" &581 build_target "mips64" &582 build_target "ppc32" &583 build_target "ppc64" &584 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" & 585 462 wait 586 463 ;; 587 464 "2-way") 588 465 prepare 589 build_target "amd64" &590 build_target "arm32" &591 wait 592 593 build_target "ia32" &594 build_target "ia64" &595 wait 596 597 build_target "mips32" &598 build_target "mips32eb" &599 wait 600 601 build_target "mips64" &602 build_target "ppc32" &603 wait 604 605 build_target "ppc64" &606 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" & 607 484 wait 608 485 ;; -
uspace/Makefile.common
r0c96e6cb 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/c/generic/bitops.c
r0c96e6cb r39bcc99 33 33 #include <bitops.h> 34 34 35 int __popcountsi2(int a)35 extern int __popcountsi2(int a) 36 36 { 37 int bits = 0; 38 for (unsigned int i = 0; i < sizeof(a) * 8; i++) { 39 if (((a >> i) & 1) != 0) { 40 bits++; 41 } 42 } 43 return bits; 37 return __builtin_popcount(a); 44 38 } 45 39 -
uspace/lib/posix/Makefile
r0c96e6cb 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
r0c96e6cb 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
r0c96e6cb 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
r0c96e6cb 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
r0c96e6cb 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
r0c96e6cb 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
r0c96e6cb 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
r0c96e6cb 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
r0c96e6cb 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.