Changeset a5c78a18 in mainline for uspace/lib/c/arch/ia32


Ignore:
Timestamp:
2019-02-03T14:35:44Z (7 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b4f1171
Parents:
67ca359
Message:

Rename context_t to context_t

<libarch/fibril_context.h> is included from <setjmp.h> where it can interfere
with identifiers used in third-party code.
The simplest solution here is just to prefix the names with double underscore
which is reserved for use by the implementation.

Location:
uspace/lib/c/arch/ia32
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/ia32/include/libarch/fibril_context.h

    r67ca359 ra5c78a18  
    3030#define LIBC_ARCH_FIBRIL_CONTEXT_H_
    3131
    32 #define CONTEXT_OFFSET_SP   0x00
    33 #define CONTEXT_OFFSET_PC   0x04
    34 #define CONTEXT_OFFSET_EBX  0x08
    35 #define CONTEXT_OFFSET_ESI  0x0c
    36 #define CONTEXT_OFFSET_EDI  0x10
    37 #define CONTEXT_OFFSET_EBP  0x14
    38 #define CONTEXT_OFFSET_TLS  0x18
    39 #define CONTEXT_SIZE        0x1c
     32#define __CONTEXT_OFFSET_SP   0x00
     33#define __CONTEXT_OFFSET_PC   0x04
     34#define __CONTEXT_OFFSET_EBX  0x08
     35#define __CONTEXT_OFFSET_ESI  0x0c
     36#define __CONTEXT_OFFSET_EDI  0x10
     37#define __CONTEXT_OFFSET_EBP  0x14
     38#define __CONTEXT_OFFSET_TLS  0x18
     39#define __CONTEXT_SIZE        0x1c
    4040
    4141#ifndef __ASSEMBLER__
     
    4444
    4545/* We include only registers that must be preserved during function call. */
    46 typedef struct context {
     46typedef struct __context {
    4747        uint32_t sp;
    4848        uint32_t pc;
     
    5252        uint32_t ebp;
    5353        uint32_t tls;
    54 } context_t;
     54} __context_t;
    5555
    5656#endif
  • uspace/lib/c/arch/ia32/src/fibril.S

    r67ca359 ra5c78a18  
    4242
    4343        # save registers to the context structure
    44         movl %esp, CONTEXT_OFFSET_SP(%edx)      # %esp -> ctx->sp
    45         movl %eax, CONTEXT_OFFSET_PC(%edx)      # %eip -> ctx->pc
    46         movl %ebx, CONTEXT_OFFSET_EBX(%edx)     # %ebx -> ctx->ebx
    47         movl %esi, CONTEXT_OFFSET_ESI(%edx)     # %esi -> ctx->esi
    48         movl %edi, CONTEXT_OFFSET_EDI(%edx)     # %edi -> ctx->edi
    49         movl %ebp, CONTEXT_OFFSET_EBP(%edx)     # %ebp -> ctx->ebp
     44        movl %esp, __CONTEXT_OFFSET_SP(%edx)    # %esp -> ctx->sp
     45        movl %eax, __CONTEXT_OFFSET_PC(%edx)    # %eip -> ctx->pc
     46        movl %ebx, __CONTEXT_OFFSET_EBX(%edx)   # %ebx -> ctx->ebx
     47        movl %esi, __CONTEXT_OFFSET_ESI(%edx)   # %esi -> ctx->esi
     48        movl %edi, __CONTEXT_OFFSET_EDI(%edx)   # %edi -> ctx->edi
     49        movl %ebp, __CONTEXT_OFFSET_EBP(%edx)   # %ebp -> ctx->ebp
    5050
    5151        # save TLS
    5252        movl %gs:0, %eax
    53         movl %eax, CONTEXT_OFFSET_TLS(%edx)     # tls -> ctx->tls
     53        movl %eax, __CONTEXT_OFFSET_TLS(%edx)   # tls -> ctx->tls
    5454
    5555        xorl %eax, %eax         # __setjmp returns 0
     
    6767
    6868        # restore registers from the context structure
    69         movl CONTEXT_OFFSET_SP(%eax),%esp       # ctx->sp -> %esp
    70         movl CONTEXT_OFFSET_PC(%eax),%edx       # ctx->pc -> \pc
    71         movl CONTEXT_OFFSET_EBX(%eax),%ebx      # ctx->ebx -> %ebx
    72         movl CONTEXT_OFFSET_ESI(%eax),%esi      # ctx->esi -> %esi
    73         movl CONTEXT_OFFSET_EDI(%eax),%edi      # ctx->edi -> %edi
    74         movl CONTEXT_OFFSET_EBP(%eax),%ebp      # ctx->ebp -> %ebp
     69        movl __CONTEXT_OFFSET_SP(%eax),%esp     # ctx->sp -> %esp
     70        movl __CONTEXT_OFFSET_PC(%eax),%edx     # ctx->pc -> \pc
     71        movl __CONTEXT_OFFSET_EBX(%eax),%ebx    # ctx->ebx -> %ebx
     72        movl __CONTEXT_OFFSET_ESI(%eax),%esi    # ctx->esi -> %esi
     73        movl __CONTEXT_OFFSET_EDI(%eax),%edi    # ctx->edi -> %edi
     74        movl __CONTEXT_OFFSET_EBP(%eax),%ebp    # ctx->ebp -> %ebp
    7575
    7676        movl %edx, 0(%esp)  # ctx->pc -> saver's return %eip
    7777
    7878        # set thread local storage
    79         movl CONTEXT_OFFSET_TLS(%eax), %edx     # Set arg1 to TLS addr
     79        movl __CONTEXT_OFFSET_TLS(%eax), %edx   # Set arg1 to TLS addr
    8080        movl %edx, %gs:0
    8181
Note: See TracChangeset for help on using the changeset viewer.