When linking a C++ program on X86 (OpenVMS v9.2-1), I get the following warnings. What is hapening here. The source files lok simple ( see at the end of the message)
Code: Select all
%ILINK-W-NORELO, RELA$K_R_X86_64_TLSLD relocation not supported
relocation section: .rela.text (section header entry: 3)
relocation type: RELA$K_R_X86_64_TLSLD
relocation entry: 4
module: GRANDOM
file: $DSTM:[JOUKJ.public.poppler.poppler_2023-07-17.poppler.poppler]lib
poppler.olb;5
%ILINK-W-NORELO, RELA$K_R_X86_64_DTPOFF32 relocation not supported
relocation section: .rela.text (section header entry: 3)
relocation type: RELA$K_R_X86_64_DTPOFF32
relocation entry: 6
module: GRANDOM
file: $DSTM:[JOUKJ.public.poppler.poppler_2023-07-17.poppler.poppler]lib
poppler.olb;5
%ILINK-W-NORELO, RELA$K_R_X86_64_TLSLD relocation not supported
relocation section: .rela.text (section header entry: 3)
relocation type: RELA$K_R_X86_64_TLSLD
relocation entry: 11
module: GRANDOM
file: $DSTM:[JOUKJ.public.poppler.poppler_2023-07-17.poppler.poppler]lib
poppler.olb;5
%ILINK-W-NORELO, RELA$K_R_X86_64_DTPOFF32 relocation not supported
relocation section: .rela.text (section header entry: 3)
relocation type: RELA$K_R_X86_64_DTPOFF32
relocation entry: 13
module: GRANDOM
file: $DSTM:[JOUKJ.public.poppler.poppler_2023-07-17.poppler.poppler]lib
poppler.olb;5
%ILINK-W-NORELO, RELA$K_R_X86_64_TLSLD relocation not supported
relocation section: .rela.text (section header entry: 3)
relocation type: RELA$K_R_X86_64_TLSLD
relocation entry: 17
module: GRANDOM
file: $DSTM:[JOUKJ.public.poppler.poppler_2023-07-17.poppler.poppler]lib
poppler.olb;5
%ILINK-W-NORELO, RELA$K_R_X86_64_DTPOFF32 relocation not supported
relocation section: .rela.text (section header entry: 3)
relocation type: RELA$K_R_X86_64_DTPOFF32
relocation entry: 19
module: GRANDOM
file: $DSTM:[JOUKJ.public.poppler.poppler_2023-07-17.poppler.poppler]lib
poppler.olb;5
%ILINK-W-NORELO, RELA$K_R_X86_64_TLSLD relocation not supported
relocation section: .rela.text (section header entry: 3)
relocation type: RELA$K_R_X86_64_TLSLD
relocation entry: 20
module: GRANDOM
file: $DSTM:[JOUKJ.public.poppler.poppler_2023-07-17.poppler.poppler]lib
poppler.olb;5
%ILINK-W-NORELO, RELA$K_R_X86_64_DTPOFF32 relocation not supported
relocation section: .rela.text (section header entry: 3)
relocation type: RELA$K_R_X86_64_DTPOFF32
relocation entry: 22
module: GRANDOM
file: $DSTM:[JOUKJ.public.poppler.poppler_2023-07-17.poppler.poppler]lib
poppler.olb;5
rumba-jj) ty grandom.h
/*
* grandom.h
*
* This file is licensed under the GPLv2 or later
*
* Pseudo-random number generation
*
* Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
* Copyright (C) 2018 Adam Reichold <adam.reichold@t-online.de>
*/
#ifndef GRANDOM_H
#define GRANDOM_H
/// Fills the given buffer with random bytes
void grandom_fill(unsigned char *buff, int size);
/// Returns a random number in [0,1)
double grandom_double();
#endif
rumba-jj) ty grandom.cc
/*
* grandom.cc
*
* This file is licensed under the GPLv2 or later
*
* Pseudo-random number generation
*
* Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
* Copyright (C) 2018 Adam Reichold <adam.reichold@t-online.de>
* Copyright (C) 2022 Albert Astals Cid <aacid@kde.org>
*/
#include "grandom.h"
#include <random>
namespace {
auto &grandom_engine()
{
static thread_local std::default_random_engine engine { std::random_device {
}() };
return engine;
}
}
void grandom_fill(unsigned char *buff, int size)
{
auto &engine = grandom_engine();
std::uniform_int_distribution<unsigned short> distribution { std::numeric_li
mits<unsigned char>::min(), std::numeric_limits<unsigned char>::max() };
for (int index = 0; index < size; ++index) {
buff[index] = static_cast<unsigned char>(distribution(engine));
}
}
double grandom_double()
{
auto &engine = grandom_engine();
return std::generate_canonical<double, std::numeric_limits<double>::digits>(
engine);
}
regards
' Jouk