Changeset a69d42e in mainline


Ignore:
Timestamp:
2018-04-10T20:17:41Z (6 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9c514be
Parents:
1abcf1d
Message:

Define _end, and use it instead of the address of __entry in C code.

Location:
uspace/lib/c
Files:
2 deleted
15 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/abs32le/_link.ld.in

    r1abcf1d ra69d42e  
    5353        } :data
    5454
     55        _end = .;
     56
    5557        /DISCARD/ : {
    5658                *(*);
  • uspace/lib/c/arch/abs32le/src/entry.c

    r1abcf1d ra69d42e  
    3030 */
    3131
    32 #include <libarch/entry.h>
    3332#include "../../../generic/private/libc.h"
    3433#include <stddef.h>
     34
     35extern void __entry(void);
     36
     37/* Normally, the entry point is defined in assembly for the architecture. */
    3538
    3639void __entry(void)
  • uspace/lib/c/arch/amd64/_link.ld.in

    r1abcf1d ra69d42e  
    5353        } :data
    5454
     55        _end = .;
     56
    5557#ifdef CONFIG_LINE_DEBUG
    5658        .comment 0 : { *(.comment); } :debug
  • uspace/lib/c/arch/arm32/_link.ld.in

    r1abcf1d ra69d42e  
    5151        } :data
    5252
     53        _end = .;
     54
    5355        /DISCARD/ : {
    5456                *(*);
  • uspace/lib/c/arch/ia32/_link.ld.in

    r1abcf1d ra69d42e  
    112112        } :data
    113113
     114        _end = .;
     115
    114116#ifdef CONFIG_LINE_DEBUG
    115117        .comment 0 : { *(.comment); } :debug
  • uspace/lib/c/arch/ia64/_link.ld.in

    r1abcf1d ra69d42e  
    6060        } :data
    6161
     62        _end = .;
     63
    6264        /DISCARD/ : {
    6365                *(*);
  • uspace/lib/c/arch/mips32/_link.ld.in

    r1abcf1d ra69d42e  
    5858        } :data
    5959
     60        _end = .;
     61
    6062        /DISCARD/ : {
    6163                *(*);
  • uspace/lib/c/arch/ppc32/_link.ld.in

    r1abcf1d ra69d42e  
    5050        } :data
    5151
     52        _end = .;
     53
    5254#ifdef CONFIG_LINE_DEBUG
    5355        .comment 0 : { *(.comment); } :debug
  • uspace/lib/c/arch/riscv64/_link.ld.in

    r1abcf1d ra69d42e  
    4949        } :data
    5050
     51        _end = .;
     52
    5153#ifdef CONFIG_LINE_DEBUG
    5254        .comment 0 : { *(.comment); } :debug
  • uspace/lib/c/arch/riscv64/src/entry.c

    r1abcf1d ra69d42e  
    3030 */
    3131
    32 #include <libarch/entry.h>
    3332#include "../../../generic/private/libc.h"
     33
     34extern void __entry(void);
     35
     36// FIXME: Implement properly.
    3437
    3538void __entry(void)
  • uspace/lib/c/arch/sparc64/_link.ld.in

    r1abcf1d ra69d42e  
    5454        } :data
    5555
     56        _end = .;
     57
    5658#ifdef CONFIG_LINE_DEBUG
    5759        .comment 0 : { *(.comment); } :debug
  • uspace/lib/c/generic/as.c

    r1abcf1d ra69d42e  
    6060{
    6161        return (void *) __SYSCALL5(SYS_AS_AREA_CREATE, (sysarg_t) base,
    62             (sysarg_t) size, (sysarg_t) flags, (sysarg_t) __entry,
     62            (sysarg_t) size, (sysarg_t) flags, (sysarg_t) _end,
    6363            (sysarg_t) pager_info);
    6464}
  • uspace/lib/c/generic/async.c

    r1abcf1d ra69d42e  
    26772677    unsigned int flags)
    26782678{
     2679        // FIXME: The source has no business deciding destination address.
    26792680        return ipc_answer_3(chandle, EOK, (sysarg_t) src, (sysarg_t) flags,
    2680             (sysarg_t) __entry);
     2681            (sysarg_t) _end);
    26812682}
    26822683
     
    27472748errno_t async_share_out_finalize(cap_call_handle_t chandle, void **dst)
    27482749{
    2749         return ipc_answer_2(chandle, EOK, (sysarg_t) __entry, (sysarg_t) dst);
     2750        return ipc_answer_2(chandle, EOK, (sysarg_t) _end, (sysarg_t) dst);
    27502751}
    27512752
  • uspace/lib/c/generic/ddi.c

    r1abcf1d ra69d42e  
    7272{
    7373        return (errno_t) __SYSCALL5(SYS_PHYSMEM_MAP, (sysarg_t) phys,
    74             pages, flags, (sysarg_t) virt, (sysarg_t) __entry);
     74            pages, flags, (sysarg_t) virt, (sysarg_t) _end);
    7575}
    7676
     
    145145        return (errno_t) __SYSCALL6(SYS_DMAMEM_MAP, (sysarg_t) size,
    146146            (sysarg_t) map_flags, (sysarg_t) flags | DMAMEM_FLAGS_ANONYMOUS,
    147             (sysarg_t) phys, (sysarg_t) virt, (sysarg_t) __entry);
     147            (sysarg_t) phys, (sysarg_t) virt, (sysarg_t) _end);
    148148}
    149149
  • uspace/lib/c/generic/private/libc.h

    r1abcf1d ra69d42e  
    3636#define LIBC_PRIVATE_LIBC_H_
    3737
    38 extern void __entry(void);
     38extern unsigned char _end[];
    3939extern void __main(void *) __attribute__((noreturn));
    4040extern int main(int, char *[]);
Note: See TracChangeset for help on using the changeset viewer.