Changes in / [d3dd170f:96daa1c] in mainline


Ignore:
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/main/kinit.c

    rd3dd170f r96daa1c  
    8686
    8787#ifdef CONFIG_KCONSOLE
    88 static char alive[ALIVE_CHARS] = "-\\|/";
     88static char alive[ALIVE_CHARS] __attribute__((nonstring)) = "-\\|/";
    8989#endif
    9090
  • tools/toolchain.sh

    rd3dd170f r96daa1c  
    3131BINUTILS_GDB_GIT="https://github.com/HelenOS/binutils-gdb.git"
    3232
    33 BINUTILS_BRANCH="binutils-2_43-helenos"
    34 BINUTILS_VERSION="2.43"
    35 
    36 GDB_BRANCH="gdb-13.2-helenos"
    37 GDB_VERSION="13.2"
     33BINUTILS_BRANCH="binutils-2_45-helenos"
     34BINUTILS_VERSION="2.45"
    3835
    3936GCC_GIT="https://github.com/HelenOS/gcc.git"
    40 GCC_BRANCH="14_2_0-helenos"
    41 GCC_VERSION="14.2"
     37GCC_BRANCH="15_2_0-helenos"
     38GCC_VERSION="15.2"
    4239
    4340BASEDIR="$PWD"
     
    5148SYSTEM_INSTALL=false
    5249
    53 BUILD_GDB=false
    5450BUILD_BINUTILS=true
    5551BUILD_GCC=true
     
    7268        echo
    7369        echo "Syntax:"
    74         echo " $0 [--system-wide] [--with-gdb|--only-gdb] <platform>"
    7570        echo " $0 [--system-wide] --test-version [<platform>]"
    7671        echo
     
    147142                test_app_version "Binutils" "ld" "GNU ld (.*) \([.0-9]*\)" "$BINUTILS_VERSION"
    148143                test_app_version "GCC" "gcc" "gcc version \([.0-9]*\)" "$GCC_VERSION"
    149                 test_app_version "GDB" "gdb" "GNU gdb (.*)[[:space:]]\+\([.0-9]*\)" "$GDB_VERSION"
    150144        done
    151145}
     
    264258                ( set -x ; sudo -k mkdir -p "${CROSS_PREFIX}" )
    265259        else
    266                 mkdir -p "${CROSS_PREFIX}"
     260                ( set -x ; mkdir -p "${CROSS_PREFIX}" )
    267261        fi
    268262
     
    310304                ./contrib/download_prerequisites
    311305                cd ..
    312         fi
    313 
    314         if $BUILD_GDB ; then
    315                 git clone --depth 1 -b "$GDB_BRANCH" "$BINUTILS_GDB_GIT" "gdb-$GDB_VERSION"
    316                 git -C "gdb-$GDB_VERSION" pull
    317306        fi
    318307
     
    466455}
    467456
    468 build_gdb() {
    469         # This sets the TARGET variable
    470         set_target_from_platform "$1"
    471 
    472         WORKDIR="${BASEDIR}/${TARGET}"
    473         GDBDIR="${WORKDIR}/gdb-${GDB_VERSION}"
    474 
    475         echo ">>> Removing previous content"
    476         cleanup_dir "${WORKDIR}"
    477         mkdir -p "${WORKDIR}"
    478 
    479         echo ">>> Processing GDB (${TARGET})"
    480         mkdir -p "${GDBDIR}"
    481         cd "${GDBDIR}"
    482         check_error $? "Change directory failed."
    483 
    484         change_title "GDB: configure (${TARGET})"
    485         CFLAGS="-fcommon" "${BASEDIR}/downloads/gdb-${GDB_VERSION}/configure" \
    486                 "--target=${TARGET}" \
    487                 "--prefix=${CROSS_PREFIX}" \
    488                 "--program-prefix=${TARGET}-" \
    489                 --enable-werror=no
    490         check_error $? "Error configuring GDB."
    491 
    492         change_title "GDB: make (${TARGET})"
    493         make all-gdb -j$JOBS
    494         check_error $? "Error compiling GDB."
    495 
    496         change_title "GDB: install (${TARGET})"
    497         make install-gdb $DESTDIR_SPEC
    498         check_error $? "Error installing GDB."
    499 }
    500 
    501457install_pkg() {
    502458        echo ">>> Moving to the destination directory."
    503459        if $SYSTEM_INSTALL ; then
    504460                ring_bell
    505                 ( set -x ; sudo -k cp -r -t "${CROSS_PREFIX}" "${INSTALL_DIR}${CROSS_PREFIX}/"* )
     461                ( set -x ; tar -C "${INSTALL_DIR}${CROSS_PREFIX}" -cpf - . | sudo -k tar -C "${CROSS_PREFIX}" -xpf - )
    506462        else
    507                 ( set -x ; cp -r -t "${CROSS_PREFIX}" "${INSTALL_DIR}${CROSS_PREFIX}/"* )
     463                ( set -x ; tar -C "${INSTALL_DIR}${CROSS_PREFIX}" -cpf - . | tar -C "${CROSS_PREFIX}" -xpf - )
    508464        fi
    509465}
     
    530486                        exit
    531487                        ;;
    532                 --with-gdb)
    533                         BUILD_GDB=true
    534                         shift
    535                         ;;
    536                 --only-gdb)
    537                         BUILD_GDB=true
    538                         BUILD_BINUTILS=false
    539                         BUILD_GCC=false
    540                         shift
    541                         ;;
    542488                *)
    543489                        show_usage
     
    614560
    615561                $RUNNER build_libgcc
    616         fi
    617 
    618         if $BUILD_GDB ; then
    619                 $RUNNER build_gdb
    620562        fi
    621563
  • uspace/drv/bus/usb/vhc/conndev.c

    rd3dd170f r96daa1c  
    4343#include "vhcd.h"
    4444
     45#define PLUGGED_DEVICE_NAME_MAXLEN 256
     46
    4547static fibril_local uintptr_t plugged_device_handle = 0;
    46 #define PLUGGED_DEVICE_NAME_MAXLEN 256
    47 static fibril_local char plugged_device_name[PLUGGED_DEVICE_NAME_MAXLEN + 1] = "<unknown>";
     48
     49/*
     50 * The explicit "initial-exec" TLS model attribute is a temporary workaround
     51 * for a bug in GCC (observed in 14.2 and 15.2) that manifests in combination
     52 * with the binutils 2.45 linker on MIPS.
     53 *
     54 * Without the attribute, the linker reports the following error:
     55 *
     56 *  can't find matching LO16 reloc against `plugged_device_name' for
     57 *  R_MIPS_TLS_TPREL_HI16 at 0x238 in section
     58 *  `.text.default_connection_handler'
     59 *
     60 * The immediate cause is a missing R_MIPS_TLS_TPREL_LO16 relocation that
     61 * matches the R_MIPS_TLS_TPREL_HI16 relocation. The root cause is probably
     62 * an aggressive optimization in the compiler that removes the relocation
     63 * despite being needed.
     64 */
     65static fibril_local char plugged_device_name[PLUGGED_DEVICE_NAME_MAXLEN + 1]
     66    __attribute__((tls_model("initial-exec"))) = "<unknown>";
    4867
    4968/** Receive device name.
  • uspace/drv/bus/usb/xhci/hc.c

    rd3dd170f r96daa1c  
    166166                                        speeds[psiv].major = major;
    167167                                        speeds[psiv].minor = minor;
    168                                         str_ncpy(speeds[psiv].name, 4, name.str, 4);
     168                                        memcpy(speeds[psiv].name, name.str, 4);
    169169                                        speeds[psiv].usb_speed = USB_SPEED_MAX;
    170170
  • uspace/drv/bus/usb/xhci/hw_struct/regs.h

    rd3dd170f r96daa1c  
    551551
    552552typedef union {
    553         char str [4];
     553        char str[4] __attribute__((nonstring));
    554554        uint32_t packed;
    555555} xhci_sp_name_t;
  • uspace/drv/bus/usb/xhci/rh.h

    rd3dd170f r96daa1c  
    5151 */
    5252typedef struct xhci_port_speed {
    53         char name [4];
     53        char name[4] __attribute__((nonstring));
    5454        uint8_t major, minor;
    5555        uint64_t rx_bps, tx_bps;
  • uspace/lib/cpp/include/__bits/adt/bitset.hpp

    rd3dd170f r96daa1c  
    4242    class bitset
    4343    {
     44        private:
     45            /**
     46             * While this might be a bit more wasteful
     47             * than using unsigned or unsigned long,
     48             * it will make parts of out code easier
     49             * to read.
     50             */
     51            using data_type = unsigned long long;
     52
    4453        public:
    4554            class reference
     
    365374
    366375        private:
    367             /**
    368              * While this might be a bit more wasteful
    369              * than using unsigned or unsigned long,
    370              * it will make parts of out code easier
    371              * to read.
    372              */
    373             using data_type = unsigned long long;
    374 
    375376            static constexpr size_t bits_in_data_type_ = sizeof(data_type) * 8;
    376377            static constexpr size_t data_size_ = N / bits_in_data_type_ + 1;
Note: See TracChangeset for help on using the changeset viewer.