Skip to content
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"dockerfile": "../.github/dockerfiles/Dockerfile.ubuntu-base",
"context": "../.github",
"args": {
"BASE": "mcr.microsoft.com/vscode/devcontainers/base:focal",
"BASE": "mcr.microsoft.com/devcontainers/base:noble",
"USER": "vscode",
"GROUP": "vscode"
}
Expand Down
2 changes: 1 addition & 1 deletion .github/dockerfiles/Dockerfile.64-bit
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ ENV CXXFLAGS="-Wno-maybe-uninitialized"
ENV SKIPPED_OSSF_CFLAGS="-Wconversion -mbranch-protection=standard \
-Wextra -Werror=implicit -Werror=incompatible-pointer-types -Werror=int-conversion \
-Wsign-conversion"
ENV LDFLAGS=""
ENV LDFLAGS="-fsanitize=signed-integer-overflow"
## OpenSSF recommended LDFLAGS, skipped are:
## -Wl,-z,nodlopen - as opening drivers/nifs needs this
## -fPIE - not needed with gcc 11
Expand Down
2 changes: 1 addition & 1 deletion .github/dockerfiles/Dockerfile.clang
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ ENV MAKEFLAGS=$MAKEFLAGS \
ERL_TOP=/buildroot/otp \
PATH=/otp/bin:/buildroot/otp/bin:$PATH

RUN sudo apt-get update && sudo apt-get install -y clang
RUN sudo apt-get update && sudo apt-get install -y clang libstdc++-14-dev

ARG ARCHIVE=./otp.tar.gz
COPY $ARCHIVE /buildroot/otp.tar.gz
Expand Down
6 changes: 3 additions & 3 deletions .github/dockerfiles/Dockerfile.debian-base
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,17 @@
##
## This docker file will build a base image for building Erlang/OTP
##
ARG BASE=debian:bookworm
ARG BASE=debian:trixie
FROM $BASE
## Need to have a second arg here as the first does not expose the $BASE in the script below
ARG BASE=debian:bookworm
ARG BASE=debian:trixie

ARG HOST_TRIP=x86_64-linux-gnu
ENV HOST_TRIP=$HOST_TRIP
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8

ENV INSTALL_LIBS="zlib1g-dev libncurses5-dev libssl-dev unixodbc-dev libwxgtk3.2-dev libwxgtk-webview3.2-dev libsctp-dev lksctp-tools"
ENV INSTALL_LIBS="zlib1g-dev libncurses-dev libssl-dev unixodbc-dev libwxgtk3.2-dev libwxgtk-webview3.2-dev libsctp-dev lksctp-tools"
ENV CROSS_LIBS="$INSTALL_LIBS"

## See https://wiki.debian.org/Multiarch/HOWTO for details on how to install things
Expand Down
5 changes: 2 additions & 3 deletions .github/dockerfiles/Dockerfile.ubuntu-base
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
ARG BASE=gitpod/workspace-full
Comment thread
maennchen marked this conversation as resolved.
Outdated
FROM $BASE

ENV INSTALL_LIBS="zlib1g-dev libncurses5-dev libssl-dev unixodbc-dev libsctp-dev lksctp-tools libgmp3-dev libwxbase3.0-dev libwxgtk3.0-gtk3-dev libwxgtk-webview3.0-gtk3-dev"
ENV INSTALL_LIBS="zlib1g-dev libncurses5-dev libssl-dev unixodbc-dev libsctp-dev lksctp-tools libgmp3-dev libwxgtk3.2-dev libwxgtk-webview3.2-dev"

USER root

Expand All @@ -36,9 +36,8 @@ RUN apt-get update && apt-get -y upgrade && \
apt-get install -y build-essential m4 autoconf clang-format \
flex pkg-config locales tzdata sudo ${INSTALL_LIBS} && \
sed -i 's@# en_US.UTF-8@en_US.UTF-8@g' /etc/locale.gen && locale-gen && \
update-alternatives --set wx-config /usr/lib/x86_64-linux-gnu/wx/config/gtk3-unicode-3.0 && \
apt-get install -y openjdk-8-jdk-headless && apt-get install -y openjdk-11-jdk-headless && \
(update-java-alternatives -s java-1.8.0-openjdk-amd64 || true) && \
update-java-alternatives -s java-1.8.0-openjdk-$(dpkg --print-architecture) && \
java -version 2>&1 | grep 'version "1[.]8' > /dev/null || exit 1

ARG MAKEFLAGS=-j4
Expand Down
6 changes: 3 additions & 3 deletions .github/scripts/build-base-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,15 @@ fi

