Remove qfunctions_vxworks files and usage as it is no longer needed

Task-number: QTBUG-115777
Change-Id: I0d803ac7ce067737b79a39a267a2b0eb509ae0b8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Marcin Zdunek 2024-01-24 16:34:14 +01:00
parent 557275301e
commit 1d4ab5c135
6 changed files with 2 additions and 292 deletions

View File

@ -1166,8 +1166,6 @@ qt_internal_extend_target(Core CONDITION VXWORKS
SOURCES
io/qstandardpaths_unix.cpp
io/qstorageinfo_stub.cpp
kernel/qfunctions_vxworks.cpp
kernel/qfunctions_vxworks.h
)
qt_internal_extend_target(Core CONDITION QT_FEATURE_cborstreamreader

View File

@ -798,7 +798,7 @@ QString QFileSystemEngine::resolveGroupName(uint groupId)
QVarLengthArray<char, 1024> buf(size_max);
#endif
#if !defined(Q_OS_INTEGRITY) && !defined(Q_OS_WASM)
#if !defined(Q_OS_INTEGRITY) && !defined(Q_OS_WASM) && !defined(Q_OS_VXWORKS)
struct group *gr = nullptr;
#if QT_CONFIG(thread) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_VXWORKS) && (!defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID) && (__ANDROID_API__ >= 24))
size_max = sysconf(_SC_GETGR_R_SIZE_MAX);
@ -821,7 +821,7 @@ QString QFileSystemEngine::resolveGroupName(uint groupId)
#endif
if (gr)
return QFile::decodeName(QByteArray(gr->gr_name));
#else // Integrity || WASM
#else // Integrity || WASM || VxWorks
Q_UNUSED(groupId);
#endif
return QString();

View File

@ -17,9 +17,5 @@
#include <QtCore/private/qglobal_p.h>
#if defined(Q_OS_VXWORKS)
# include "QtCore/qfunctions_vxworks.h"
#endif
#endif

View File

@ -1,140 +0,0 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qglobal.h"
#ifdef Q_OS_VXWORKS
#include "qplatformdefs.h"
#include "qfunctions_vxworks.h"
#if defined(_WRS_KERNEL)
#include <vmLib.h>
#endif
#include <selectLib.h>
#include <ioLib.h>
QT_USE_NAMESPACE
#ifdef __cplusplus
extern "C" {
#endif
// no lfind() - used by the TIF image format
void *lfind(const void* key, const void* base, size_t* elements, size_t size,
int (*compare)(const void*, const void*))
{
const char* current = (char*) base;
const char* const end = (char*) (current + (*elements) * size);
while (current != end) {
if (compare(current, key) == 0)
return (void*)current;
current += size;
}
return 0;
}
// no rand_r(), but rand()
// NOTE: this implementation is wrong for multi threaded applications,
// but there is no way to get it right on VxWorks (in kernel mode)
#if defined(_WRS_KERNEL)
int rand_r(unsigned int * /*seedp*/)
{
return rand();
}
#endif
// gettimeofday() is declared, but is missing from the library
// It IS however defined in the Curtis-Wright X11 libraries, so
// we have to make the symbol 'weak'
#if defined(Q_CC_DIAB) && !defined(VXWORKS_DKM) && !defined(VXWORKS_RTP)
# pragma weak gettimeofday
#endif
int gettimeofday(struct timeval *tv, void /*struct timezone*/ *)
{
// the compiler will optimize this and will only use one code path
if (sizeof(struct timeval) == sizeof(struct timespec)) {
int res = clock_gettime(CLOCK_REALTIME, (struct timespec *) tv);
if (!res)
tv->tv_usec /= 1000;
return res;
} else {
struct timespec ts;
int res = clock_gettime(CLOCK_REALTIME, &ts);
if (!res) {
tv->tv_sec = ts.tv_sec;
tv->tv_usec = ts.tv_nsec / 1000;
}
return res;
}
}
// symlinks are not supported (lstat is now just a call to stat - see qplatformdefs.h)
int symlink(const char *, const char *)
{
errno = EIO;
return -1;
}
ssize_t readlink(const char *, char *, size_t)
{
errno = EIO;
return -1;
}
// there's no truncate(), but ftruncate() support...
int truncate(const char *path, off_t length)
{
int fd = open(path, O_WRONLY, 00777);
if (fd >= 0) {
int res = ftruncate(fd, length);
int en = errno;
close(fd);
errno = en;
return res;
}
// errno is already set by open
return -1;
}
// VxWorks doesn't know about passwd & friends.
// in order to avoid patching the unix fs path everywhere
// we introduce some dummy functions that simulate a single
// 'root' user on the system.
uid_t getuid()
{
return 0;
}
gid_t getgid()
{
return 0;
}
uid_t geteuid()
{
return 0;
}
struct group *getgrgid(gid_t gid)
{
static struct group grbuf = { "root", 0, 0, 0 };
if (gid == 0) {
return &grbuf;
} else {
errno = ENOENT;
return 0;
}
}
#ifdef __cplusplus
} // extern "C"
#endif
#endif // Q_OS_VXWORKS

View File

@ -1,142 +0,0 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QFUNCTIONS_VXWORKS_H
#define QFUNCTIONS_VXWORKS_H
#include <QtCore/qglobal.h>
#ifdef Q_OS_VXWORKS
#include <unistd.h>
#include <pthread.h>
#include <dirent.h>
#include <signal.h>
#include <string.h>
#include <strings.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#if defined(_WRS_KERNEL)
#include <sys/times.h>
#else
#include <sys/time.h>
#endif
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <netinet/in.h>
// VxWorks has public header mbuf.h which defines following variables for DKM.
// Let's undef those to because they overlap with Qt variable names-
// File mbuf.h is included in headers <netinet/in.h> <net/if.h>, so make sure
// that those are included before undef's.
#if defined(mbuf)
# undef mbuf
#endif
#if defined(m_data)
# undef m_data
#endif
#if defined(m_type)
# undef m_type
#endif
#if defined(m_next)
# undef m_next
#endif
#if defined(m_len)
# undef m_len
#endif
#if defined(m_flags)
# undef m_flags
#endif
#if defined(m_hdr)
# undef m_hdr
#endif
#if defined(m_ext)
# undef m_ext
#endif
#if defined(m_act)
# undef m_act
#endif
#if defined(m_nextpkt)
# undef m_nextpkt
#endif
#if defined(m_pkthdr)
# undef m_pkthdr
#endif
QT_BEGIN_NAMESPACE
#ifdef QT_BUILD_CORE_LIB
#endif
QT_END_NAMESPACE
#ifndef RTLD_LOCAL
#define RTLD_LOCAL 0
#endif
#ifndef NSIG
#define NSIG _NSIGS
#endif
#ifdef __cplusplus
extern "C" {
#endif
// isascii is missing (sometimes!!)
#ifndef isascii
inline int isascii(int c) { return (c & 0x7f); }
#endif
// no lfind() - used by the TIF image format
void *lfind(const void* key, const void* base, size_t* elements, size_t size,
int (*compare)(const void*, const void*));
// no rand_r(), but rand()
// NOTE: this implementation is wrong for multi threaded applications,
// but there is no way to get it right on VxWorks (in kernel mode)
#if defined(_WRS_KERNEL)
int rand_r(unsigned int * /*seedp*/);
#endif
#if defined(VXWORKS_DKM) || defined(VXWORKS_RTP)
int gettimeofday(struct timeval *, void *);
#else
// gettimeofday() is declared, but is missing from the library.
// It IS however defined in the Curtis-Wright X11 libraries, so
// we have to make the symbol 'weak'
int gettimeofday(struct timeval *tv, void /*struct timezone*/ *) __attribute__((weak));
#endif
// symlinks are not supported (lstat is now just a call to stat - see qplatformdefs.h)
int symlink(const char *, const char *);
ssize_t readlink(const char *, char *, size_t);
// there's no truncate(), but ftruncate() support...
int truncate(const char *path, off_t length);
// VxWorks doesn't know about passwd & friends.
// in order to avoid patching the unix fs path everywhere
// we introduce some dummy functions that simulate a single
// 'root' user on the system.
uid_t getuid();
gid_t getgid();
uid_t geteuid();
struct group {
char *gr_name; /* group name */
char *gr_passwd; /* group password */
gid_t gr_gid; /* group ID */
char **gr_mem; /* group members */
};
struct group *getgrgid(gid_t gid);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // Q_OS_VXWORKS
#endif // QFUNCTIONS_VXWORKS_H

View File

@ -7983,8 +7983,6 @@
qeventloop.cpp
qeventloop.h
qfunctions_p.h
qfunctions_vxworks.cpp
qfunctions_vxworks.h
qfunctions_wince.cpp
qfunctions_wince.h
qguard_p.h