-
Notifications
You must be signed in to change notification settings - Fork 2.4k
PR2 for zOS support #7973
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PR2 for zOS support #7973
Conversation
assert.hpp - make MVS take the else block linenoise.cpp - include strings and sys/time tsd.cpp - include pthread and use pthread_equal
Maybe just disable jemalloc on zOS instead? |
With the patches in this PR, it goes through OK. |
@Mytherin Wise words indeed. |
Thanks - looks fine to me. Could you just fix the failing CI? |
CodeQuality - I'll push a commit for the format-check Windows - I see you were working on the ODBC tests, and the error is probably related to that (?) LinuxRelease - Fails on Deploy with for x in regex_include_statements:
included_file = x[1]
if skip_duckdb_includes and 'duckdb' in included_file:
continue
+ if ('pg_functions.cpp' or 'src_backend_parser_scansup.cpp' in fpath) and included_file == 'zos-tls.h':
+ continue
if 'extension_helper.cpp' in fpath and (included_file.endswith('_extension.hpp') or included_file == 'generated_extension_loader.hpp'):
continue With the first and then this PR, DuckDB compiles & works on zOS, but some tests from the unittest fail. Assuming that this is not the end of zOS support work, is the above solution acceptable? |
For the amalgamation builds the wrong include tags are likely used. |
- include zos-tls as a system header - update test/CMakeLists.txt for format.py
Awesome, thank you. Bringing this back to 'ready for review'. |
@Mytherin could you please check if this is ready for pull now. |
Could you merge with master so that the CI can run again? |
Thanks! |
I done goof'd with
lightweightsemaphore.h
in the first PR.Have verified that it builds fine with the unix block, so just using that.
My upstream PR to concurrentqueue does this correctly.
There's a situation with
jemalloc_internal_types.h
.For example, here's the related command from compiler_commands.json:
ctl.cpp is being built with clang++, ok.
However, it refers to the internal types header file, which looks for
__STDC_VERSION__
.At least on zOS, clang++ doesn't know about
__STDC_VERSION__
, so it goes down this path of thinking it's <199901L
.Have addressed this, but wanted to check if this requires any further investigation.