case "${BASE_TAG}" in
*i386-debian-base)
BASE="i386/debian:bookworm"
BASE="i386/debian:trixie"
BASE_TYPE=debian-base
;;
*debian-base)
BASE="debian:bookworm"
BASE="debian:trixie"
BASE_TYPE=debian-base
;;
*ubuntu-base)
BASE="ubuntu:22.04"
BASE="ubuntu:24.04"
BASE_TYPE=ubuntu-base
;;
esac
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/reusable-sbom.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@ jobs:
FROM otp
RUN echo 'export PATH="\$HOME/.local/bin:\$PATH"' >> /home/otptest/.profile
RUN sudo apt-get install -y libicu-dev pip && \
pip install click==8.3.1 scancode-toolkit==${SCANCODE_VERSION} reuse && \
pip install -U ntia-conformance-checker
pip install --break-system-packages click==8.3.1 scancode-toolkit==${SCANCODE_VERSION} reuse && \
pip install --break-system-packages -U ntia-conformance-checker
EOF

- name: Restore from cache
Expand Down
2 changes: 1 addition & 1 deletion erts/emulator/beam/beam_bp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1618,7 +1618,7 @@ static void collect_timem_info(BpTimemTrace* bdt,
}
}

void erts_timem_info_consolidate()
void erts_timem_info_consolidate(void)
{
FinishTimemInfo *fin = &finish_timem_info;
GenericBpData *staging = &fin->g->data[erts_staging_bp_ix()];
Expand Down
2 changes: 2 additions & 0 deletions erts/emulator/beam/erl_bits.c
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,7 @@ erts_bs_get_binary_2(Process *p, Uint num_bits, ErlSubBits *sb)
return result;
}

