//@ ignore-loongarch64 (handles dso_local differently)
//@ ignore-powerpc64 (handles dso_local differently)
//@ ignore-apple (handles dso_local differently)

//@ revisions: DEFAULT PIE DIRECT INDIRECT
//@ [DEFAULT] compile-flags: -C relocation-model=static
//@ [PIE] compile-flags: -C relocation-model=pie
//@ [DIRECT] compile-flags: -C relocation-model=pie -Z direct-access-external-data=yes
//@ [INDIRECT] compile-flags: -C relocation-model=static -Z direct-access-external-data=no

#![crate_type = "rlib"]
#![feature(linkage)]

unsafe extern "C" {
    // CHECK: @VAR = external
    // DEFAULT-SAME: dso_local
    // PIE-NOT: dso_local
    // DIRECT-SAME: dso_local
    // INDIRECT-NOT: dso_local
    // CHECK-SAME: global i32
    safe static VAR: i32;

    // When "linkage" is used, we generate an indirection global.
    // Check dso_local is still applied to the actual global.
    // CHECK: @EXTERNAL = external
    // DEFAULT-SAME: dso_local
    // PIE-NOT: dso_local
    // DIRECT-SAME: dso_local
    // INDIRECT-NOT: dso_local
    // CHECK-SAME: global i8
    #[linkage = "external"]
    safe static EXTERNAL: *const u32;

    // CHECK: @WEAK = extern_weak
    // DEFAULT-SAME: dso_local
    // PIE-NOT: dso_local
    // DIRECT-SAME: dso_local
    // INDIRECT-NOT: dso_local
    // CHECK-SAME: global i8
    #[linkage = "extern_weak"]
    safe static WEAK: *const u32;
}

#[no_mangle]
pub fn refer() {
    core::hint::black_box(VAR);
    core::hint::black_box(EXTERNAL);
    core::hint::black_box(WEAK);
}
