From e2ce483e0de62484f762e4e85b194fc4f228de44 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Fri, 20 Dec 2024 11:04:13 +0100 Subject: [BOX32][WRAPPER] Improved obstack handling --- src/include/myalign32.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/include') diff --git a/src/include/myalign32.h b/src/include/myalign32.h index 9ae11ecb..08b9d3ad 100755 --- a/src/include/myalign32.h +++ b/src/include/myalign32.h @@ -626,4 +626,35 @@ typedef struct my_ns_rr_32_s { ptr_t rdata; //const unsigned char * } my_ns_rr_32_t; +struct my_obstack_chunk_32_t +{ + ptr_t limit; //char * + ptr_t prev; //struct _obstack_chunk * + char contents[4]; +}; + +struct my_obstack_32_t +{ + long_t chunk_size; + ptr_t chunk; //struct _obstack_chunk * + ptr_t object_base; //char* + ptr_t next_free; //char* + ptr_t chunk_limit; //char* + union + { + int tempint; + ptr_t tempptr; //void* + } temp; + int alignment_mask; + ptr_t chunkfun; //struct _obstack_chunk *(*chunkfun) (void *, long); + ptr_t freefun; //void (*freefun) (void *, struct _obstack_chunk *); + ptr_t extra_arg;//void * + unsigned use_extra_arg : 1; + unsigned maybe_empty_object : 1; + unsigned alloc_failed : 1; +}; + +void convert_obstack_to_32(void* d, void* s); +void convert_obstack_to_64(void* d, void* s); + #endif//__MY_ALIGN32__H_ \ No newline at end of file -- cgit 1.4.1