#if !((SIZEOF__FLOAT16 == 2) && defined(FLOAT16_IS_CONVERTIBLE))
static ERTS_INLINE Uint16 f32_to_f16(float fp)
{
union {
Expand Down Expand Up @@ -531,6 +532,7 @@ static ERTS_INLINE float f16_to_f32(Uint16 fp)
u.u32 = res;
return u.f32;
}
#endif

Eterm
erts_bs_get_float_2(Process *p, Uint num_bits, unsigned flags, ErlSubBits *sb)
Expand Down
4 changes: 2 additions & 2 deletions erts/emulator/beam/erl_crash_dump.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ erl_crash_dump_init_envelope(EVP_PKEY *public_key,
free(key);
}

void erl_crash_dump_init() {
void erl_crash_dump_init(void) {
unsigned char iv[AES_256_CBC_IV_SIZE];
unsigned char *secret;
size_t secret_size;
Expand Down Expand Up @@ -339,7 +339,7 @@ crash_dump_encrypted_close(void *to_arg) {
}

#else /* !defined(ENCRYPTED_CRASH_DUMPS) */
void erl_crash_dump_init() {
void erl_crash_dump_init(void) {
/* Nothing to do. */
}
#endif
Expand Down
3 changes: 2 additions & 1 deletion erts/emulator/beam/erl_gc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1057,7 +1057,6 @@ garbage_collect_hibernate(Process* p, int check_long_gc)
stack_area_sz = stack_size * sizeof(Eterm);

erts_deallocate_young_generation(p);
erts_free(ERTS_ALC_T_TMP_HEAP, collection_heap);

p->heap = final_heap;
p->heap_sz = final_size;
Expand All @@ -1075,6 +1074,8 @@ garbage_collect_hibernate(Process* p, int check_long_gc)
stack_offset, stack_area, stack_area_sz,
p->arg_reg, p->arity);

erts_free(ERTS_ALC_T_TMP_HEAP, collection_heap);

if (erts_frame_layout == ERTS_FRAME_LAYOUT_FP_RA) {
FRAME_POINTER(p) += stack_offset;
}
Expand Down
10 changes: 5 additions & 5 deletions erts/emulator/beam/erl_lock_count.c
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ void lcnt_register_static_lock__(erts_lcnt_ref_t *reference, const char *name, E

/* - Initialization - */

void erts_lcnt_pre_thr_init() {
void erts_lcnt_pre_thr_init(void) {
/* Ensure that the dependency hack mentioned in the header doesn't
* explode at runtime. */
ERTS_CT_ASSERT(sizeof(LcntThrPrgrLaterOp) >= sizeof(ErtsThrPrgrLaterOp));
Expand All @@ -476,7 +476,7 @@ void erts_lcnt_pre_thr_init() {
lcnt_init_static_lock_registry();
}

void erts_lcnt_post_thr_init() {
void erts_lcnt_post_thr_init(void) {
/* ASSUMPTION: this is safe since it runs prior to the creation of other
* threads (Directly after ethread init). */

Expand All @@ -485,7 +485,7 @@ void erts_lcnt_post_thr_init() {
erts_lcnt_thread_setup();
}

void erts_lcnt_late_init() {
void erts_lcnt_late_init(void) {
/* Set start timer and zero all statistics */
erts_lcnt_clear_counters();
erts_thr_install_exit_handler(erts_lcnt_thread_exit_handler);
Expand All @@ -502,15 +502,15 @@ void erts_lcnt_post_startup(void) {
erts_lcnt_set_category_mask(ERTS_LOCK_FLAGS_MASK_CATEGORY);
}

void erts_lcnt_thread_setup() {
void erts_lcnt_thread_setup(void) {
lcnt_thread_data_t__ *eltd = lcnt_thread_data_alloc();

ASSERT(eltd);

ethr_tsd_set(lcnt_thr_data_key__, eltd);
}

void erts_lcnt_thread_exit_handler() {
void erts_lcnt_thread_exit_handler(void) {
lcnt_thread_data_t__ *eltd = lcnt_get_thread_data__();

if (eltd) {
Expand Down
16 changes: 6 additions & 10 deletions erts/emulator/beam/utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -1279,7 +1279,6 @@ int eq(Eterm a, Eterm b)
case EXTERNAL_PID_SUBTAG: {
ExternalThing *ap;
ExternalThing *bp;
int i;

if(!is_external(b))
goto not_equal;
Expand All @@ -1293,16 +1292,14 @@ int eq(Eterm a, Eterm b)
ASSERT(external_data_words(a) == EXTERNAL_PID_DATA_WORDS);
ASSERT(external_data_words(b) == EXTERNAL_PID_DATA_WORDS);

for (i = 0; i < EXTERNAL_PID_DATA_WORDS; i++) {
if (ap->data.ui[i] != bp->data.ui[i])
goto not_equal;
}
if (sys_memcmp(ap->data.ui, bp->data.ui,
EXTERNAL_PID_DATA_WORDS * sizeof(Uint)) != 0)
goto not_equal;
goto pop_next;
}
case EXTERNAL_PORT_SUBTAG: {
ExternalThing *ap;
ExternalThing *bp;
int i;

if(!is_external(b))
goto not_equal;
Expand All @@ -1316,10 +1313,9 @@ int eq(Eterm a, Eterm b)
ASSERT(EXTERNAL_PORT_DATA_WORDS == external_data_words(a));
ASSERT(EXTERNAL_PORT_DATA_WORDS == external_data_words(b));

for (i = 0; i < EXTERNAL_PORT_DATA_WORDS; i++) {
if (ap->data.ui[i] != bp->data.ui[i])
goto not_equal;
}
if (sys_memcmp(ap->data.ui, bp->data.ui,
EXTERNAL_PORT_DATA_WORDS * sizeof(Uint)) != 0)
goto not_equal;
goto pop_next;
}
case EXTERNAL_REF_SUBTAG: {
Expand Down
2 changes: 1 addition & 1 deletion erts/lib_src/yielding_c_fun/ycf_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ bool ycf_track_memory = false;
size_t ycf_memory_usage = 0;
size_t ycf_max_memory_usage = 0;

void ycf_enable_memory_tracking(){
void ycf_enable_memory_tracking(void){
ycf_track_memory = true;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/wx/configure
Original file line number Diff line number Diff line change
Expand Up @@ -8043,7 +8043,7 @@ int
main (void)
{

#if wxMAJOR_VERSION > 2 && (wxMINOR_VERSION == 0 || WXWIN_COMPATIBILITY_3_0 == 1)
#if wxMAJOR_VERSION > 2 && (wxMINOR_VERSION == 0 || wxMINOR_VERSION >= 2 || WXWIN_COMPATIBILITY_3_0 == 1)
;
#else
#error barf
Expand Down
2 changes: 1 addition & 1 deletion lib/wx/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -603,7 +603,7 @@ AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#include "wx/wx.h"
]], [[
#if wxMAJOR_VERSION > 2 && (wxMINOR_VERSION == 0 || WXWIN_COMPATIBILITY_3_0 == 1)
#if wxMAJOR_VERSION > 2 && (wxMINOR_VERSION == 0 || wxMINOR_VERSION >= 2 || WXWIN_COMPATIBILITY_3_0 == 1)
;
#else
#error barf
Expand Down
Loading