Changeset 6d5da743 in mainline for kernel


Ignore:
Timestamp:
2014-04-25T08:10:14Z (12 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d815b74, fef725d
Parents:
7cd15b9 (diff), 723ce99 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merged random-configuration checking script + few fixes

The main Makefile has a new target - random-config - that generates
a random (but valid) configuration. This is useful for testing non-
default configurations.

The contrib/tools/random_check.sh script then further automates this
process by building random configurations multiple times.

This merge also includes several minor changes that fixed some of
the problems discovered by usage of the above mentioned script.

For the record, following configurations still do not build
(assuming the default platform profile with these alterations):

  • ARM 32 - Raspberry Pi
    • without the PL011 UART
    • with framebuffer support but without support of the BCM2835 (this looks like a nonsense configuration that shall be prohibited by the configuration script itself)
  • ARM 32 - GTA-02
    • without the S3C24 UART
  • ARM 32 - Integrator/CP
    • without PC keyboard
  • PowerPC 32
    • with link-time-optimization and -Os
  • IA 32
    • when all the dynamic-linking stuff is enabled

[Merged from lp:~vojtech-horky/helenos/misc]

Location:
kernel
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/mips32/src/debugger.c

    r7cd15b9 r6d5da743  
    9797        .argv = adde_argv
    9898};
     99#endif
    99100
    100101static struct {
     
    147148}
    148149
     150#ifdef CONFIG_KCONSOLE
     151
    149152/** Add new breakpoint to table
    150153 *
  • kernel/arch/sparc64/src/drivers/kbd.c

    r7cd15b9 r6d5da743  
    9090        size_t size = ((ofw_ebus_reg_t *) prop->value)->size;
    9191       
    92         uintptr_t pa;
     92        uintptr_t pa = 0; // Prevent -Werror=maybe-uninitialized
    9393        if (!ofw_ebus_apply_ranges(node->parent,
    9494            ((ofw_ebus_reg_t *) prop->value), &pa)) {
  • kernel/arch/sparc64/src/smp/sun4v/smp.c

    r7cd15b9 r6d5da743  
    263263                while (md_next_child(&it)) {
    264264                        md_node_t child = md_get_child_node(it);
    265                         const char *exec_unit_type;
     265                        const char *exec_unit_type = "";
    266266                        md_get_string_property(child, "type", &exec_unit_type);
    267267
  • kernel/genarch/include/genarch/softint/division.h

    r7cd15b9 r6d5da743  
    3636#define KERN_DIVISION_H_
    3737
     38#include <cc.h>
     39
     40#ifdef CONFIG_LTO
     41#define DO_NOT_DISCARD ATTRIBUTE_USED
     42#else
     43#define DO_NOT_DISCARD
     44#endif
     45
    3846extern int __divsi3(int, int);
    3947extern long long __divdi3(long long, long long);
    4048
    4149extern unsigned int __udivsi3(unsigned int, unsigned int);
    42 extern unsigned long long __udivdi3(unsigned long long, unsigned long long);
     50extern unsigned long long __udivdi3(unsigned long long, unsigned long long) DO_NOT_DISCARD;
    4351
    4452extern int __modsi3(int, int);
     
    4654
    4755extern unsigned int __umodsi3(unsigned int, unsigned int);
    48 extern unsigned long long __umoddi3(unsigned long long, unsigned long long);
     56extern unsigned long long __umoddi3(unsigned long long, unsigned long long) DO_NOT_DISCARD;
    4957
    5058extern int __divmodsi3(int, int, int *);
  • kernel/generic/include/cc.h

    r7cd15b9 r6d5da743  
    4040#define ATTRIBUTE_OPTIMIZE(opt) \
    4141        __attribute__ ((optimize(opt)))
     42#define ATTRIBUTE_USED \
     43        __attribute__ ((used))
    4244#else
    4345#define ATTRIBUTE_OPTIMIZE(opt)
     46#define ATTRIBUTE_USED
    4447#endif
    4548
  • kernel/generic/include/debug.h

    r7cd15b9 r6d5da743  
    3737
    3838#include <panic.h>
     39#include <log.h>
    3940#include <symtab_lookup.h>
    4041
  • kernel/generic/include/lib/memfnc.h

    r7cd15b9 r6d5da743  
    3939#include <cc.h>
    4040
     41#ifdef CONFIG_LTO
     42#define DO_NOT_DISCARD ATTRIBUTE_USED
     43#else
     44#define DO_NOT_DISCARD
     45#endif
     46
    4147extern void *memset(void *, int, size_t)
    42     ATTRIBUTE_OPTIMIZE("-fno-tree-loop-distribute-patterns");
     48    ATTRIBUTE_OPTIMIZE("-fno-tree-loop-distribute-patterns") DO_NOT_DISCARD;
    4349extern void *memcpy(void *, const void *, size_t)
    44     ATTRIBUTE_OPTIMIZE("-fno-tree-loop-distribute-patterns");
     50    ATTRIBUTE_OPTIMIZE("-fno-tree-loop-distribute-patterns") DO_NOT_DISCARD;
    4551
    4652#endif
  • kernel/generic/include/memstr.h

    r7cd15b9 r6d5da743  
    3737
    3838#include <typedefs.h>
     39#include <cc.h>
     40
     41#ifdef CONFIG_LTO
     42#define DO_NOT_DISCARD ATTRIBUTE_USED
     43#else
     44#define DO_NOT_DISCARD
     45#endif
    3946
    4047#define memset(dst, val, cnt)  __builtin_memset((dst), (val), (cnt))
     
    4350extern void memsetb(void *, size_t, uint8_t);
    4451extern void memsetw(void *, size_t, uint16_t);
    45 extern void *memmove(void *, const void *, size_t);
     52extern void *memmove(void *, const void *, size_t) DO_NOT_DISCARD;
    4653
    4754#endif
  • kernel/generic/src/console/cmd.c

    r7cd15b9 r6d5da743  
    11491149int cmd_set4(cmd_arg_t *argv)
    11501150{
    1151         uintptr_t addr;
     1151        uintptr_t addr = 0; // Prevent -Werror=maybe-uninitialized
    11521152        uint32_t arg1 = argv[1].intval;
    11531153        bool pointer = false;
  • kernel/generic/src/mm/as.c

    r7cd15b9 r6d5da743  
    17251725        ASSERT(count);
    17261726       
    1727         btree_node_t *leaf;
     1727        btree_node_t *leaf = NULL;
    17281728        size_t pages = (size_t) btree_search(&area->used_space, page, &leaf);
    17291729        if (pages) {
     
    17331733                return false;
    17341734        }
     1735
     1736        ASSERT(leaf != NULL);
    17351737       
    17361738        if (!leaf->keys) {
  • kernel/generic/src/mm/frame.c

    r7cd15b9 r6d5da743  
    391391       
    392392        /* Allocate frames from zone */
    393         size_t index;
     393        size_t index = (size_t) -1;
    394394        int avail = bitmap_allocate_range(&zone->bitmap, count, zone->base,
    395395            FRAME_LOWPRIO, constraint, &index);
    396396       
    397397        ASSERT(avail);
     398        ASSERT(index != (size_t) -1);
    398399       
    399400        /* Update frame reference count */
  • kernel/generic/src/udebug/udebug_ipc.c

    r7cd15b9 r6d5da743  
    343343        sysarg_t uspace_addr;
    344344        sysarg_t to_copy;
    345         void *buffer;
     345        void *buffer = NULL;
    346346        int rc;
    347347
     
    354354                return;
    355355        }
     356
     357        ASSERT(buffer != NULL);
    356358
    357359        /*
     
    385387        sysarg_t uspace_src;
    386388        unsigned size;
    387         void *buffer;
     389        void *buffer = NULL;
    388390        int rc;
    389391
     
    398400                return;
    399401        }
     402
     403        ASSERT(buffer != NULL);
    400404
    401405        IPC_SET_RETVAL(call->data, 0);
Note: See TracChangeset for help on using the changeset viewer.