Changeset ebb1489 in mainline for uspace/app/dltest/dltest.c


Ignore:
Timestamp:
2024-10-13T08:23:40Z (2 months ago)
Author:
GitHub <noreply@…>
Children:
0472cf17
Parents:
2a0c827c (diff), b3b79981 (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.
git-author:
boba-buba <120932204+boba-buba@…> (2024-10-13 08:23:40)
git-committer:
GitHub <noreply@…> (2024-10-13 08:23:40)
Message:

Merge branch 'HelenOS:master' into topic/packet-capture

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/dltest/dltest.c

    r2a0c827c rebb1489  
    11/*
    2  * Copyright (c) 2016 Jiri Svoboda
     2 * Copyright (c) 2024 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    571571#ifdef DLTEST_LINKED
    572572
     573/** Test if we can read the correct value of a public pointer variable.
     574 *
     575 * dl_public_ptr_var is initialized in libdltest to point to dl_public_var.
     576 * This is done using a relocation. The main program (unless compiled with
     577 * PIC or PIE) will contain a copy of dl_public_ptr_var. This needs
     578 * to be copied using a COPY relocation. The relocations in the main
     579 * program need to be processed after the relocations in the shared
     580 * libraries (so that we copy the correct value).
     581 */
     582static bool test_public_ptr_var(void)
     583{
     584        int *ptr;
     585
     586        printf("Read dl_public_ptr_var directly...\n");
     587        ptr = dl_public_ptr_var;
     588
     589        if (ptr != &dl_public_var) {
     590                printf("FAILED\n");
     591                return false;
     592        }
     593
     594        printf("Passed\n");
     595        return true;
     596}
     597
    573598/** Test directly calling function that returns a constant */
    574599static bool test_lnk_dl_get_constant(void)
     
    920945
    921946#ifndef STATIC_EXE
     947
    922948        if (!test_dlfcn_dl_get_private_fib_var())
    923949                return 1;
     
    9741000
    9751001        if (!test_lnk_read_public_uvar())
     1002                return 1;
     1003
     1004        if (!test_public_ptr_var())
    9761005                return 1;
    9771006
Note: See TracChangeset for help on using the changeset viewer.