Dump of assembler code for function main(): tests/vertex_setup.cpp: { 0x0000000000005890 <+0>: endbr64 0x0000000000005894 <+4>: push %r14 0x0000000000005896 <+6>: push %r13 0x0000000000005898 <+8>: push %r12 0x000000000000589a <+10>: push %rbp 0x000000000000589b <+11>: push %rbx 0x000000000000589c <+12>: sub $0x40,%rsp _build/_deps/glbase-src/include/glbase.hpp: GLBASE_GET_GLOBAL(int, debug) 0x00000000000058a0 <+16>: mov 0x11719(%rip),%r13 # 0x16fc0 tests/vertex_setup.cpp: { 0x00000000000058a7 <+23>: mov %fs:0x28,%rax 0x00000000000058b0 <+32>: mov %rax,0x38(%rsp) 0x00000000000058b5 <+37>: xor %eax,%eax include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x00000000000058b7 <+39>: test %r13,%r13 0x00000000000058ba <+42>: je 0x58c1 <main()+49> 0x00000000000058bc <+44>: call 0x3480 <TLS init function for GLBase::debug_@plt> 0x00000000000058c1 <+49>: mov $0xfffffffffffffff0,%r12 0x00000000000058c8 <+56>: mov %fs:(%r12),%r9d 0x00000000000058cd <+61>: test %r9d,%r9d 0x00000000000058d0 <+64>: jg 0x5a74 <main()+484> 0x00000000000058d6 <+70>: mov 0x116f3(%rip),%r14 # 0x16fd0 0x00000000000058dd <+77>: xor %r9d,%r9d 0x00000000000058e0 <+80>: xor %ecx,%ecx 0x00000000000058e2 <+82>: xor %edi,%edi 0x00000000000058e4 <+84>: mov $0x68,%r8d 0x00000000000058ea <+90>: mov $0x1406,%edx 0x00000000000058ef <+95>: mov $0x3,%esi 0x00000000000058f4 <+100>: call *(%r14) 0x00000000000058f7 <+103>: test %r13,%r13 0x00000000000058fa <+106>: je 0x5901 <main()+113> 0x00000000000058fc <+108>: call 0x3480 <TLS init function for GLBase::debug_@plt> 0x0000000000005901 <+113>: mov %fs:(%r12),%r8d 0x0000000000005906 <+118>: test %r8d,%r8d 0x0000000000005909 <+121>: jg 0x5c01 <main()+881> 0x000000000000590f <+127>: xor %ecx,%ecx 0x0000000000005911 <+129>: mov $0xc,%r9d 0x0000000000005917 <+135>: mov $0x68,%r8d 0x000000000000591d <+141>: mov $0x1406,%edx 0x0000000000005922 <+146>: mov $0x2,%esi 0x0000000000005927 <+151>: mov $0x1,%edi 0x000000000000592c <+156>: call *(%r14) GLTRAITS_VALUE_MATRIXS(glm::mat, FLOAT, glm::value_ptr, GL_FALSE, 32F, f, , , KEEP) 0x000000000000592f <+159>: test %r13,%r13 0x0000000000005932 <+162>: je 0x5939 <main()+169> 0x0000000000005934 <+164>: call 0x3480 <TLS init function for GLBase::debug_@plt> 0x0000000000005939 <+169>: mov %fs:(%r12),%edi 0x000000000000593e <+174>: test %edi,%edi 0x0000000000005940 <+176>: jg 0x5bca <main()+826> tests/vertex_setup.cpp: { 0x0000000000005946 <+182>: mov $0x14,%ebx 0x000000000000594b <+187>: mov $0x2,%ebp include/gltraits.hpp: GLTRAITS_VALUE_MATRIXS(glm::mat, FLOAT, glm::value_ptr, GL_FALSE, 32F, f, , , KEEP) 0x0000000000005950 <+192>: mov %rbx,%r9 0x0000000000005953 <+195>: add $0xc,%rbx 0x0000000000005957 <+199>: mov %ebp,%edi 0x0000000000005959 <+201>: mov $0x68,%r8d 0x000000000000595f <+207>: xor %ecx,%ecx 0x0000000000005961 <+209>: mov $0x1406,%edx 0x0000000000005966 <+214>: mov $0x3,%esi 0x000000000000596b <+219>: add $0x1,%ebp 0x000000000000596e <+222>: call *(%r14) 0x0000000000005971 <+225>: cmp $0x38,%rbx 0x0000000000005975 <+229>: jne 0x5950 <main()+192> GLTRAITS_VALUE_VECTOR( glm::ivec, INT, glm::value_ptr, 32I, i, I, _INTEGER, OMIT, 2, 0, 3, 0, {}, {}) 0x0000000000005977 <+231>: test %r13,%r13 0x000000000000597a <+234>: je 0x5981 <main()+241> 0x000000000000597c <+236>: call 0x3480 <TLS init function for GLBase::debug_@plt> 0x0000000000005981 <+241>: mov %fs:(%r12),%esi 0x0000000000005986 <+246>: test %esi,%esi 0x0000000000005988 <+248>: jg 0x5b93 <main()+771> 0x000000000000598e <+254>: mov $0x38,%r8d 0x0000000000005994 <+260>: mov $0x68,%ecx 0x0000000000005999 <+265>: mov $0x1404,%edx 0x000000000000599e <+270>: mov 0x11633(%rip),%rbx # 0x16fd8 0x00000000000059a5 <+277>: mov $0x4,%esi 0x00000000000059aa <+282>: mov $0x5,%edi 0x00000000000059af <+287>: call *(%rbx) GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x00000000000059b1 <+289>: test %r13,%r13 0x00000000000059b4 <+292>: je 0x59bb <main()+299> 0x00000000000059b6 <+294>: call 0x3480 <TLS init function for GLBase::debug_@plt> 0x00000000000059bb <+299>: mov %fs:(%r12),%ecx 0x00000000000059c0 <+304>: test %ecx,%ecx 0x00000000000059c2 <+306>: jg 0x5b5c <main()+716> 0x00000000000059c8 <+312>: xor %ecx,%ecx 0x00000000000059ca <+314>: mov $0x48,%r9d 0x00000000000059d0 <+320>: mov $0x68,%r8d 0x00000000000059d6 <+326>: mov $0x1406,%edx 0x00000000000059db <+331>: mov $0x4,%esi 0x00000000000059e0 <+336>: mov $0x6,%edi 0x00000000000059e5 <+341>: call *(%r14) GLTRAITS_VALUE_SCALAR( GLubyte, UNSIGNED_BYTE, UNSIGNED_INT, 8UI, ui, I, _INTEGER, OMIT, 3, 0, 3, 0, {}, {}) 0x00000000000059e8 <+344>: test %r13,%r13 0x00000000000059eb <+347>: je 0x59f2 <main()+354> 0x00000000000059ed <+349>: call 0x3480 <TLS init function for GLBase::debug_@plt> 0x00000000000059f2 <+354>: mov %fs:(%r12),%edx 0x00000000000059f7 <+359>: test %edx,%edx 0x00000000000059f9 <+361>: jg 0x5b25 <main()+661> 0x00000000000059ff <+367>: mov $0x58,%r8d 0x0000000000005a05 <+373>: mov $0x68,%ecx 0x0000000000005a0a <+378>: mov $0x1401,%edx 0x0000000000005a0f <+383>: mov $0x1,%esi 0x0000000000005a14 <+388>: mov $0x7,%edi 0x0000000000005a19 <+393>: call *(%rbx) GLTRAITS_VALUE_SCALAR( GLushort, UNSIGNED_SHORT, UNSIGNED_INT, 16UI, ui, I, _INTEGER, OMIT, 3, 0, 3, 0, {}, {}) GLTRAITS_VALUE_SCALAR( GLuint, UNSIGNED_INT, UNSIGNED_INT, 32UI, ui, I, _INTEGER, OMIT, 3, 0, 3, 0, {}, {}) GLTRAITS_VALUE_SCALAR( GLdouble, DOUBLE, DOUBLE, ED, d, L, , OMIT, 4, 0, 4, 1, "GL_ARB_gpu_shader_fp64", "GL_ARB_vertex_attrib_64bit") 0x0000000000005a1b <+395>: test %r13,%r13 0x0000000000005a1e <+398>: je 0x5a25 <main()+405> 0x0000000000005a20 <+400>: call 0x3480 <TLS init function for GLBase::debug_@plt> 0x0000000000005a25 <+405>: mov %fs:(%r12),%eax 0x0000000000005a2a <+410>: test %eax,%eax 0x0000000000005a2c <+412>: jg 0x5aab <main()+539> 0x0000000000005a2e <+414>: mov $0x60,%r8d 0x0000000000005a34 <+420>: mov $0x68,%ecx 0x0000000000005a39 <+425>: mov $0x140a,%edx 0x0000000000005a3e <+430>: mov 0x1156b(%rip),%rax # 0x16fb0 0x0000000000005a45 <+437>: mov $0x1,%esi 0x0000000000005a4a <+442>: mov $0x8,%edi 0x0000000000005a4f <+447>: call *(%rax) tests/vertex_setup.cpp: } 0x0000000000005a51 <+449>: mov 0x38(%rsp),%rax 0x0000000000005a56 <+454>: sub %fs:0x28,%rax 0x0000000000005a5f <+463>: jne 0x5c38 <main()+936> 0x0000000000005a65 <+469>: add $0x40,%rsp 0x0000000000005a69 <+473>: xor %eax,%eax 0x0000000000005a6b <+475>: pop %rbx 0x0000000000005a6c <+476>: pop %rbp 0x0000000000005a6d <+477>: pop %r12 0x0000000000005a6f <+479>: pop %r13 0x0000000000005a71 <+481>: pop %r14 0x0000000000005a73 <+483>: ret /usr/include/c++/11/bits/basic_string.h: : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005a74 <+484>: lea 0x10(%rsp),%rbp 0x0000000000005a79 <+489>: lea 0x20(%rsp),%rax include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x0000000000005a7e <+494>: mov $0x2,%edi /usr/include/c++/11/bits/basic_string.h: { _M_string_length = __length; } 0x0000000000005a83 <+499>: movq $0x0,0x18(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x0000000000005a8c <+508>: mov %rbp,%rsi /usr/include/c++/11/bits/basic_string.h: : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005a8f <+511>: mov %rax,0x10(%rsp) /usr/include/c++/11/bits/char_traits.h: { __c1 = __c2; } 0x0000000000005a94 <+516>: movb $0x0,0x20(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x0000000000005a99 <+521>: call 0xebc0 <GLBase::check_supported(std::array<int, 2ul>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> /usr/include/c++/11/bits/basic_string.h: { _M_dispose(); } 0x0000000000005a9e <+526>: mov %rbp,%rdi 0x0000000000005aa1 <+529>: call 0x3710 <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()@plt> 0x0000000000005aa6 <+534>: jmp 0x58d6 <main()+70> basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) 0x0000000000005aab <+539>: lea 0x10(%rsp),%rbp 0x0000000000005ab0 <+544>: lea 0x20(%rsp),%rax /usr/include/c++/11/bits/basic_string.tcc: _M_data(_M_create(__dnew, size_type(0))); 0x0000000000005ab5 <+549>: xor %edx,%edx size_type __dnew = static_cast<size_type>(std::distance(__beg, __end)); 0x0000000000005ab7 <+551>: movq $0x1a,0x8(%rsp) if (__dnew > size_type(_S_local_capacity)) { _M_data(_M_create(__dnew, size_type(0))); 0x0000000000005ac0 <+560>: lea 0x8(%rsp),%rsi 0x0000000000005ac5 <+565>: mov %rbp,%rdi /usr/include/c++/11/bits/basic_string.h: : allocator_type(__a), _M_p(__dat) { } 0x0000000000005ac8 <+568>: mov %rax,0x10(%rsp) /usr/include/c++/11/bits/basic_string.tcc: basic_string<_CharT, _Traits, _Alloc>:: 0x0000000000005acd <+573>: call 0x38a0 <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long)@plt> _M_capacity(__dnew); } // Check for out_of_range and length_error exceptions. __try { this->_S_copy_chars(_M_data(), __beg, __end); } 0x0000000000005ad2 <+578>: lea 0xb545(%rip),%rdx # 0x1101e _M_data(_M_create(__dnew, size_type(0))); 0x0000000000005ad9 <+585>: mov %rax,%rdi /usr/include/c++/11/bits/basic_string.h: { _M_dataplus._M_p = __p; } 0x0000000000005adc <+588>: mov %rax,0x10(%rsp) pointer _M_data() const { return _M_dataplus._M_p; } pointer _M_local_data() { #if __cplusplus >= 201103L return std::pointer_traits<pointer>::pointer_to(*_M_local_buf); #else return pointer(_M_local_buf); #endif } const_pointer _M_local_data() const { #if __cplusplus >= 201103L return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf); #else return const_pointer(_M_local_buf); #endif } void _M_capacity(size_type __capacity) { _M_allocated_capacity = __capacity; } 0x0000000000005ae1 <+593>: mov 0x8(%rsp),%rax /usr/include/c++/11/bits/basic_string.tcc: { this->_S_copy_chars(_M_data(), __beg, __end); } 0x0000000000005ae6 <+598>: lea -0x1a(%rdx),%rsi /usr/include/c++/11/bits/basic_string.h: { _M_allocated_capacity = __capacity; } 0x0000000000005aea <+602>: mov %rax,0x20(%rsp) /usr/include/c++/11/bits/basic_string.tcc: { this->_S_copy_chars(_M_data(), __beg, __end); } 0x0000000000005aef <+607>: call 0x36c0 <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char const*, char const*)@plt> __catch(...) { _M_dispose(); __throw_exception_again; } _M_set_length(__dnew); 0x0000000000005af4 <+612>: mov 0x8(%rsp),%rax /usr/include/c++/11/bits/char_traits.h: { __c1 = __c2; } 0x0000000000005af9 <+617>: mov 0x10(%rsp),%rdx include/gltraits.hpp: GLTRAITS_VALUE_SCALAR( GLdouble, DOUBLE, DOUBLE, ED, d, L, , OMIT, 4, 0, 4, 1, "GL_ARB_gpu_shader_fp64", "GL_ARB_vertex_attrib_64bit") 0x0000000000005afe <+622>: mov %rbp,%rsi 0x0000000000005b01 <+625>: mov $0x40000001,%edi /usr/include/c++/11/bits/basic_string.h: { _M_string_length = __length; } 0x0000000000005b06 <+630>: mov %rax,0x18(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_SCALAR( GLdouble, DOUBLE, DOUBLE, ED, d, L, , OMIT, 4, 0, 4, 1, "GL_ARB_gpu_shader_fp64", "GL_ARB_vertex_attrib_64bit") 0x0000000000005b0b <+635>: shl $0x2,%rdi /usr/include/c++/11/bits/char_traits.h: { __c1 = __c2; } 0x0000000000005b0f <+639>: movb $0x0,(%rdx,%rax,1) include/gltraits.hpp: GLTRAITS_VALUE_SCALAR( GLdouble, DOUBLE, DOUBLE, ED, d, L, , OMIT, 4, 0, 4, 1, "GL_ARB_gpu_shader_fp64", "GL_ARB_vertex_attrib_64bit") 0x0000000000005b13 <+643>: call 0xebc0 <GLBase::check_supported(std::array<int, 2ul>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> /usr/include/c++/11/bits/basic_string.h: { _M_dispose(); } 0x0000000000005b18 <+648>: mov %rbp,%rdi 0x0000000000005b1b <+651>: call 0x3710 <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()@plt> 0x0000000000005b20 <+656>: jmp 0x5a2e <main()+414> : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005b25 <+661>: lea 0x10(%rsp),%rbp 0x0000000000005b2a <+666>: lea 0x20(%rsp),%rax include/gltraits.hpp: GLTRAITS_VALUE_SCALAR( GLubyte, UNSIGNED_BYTE, UNSIGNED_INT, 8UI, ui, I, _INTEGER, OMIT, 3, 0, 3, 0, {}, {}) 0x0000000000005b2f <+671>: mov $0x3,%edi /usr/include/c++/11/bits/basic_string.h: { _M_string_length = __length; } 0x0000000000005b34 <+676>: movq $0x0,0x18(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_SCALAR( GLubyte, UNSIGNED_BYTE, UNSIGNED_INT, 8UI, ui, I, _INTEGER, OMIT, 3, 0, 3, 0, {}, {}) 0x0000000000005b3d <+685>: mov %rbp,%rsi /usr/include/c++/11/bits/basic_string.h: : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005b40 <+688>: mov %rax,0x10(%rsp) /usr/include/c++/11/bits/char_traits.h: { __c1 = __c2; } 0x0000000000005b45 <+693>: movb $0x0,0x20(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_SCALAR( GLubyte, UNSIGNED_BYTE, UNSIGNED_INT, 8UI, ui, I, _INTEGER, OMIT, 3, 0, 3, 0, {}, {}) 0x0000000000005b4a <+698>: call 0xebc0 <GLBase::check_supported(std::array<int, 2ul>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> /usr/include/c++/11/bits/basic_string.h: { _M_dispose(); } 0x0000000000005b4f <+703>: mov %rbp,%rdi 0x0000000000005b52 <+706>: call 0x3710 <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()@plt> 0x0000000000005b57 <+711>: jmp 0x59ff <main()+367> : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005b5c <+716>: lea 0x10(%rsp),%rbp 0x0000000000005b61 <+721>: lea 0x20(%rsp),%rax include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x0000000000005b66 <+726>: mov $0x2,%edi /usr/include/c++/11/bits/basic_string.h: { _M_string_length = __length; } 0x0000000000005b6b <+731>: movq $0x0,0x18(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x0000000000005b74 <+740>: mov %rbp,%rsi /usr/include/c++/11/bits/basic_string.h: : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005b77 <+743>: mov %rax,0x10(%rsp) /usr/include/c++/11/bits/char_traits.h: { __c1 = __c2; } 0x0000000000005b7c <+748>: movb $0x0,0x20(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x0000000000005b81 <+753>: call 0xebc0 <GLBase::check_supported(std::array<int, 2ul>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> /usr/include/c++/11/bits/basic_string.h: { _M_dispose(); } 0x0000000000005b86 <+758>: mov %rbp,%rdi 0x0000000000005b89 <+761>: call 0x3710 <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()@plt> 0x0000000000005b8e <+766>: jmp 0x59c8 <main()+312> : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005b93 <+771>: lea 0x10(%rsp),%rbp 0x0000000000005b98 <+776>: lea 0x20(%rsp),%rax include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::ivec, INT, glm::value_ptr, 32I, i, I, _INTEGER, OMIT, 2, 0, 3, 0, {}, {}) 0x0000000000005b9d <+781>: mov $0x3,%edi /usr/include/c++/11/bits/basic_string.h: { _M_string_length = __length; } 0x0000000000005ba2 <+786>: movq $0x0,0x18(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::ivec, INT, glm::value_ptr, 32I, i, I, _INTEGER, OMIT, 2, 0, 3, 0, {}, {}) 0x0000000000005bab <+795>: mov %rbp,%rsi /usr/include/c++/11/bits/basic_string.h: : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005bae <+798>: mov %rax,0x10(%rsp) /usr/include/c++/11/bits/char_traits.h: { __c1 = __c2; } 0x0000000000005bb3 <+803>: movb $0x0,0x20(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::ivec, INT, glm::value_ptr, 32I, i, I, _INTEGER, OMIT, 2, 0, 3, 0, {}, {}) 0x0000000000005bb8 <+808>: call 0xebc0 <GLBase::check_supported(std::array<int, 2ul>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> /usr/include/c++/11/bits/basic_string.h: { _M_dispose(); } 0x0000000000005bbd <+813>: mov %rbp,%rdi 0x0000000000005bc0 <+816>: call 0x3710 <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()@plt> 0x0000000000005bc5 <+821>: jmp 0x598e <main()+254> : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005bca <+826>: lea 0x10(%rsp),%rbp 0x0000000000005bcf <+831>: lea 0x20(%rsp),%rax include/gltraits.hpp: GLTRAITS_VALUE_MATRIXS(glm::mat, FLOAT, glm::value_ptr, GL_FALSE, 32F, f, , , KEEP) 0x0000000000005bd4 <+836>: mov $0x2,%edi /usr/include/c++/11/bits/basic_string.h: { _M_string_length = __length; } 0x0000000000005bd9 <+841>: movq $0x0,0x18(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_MATRIXS(glm::mat, FLOAT, glm::value_ptr, GL_FALSE, 32F, f, , , KEEP) 0x0000000000005be2 <+850>: mov %rbp,%rsi /usr/include/c++/11/bits/basic_string.h: : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005be5 <+853>: mov %rax,0x10(%rsp) /usr/include/c++/11/bits/char_traits.h: { __c1 = __c2; } 0x0000000000005bea <+858>: movb $0x0,0x20(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_MATRIXS(glm::mat, FLOAT, glm::value_ptr, GL_FALSE, 32F, f, , , KEEP) 0x0000000000005bef <+863>: call 0xebc0 <GLBase::check_supported(std::array<int, 2ul>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> /usr/include/c++/11/bits/basic_string.h: { _M_dispose(); } 0x0000000000005bf4 <+868>: mov %rbp,%rdi 0x0000000000005bf7 <+871>: call 0x3710 <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()@plt> 0x0000000000005bfc <+876>: jmp 0x5946 <main()+182> : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005c01 <+881>: lea 0x10(%rsp),%rbp 0x0000000000005c06 <+886>: lea 0x20(%rsp),%rax include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x0000000000005c0b <+891>: mov $0x2,%edi /usr/include/c++/11/bits/basic_string.h: { _M_string_length = __length; } 0x0000000000005c10 <+896>: movq $0x0,0x18(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x0000000000005c19 <+905>: mov %rbp,%rsi /usr/include/c++/11/bits/basic_string.h: : allocator_type(std::move(__a)), _M_p(__dat) { } 0x0000000000005c1c <+908>: mov %rax,0x10(%rsp) /usr/include/c++/11/bits/char_traits.h: { __c1 = __c2; } 0x0000000000005c21 <+913>: movb $0x0,0x20(%rsp) include/gltraits.hpp: GLTRAITS_VALUE_VECTOR( glm::vec, FLOAT, glm::value_ptr, 32F, f, , , KEEP, 2, 0, 2, 0, {}, {}) 0x0000000000005c26 <+918>: call 0xebc0 <GLBase::check_supported(std::array<int, 2ul>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> /usr/include/c++/11/bits/basic_string.h: { _M_dispose(); } 0x0000000000005c2b <+923>: mov %rbp,%rdi 0x0000000000005c2e <+926>: call 0x3710 <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()@plt> 0x0000000000005c33 <+931>: jmp 0x590f <main()+127> tests/vertex_setup.cpp: } 0x0000000000005c38 <+936>: call 0x36e0 <__stack_chk_fail@plt> 0x0000000000005c3d <+941>: endbr64 /usr/include/c++/11/bits/basic_string.h: { _M_dispose(); } 0x0000000000005c41 <+945>: mov %rax,%r12 0x0000000000005c44 <+948>: jmp 0x5c6a <main()+986> 0x0000000000005c46 <+950>: endbr64 0x0000000000005c4a <+954>: jmp 0x5c41 <main()+945> 0x0000000000005c4c <+956>: endbr64 0x0000000000005c50 <+960>: jmp 0x5c41 <main()+945> 0x0000000000005c52 <+962>: endbr64 0x0000000000005c56 <+966>: jmp 0x5c41 <main()+945> 0x0000000000005c58 <+968>: endbr64 0x0000000000005c5c <+972>: jmp 0x5c41 <main()+945> 0x0000000000005c5e <+974>: endbr64 0x0000000000005c62 <+978>: jmp 0x5c41 <main()+945> 0x0000000000005c64 <+980>: endbr64 0x0000000000005c68 <+984>: jmp 0x5c41 <main()+945> 0x0000000000005c6a <+986>: mov %rbp,%rdi 0x0000000000005c6d <+989>: call 0x3710 <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()@plt> 0x0000000000005c72 <+994>: mov %r12,%rdi 0x0000000000005c75 <+997>: call 0x3890 <_Unwind_Resume@plt> End of assembler dump.