[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in
From: |
anonymous |
Subject: |
[Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file |
Date: |
Thu, 24 Feb 2022 14:16:20 -0500 (EST) |
Follow-up Comment #19, bug #61821 (project octave):
It may be useful to use gdb to print the layout of the classes
"octave_user_function" and "octave_user_code" when time_t is 64 bit.
"time_t" is used in class "octave::sys::time". "octave_user_code" has two
members "m_t_parsed" and "m_t_checked" of type "octave::sys::time".
There is another macro _USE_32BIT_TIME_T that can be used to change the type
of time_t.
(gdb) ptype /o 'octave_user_function'
/* offset | size */ type = class octave_user_function : public
octave_user_code {
private:
/* 208 | 4 */ octave::tree_parameter_list *m_param_list;
/* 212 | 4 */ octave::tree_parameter_list *m_ret_list;
/* 216 | 4 */ octave::comment_list *m_lead_comm;
/* 220 | 4 */ octave::comment_list *m_trail_comm;
/* 224 | 4 */ int m_location_line;
/* 228 | 4 */ int m_location_column;
/* 232 | 4 */ int m_end_location_line;
/* 236 | 4 */ int m_end_location_column;
/* 240 | 1 */ bool m_system_fcn_file;
/* XXX 3-byte hole */
/* 244 | 4 */ int m_num_named_args;
/* 248 | 1 */ bool m_subfunction;
/* 249 | 1 */ bool m_inline_function;
/* 250 | 1 */ bool m_anonymous_function;
/* 251 | 1 */ bool m_nested_function;
/* 252 | 4 */ octave_user_function::class_method_type
m_class_constructor;
/* 256 | 4 */ octave_user_function::class_method_type
m_class_method;
static int t_id;
static const std::string t_name;
static const std::string c_name;
/* XXX 4-byte padding */
/* total size (bytes): 264 */
}
(gdb) ptype /o 'octave_user_code'
/* offset | size */ type = class octave_user_code : public
octave_function {
protected:
/* 132 | 8 */ class octave::symbol_scope {
private:
/* 132 | 8 */ class
std::shared_ptr<octave::symbol_scope_rep>
[with _Tp = octave::symbol_scope_rep]
: public std::__shared_ptr<_Tp, (__gnu_cxx::_Lock_policy)2> {
/* total size (bytes): 8 */
} m_rep;
/* total size (bytes): 8 */
} m_scope;
/* 140 | 24 */ std::string m_file_name;
/* XXX 4-byte hole */
/* 168 | 16 */ class octave::sys::time {
private:
/* 168 | 8 */ time_t m_ot_unix_time;
/* 176 | 4 */ long m_ot_usec;
/* XXX 4-byte padding */
/* total size (bytes): 16 */
} m_t_parsed;
/* 184 | 16 */ class octave::sys::time {
private:
/* 184 | 8 */ time_t m_ot_unix_time;
/* 192 | 4 */ long m_ot_usec;
/* XXX 4-byte padding */
/* total size (bytes): 16 */
} m_t_checked;
/* 200 | 4 */ octave::file_info *m_file_info;
/* 204 | 4 */ octave::tree_statement_list *m_cmd_list;
/* total size (bytes): 208 */
}
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?61821>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, Markus Mützel, 2022/02/22
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, anonymous, 2022/02/22
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, Markus Mützel, 2022/02/23
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, anonymous, 2022/02/23
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, anonymous, 2022/02/23
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, anonymous, 2022/02/24
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, John W. Eaton, 2022/02/24
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, Markus Mützel, 2022/02/24
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file,
anonymous <=
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, Markus Mützel, 2022/02/26
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, Markus Mützel, 2022/02/26
- [Octave-bug-tracker] [bug #61821] segfault using tree_parameter_list in oct file, Markus Mützel, 2022/02/27